Senin, 02 Maret 2020

Summary Pointer, Array & Linked List

DATA STRUCTURE

  • Pointer & Array
  • Linked List
Data Structure : Bagaimana cara mengolah data yang bergerak secara efektif dan efisien. 

POINTER & ARRAY

  • POINTER
Sebuah variabel yang bertugas untuk menunjuk. 

Setiap variabel pada C mempunyai sebuah nilai dan juga lokasi / alamat memori dan setiap compiler memiliki cara akses memori yang berbeda. Ketika variabel dideklarasi, suatu blok spesifik memori pada komputer akan dialokasikan untuk mempertahankan suatu niali(value). Size dari Integer dapat berbeda dari satu sistem ke sistem lainnya. Pada sistem 32 bit, suatu variabel Integer dialokasikan 4 bytes. Jika pada sistem 16 bit, dialokasikan 2 bytes.

Terdapat 2 operator penting pointer :

1. & -> the address operator(menyatakan posisi)
2. * -> the dereferencing operator(menyatakan isinya)

Pointer digunakan untuk membuat struktur data yang kompleks, yaitu trees, linked list, linked stack, linked queue, and graphs. Pointer menggunakan Dynamic Memory Allocation. Contoh : Belanja di online shop dan pesan makanan online.

  • ARRAY
Mengapa indeks array dimulai dari nol[0]?
Jika indeks mulai dari 1[1] maka memori yang dipakai tidak akan efisien.

Array merupakan sekumpulan dari elemen yang memiliki tipe data yang sama. Antara satu variabel dengan variabel lain di dalamnya dibedakan berdasarkan Subscript. Di mana, Subscript merupakan suatu bilangan dalam kurung siku [].

Contoh penggunaan Array : 

int Arr[10]

Artinya, array mempunyai indeks dari [0-9] yang merupakan sekumpulan data bertipe data integer.

  • LINKED LIST
Linked List -> Harus terdapat pointer next yang berhubungan.
                   -> Posisinya random (yang menunjukkan di mana posisinya adalah pointer next).

Terdapat Single Linked List dan Double Linked List.

1. Single Linked List -> Tak dapat berbalik (hanya 1 arah). Maka, dibuat prev. agar dapat berbalik di                                         mana salah satu menunjuk ke NULL dan satu lagi menunjuk ke yang lain.

2. Double Linked List -> Linked list dengan node yang memiliki data dan dua buah reference link                                               (biasanya disebut next dan prev) yang menunjuk ke node sebelum dan node                                           sesudahnya.


Linked List Vs Array

Linked List -> Dynamic Memory Allocation (Malloc : Mengembalikan void*, maka membutuhkan                                                                              typecasting).

Linked List sangatlah berguna, karena kita tak bisa membatasi jumlah user.


            





Tidak ada komentar:

Posting Komentar