Home

Get cash from your website. Sign up as affiliate

09 Juni 2009

Tips memahami Linked List

MySpace
Tips memahami link list

Tips ini aQ dapetin dari iseng" browsing di om GoogLe...trs nemu deh tips ini salah satu web someone in google...

TIPS 1.
Pahami konsep dasar Linked List.
Singkat cerita, linked list (LL) adalah identik dengan array/ larik. LL merupakan struktur data yang bisa menyimpan rangkaian data secara dinamis. Dinamis karena bisa ditambah dan dikurangi sesuai kebutuhan program. Dengan demikian ketika kita bicara linked list maka bayangkan bahwa ia secara fisik hampir sama ilustrasinya dengan tipe data array, yaitu deretan kotak elemen yang memanjang. Bedanya, klo array itu kotaknya berdempetan, sedangkan linked list kotak-kotaknya (node/simpul) nanti terhubung dengan minimal sebuah garis panah (pointer).


TIPS 2.
Gambar dulu ilustrasinya.
LL itu abstrak, namun bisa kita buat gambaran prosesnya. Bagian yang paling rumit dalam LL adalah merangkai simpul satu dengan simpul lainnya sehingga terbentuklah LL dan menjamin masih terhubungnya seluruh rangkaian node meskipun terjadi penambahan node baru maupun penghapusan node lama di posisi manapun (depan, belakang atau tengah). Untuk itu sebelum kita menulis baris perintah code program untuk operasi-operasi LL alangkah lebih baiknya jika kita awali dengan menggambarkan dulu ilustrasinya. Baik untuk kondisi LL masih baru berupa satu node, dua node maupun banyak node. Selain itu juga ketika LL dalam mode operasi penambahan maupun penghapusan node. Pastikan kita sudah menggambarkan dengan benar tentang perubahan-perubahan terhadap kondisi panah penghubung. Sebelumnya begini, setelah proses jadi begitu. Misal, yang semula bernilai NULL alias nggak kemana-mana, setelah penambahan menjadi terhubung ke simpul terdepan.
baru->next = head;
Atau bisa juga misalnya yang semula menunjuk ke simpul X berubah dialihkan menunjuk ke simpul Y karena simpul X akan dihapus, dst.
if (temp->next == X)
{
temp->next = Y;
free(X);
}
Jadi ilustrasikan dulu skema prosesnya, baru tuliskan codingnya.

TIPS 3. Jangan takut mencoba.
Practice make perfect. Silahkan dicoba berbagai macam skenario yang mungkin terjadi. Tambah di depan, tambah di belakang atau sisipkan di tengah. Hapus simpul di tengah, hapus simpul yang di belakang sendiri atau hapus simpul yang terdepan. Bagaimana pula klo LL-nya adalah Double, artinya punya dua pointer (panah penghubung) sehingga sebuah simpul bisa membaca simpul berikutnya dan juga simpul sebelumnya. Silahkan dicoba itu semua. Siapkan selembar kertas untuk menggambarkan ilustrasi prosesnya. Pasti akan asyik dan menarik

Tidak ada komentar: