Skip to main content

Linked List


Christophorus Wilson Sucahyo
2301869273

Pointer
Pointer is used to pass information back and forth between a function and its reference points.
Pointer dapat menyimpan alamat memory dan menyimpan sebuah value.
Ex.
Int *p, a = 10;
p = &a;
*p=3;
Maka di value di variable a akan berubah menjadi 3.

Array
Kita dapat menginisialisasi elemen untuk disimpan di dalam array, menginput elemen melalui program, atau memasukan elemen.
Ex.
Inisialisasi elemen
Int angka[3] = {3, 2, 1};

Input elemen
Int angka[3];
for(int index=0;index<3;index++){
scanf(“%d”, &angka[index]);
}

Memasukan elemen
Int angka1[3] = {3, 2, 1};
Int angka2[3];
for(int i=0;i<3;i++){
angka2[i]=angka1[i];
}

Structure
Structure adalah tipe data yang dibuat sendiri oleh user yang dapat menyimpan banyak tipe data sekaligus.
Ex.
Struct mahasiswa{
Int age;
Char nama[30];
Char nim[10];
Double gpa;
};

mahasiswa y; // artinya sebuah variabel dari struct mahasiswa
mahasiswa array[10]; // artinya sebuah array dari struct mahasiswa berjumlah 10

Nested Structure
Struct mahasiswa{
Int age;
Char nama[30];
Char nim[10];
Double gpa;
};
Struct address[
Struct mahasiswa k;
char alamat[50];
};

Tipe Struktur Data
Array : kumpulan elemen bertipe data sama
Linked List : struktur data yang dinamis dan dapat dimanipulasi dengan mudah
Queue : FIFO  (first in first out). Artinya elemen yang dimasukan pertama akan menjadi yang pertama dikeluarkan juga
Stacks : LIFO (last in first out) / FILO (first in last out). Artinya elemen yang dimasukan pertama akan menjadi yang terakhir keluar dan begitu juga sebaliknya.
Binary Trees : Struktur data berupa kumpulan elemen yang disebut nodes. Setiap node memiliki pointer kiri, pointer kanan, dan sebuah elemen data.

Linked List
Linked list adalah struktur data yang didalamnya terdapat sequence data yang sudah disimpan. Di setiap datanya terdapat penanda yang mengarahkan ke data selanjutnya.
Terdapat method insertion dan deletion linked list.



Single Linked List




Gambar diatas merupakan contoh dari linked list.
Setiap data memiliki 2 space, satu untuk value, satu untuk link menuju ke data selanjutnya.
Di data terakhir akan memiliki link menuju NULL value.

Circular Single Linked List
Bedanya dengan single linked list adalah data terakhir akan memiliki link menuju data pertama.

Double Linked List


Setiap data memiliki link yang menghubungkan data tersebut dengan data selanjutnya dan data sebelumnya.

Circular Double Linked List
Di data terakhir memiliki link yang menghubungkan data tersebut menuju ke data pertama.

Comments

Popular posts from this blog

AVL Tree Summary

Christophorus Wilson 2301869273 AVL Tree adalah Binary Search Tree yang bentuknya lebih diseimbangkan. Dengan adanya AVL Tree, pencarian suatu data akan membutuhkan waktu yang lebih singkat. Di dalam AVL Tree, terdapat istilah yang disebut balance factor. Balance factor adalah variabel yang berfungsi untuk mengecek apakah suatu bagian di AVL Tree telah seimbang atau belum. Cara mendapatkan balance factor adalah dengan mencari selisih kedalaman antara subtree kiri dan subtree kanan suatu node. Sebuah node dikatakan seimbang apabila balance factornya tidak lebih dari 1. Berikut adalah contoh dari balance factor Insertion Operasi insertion pada AVL Tree dilakukan seperti pada BST biasa, namun akan ditambahkan function untuk menyeimbangkan AVL Tree nya. Dalam menyeimbangkan AVL Tree, terdapat 4 kemungkinan yang dapat terjadi. Misalkan node yang akan diseimbangkan adalah X 1. Node terdalam berada di subtree kiri dari anak kiri node X. 2. Node terdalam berada di subtree k...