2-Linked List Implementation

1. Jenis - Jenis Linked List
    -Single Linked List
      Linked List yang setiap nodenya hanya memiliki satu pointer, yaitu *next.
    -Polynomial Representation
     Setiap istilah individual di dalam polinomial terdiri dari dua bagian, yaitu koefisien dan pangkat, setiap istilah dapat diwakili sebagai node dari Linked List
    -Circular Single Linked List
      Linked List yang tidak memiliki ujung atau seperti sirkuit, yang berarti tail akan kembali menunjuk  head.
    -Double Linked List
      Linked List yang setiap nodenya memiliki dua pointer, yaitu*prev dan *next.
    -Circular Double Linked List
      Sama halnya dengan "Circular Single Linked List", yang membedakannya adalah setiap node memiliki dua pointer sehingga tail dapat menunjuk head dan begitu juga sebaliknya.
    -Header Linked List
     Linked List yang diawali dengan node header, sehingga header dimulai dengan tidak  menunjuk node, tetapi akan berisi alamat dari node header.

2. Single Linked List
    Contoh code dari Single Linked List adalah sebagai berikut:
    
     Jika kita ingin menambah data baru, berarti kita harus membuat alokasi data secara dinamis pada node baru dan menetapkan nilainya dan hubungkan dengan list yang ada.
     
     Jadi dapat digambarkan seperti ini:
    a. Penambahan data
     Penambahan data pada single linked list dapat dilakukan dengan beberapa cara sebagai berikut:
     - Penambahan node baru di depan (head)
     - Penambahan node baru di belakang (tail)
     - Penambahan node setelah node tertentu
     - Penambahan node sebelum node tertentu

     Ilustrasi penambahan data adalah sebagai berikut:
     

    b. Penghapusan data
    Ada dua kemungkinan ketika kita hendak menghapus list, yaitu:
    - ketika data ada di head

     


    - ketika data tidak ada di head

     


     3. Double Linked List
     Contoh code double linked list adalah sebagai berikut:

     
     Jika kita ingin menambah data baru, berarti kita harus membuat alokasi data secara dinamis pada node baru dan menetapkan nilainya dan hubungkan dengan list yang ada.
     
     a. Penambahan data
      Contoh code penambahan data double linked list adalah sebagai berikut:

      
     b. Penghapusan data
      Ada beberapa kondisi penghapusan data, yaitu:
      - data yang akan dihapus adalah satu-satunya data yang ada di list
      
      - data yang akan dihapus adalah head
      
      - data yang akan dihapus adalah tail
      
      - data yang akan dihapus bukan sebagai head atau tail
      

Comments

Popular posts from this blog

1-Array & Linked List

5-Binary Search Tree