Lompat ke konten Lompat ke sidebar Lompat ke footer

Tipe Struktur Data

Tipe Struktur Data sederhana misalnya Array, untuk Struktur Data majemuk untuk yang Linier Stack, Queue dan Linier Linked List, sedangkan untuk Nonlinier adalah Binary Tree, Binary Seach tree, Graph.


Arrays
Array adalah struktur ukuran tetap, yang dapat menampung item dengan tipe data yang sama.

Operasi Array
  • Traverse: Telusuri elemen-elemen dan cetaklah.
  • Cari: Mencari elemen dalam array. Anda dapat mencari elemen berdasarkan nilainya atau indeksnya
  • Pembaruan: Perbarui nilai elemen yang ada pada indeks yang diberikan

Memasukkan elemen ke array dan menghapus elemen dari array tidak dapat langsung dilakukan karena array memiliki ukuran yang tetap. Jika Anda ingin menyisipkan elemen ke array, pertama-tama Anda harus membuat array baru dengan peningkatan ukuran (ukuran saat ini + 1), salin elemen yang ada dan tambahkan elemen baru. Hal yang sama berlaku untuk penghapusan dengan array baru ukuran yang diperkecil.


Penerapan Array
  • Digunakan sebagai blok penyusun untuk membangun struktur data lain seperti daftar susunan, tumpukan, tabel hash, vektor dan matriks.
  • Digunakan untuk berbagai algoritma penyortiran seperti penyisipan, penyortiran cepat, penyortiran gelembung dan penggabungan.


Linked Lists
Daftar tertaut adalah struktur berurutan yang terdiri dari urutan item dalam urutan linier yang dihubungkan satu sama lain. Karenanya, Anda harus mengakses data secara berurutan dan akses acak tidak dimungkinkan. Linked menyediakan representasi sederhana dan fleksibel dari set dinamis.


Jenis Linked Lists
  • Singly linked list —Traversal item hanya dapat dilakukan ke arah depan.
  • Doubly linked list — Traversal of items can be done in both forward and backward directions. Nodes consist of an additional pointer known as prev, pointing to the previous node.
  • Circular linked lists — Linked lists where the prev pointer of the head points to the tail and the next pointer of the tail points to the head.

Pengoperasian Linked list
  • Cari: Temukan elemen pertama dengan kunci k dalam daftar tertaut yang diberikan oleh pencarian linear sederhana dan mengembalikan pointer ke elemen ini
  • Sisipkan: Sisipkan kunci ke daftar tertaut. Penyisipan dapat dilakukan dengan 3 cara berbeda; masukkan di awal daftar, masukkan di akhir daftar dan masukkan di tengah daftar.
  • Hapus: Menghapus elemen x dari daftar tertaut yang diberikan. Anda tidak dapat menghapus simpul dengan satu langkah. Penghapusan dapat dilakukan dengan 3 cara berbeda; hapus dari awal daftar, hapus dari akhir daftar dan hapus dari tengah daftar.



Stacks
Stacks adalah struktur LIFO (Last In First Out – elemen yang ditempatkan pada akhirnya dapat diakses pada awalnya) yang biasanya ditemukan dalam banyak bahasa pemrograman.


Pengoperasian Stack
  • Push: Masukkan elemen ke atas stack.
  • Pop: Hapus elemen paling atas dan kembalikan.
  • Peek: Kembalikan elemen atas tumpukan tanpa menghapusnya.
  • isEmpty: Check jika stack nya kosong.
  • isFull: Mengecek jika stack penuh


Queues
Antrian adalah struktur FIFO (First In First Out – elemen yang ditempatkan pada awalnya dapat diakses pada awalnya) yang dapat ditemukan dalam banyak bahasa pemrograman.


Queue operations
  • Enqueue: Masukkan elemen ke ujung antrian.
  • Dequeue: Hapus elemen dari awal antrian.



Trees
Pohon adalah struktur hierarkis di mana data disusun secara hierarkis dan dihubungkan bersama. Struktur ini berbeda dari daftar yang ditautkan sedangkan, dalam daftar yang ditautkan, barang ditautkan dalam urutan linier.

Berbagai jenis pohon telah dikembangkan selama beberapa dekade terakhir, agar sesuai dengan aplikasi tertentu dan memenuhi kendala tertentu. Beberapa contoh adalah pohon pencarian biner, pohon B, pohon treap, pohon merah-hitam, pohon splay, pohon AVL dan pohon n-ary.



Binary Search Trees

Pohon pencarian biner (BST), seperti namanya, adalah pohon biner di mana data disusun dalam struktur hierarkis. Struktur data ini menyimpan nilai dalam urutan diurutkan.

Setiap node dalam pohon pencarian biner terdiri dari atribut berikut.
  1. key: Nilai yang disimpan dalam node.
  2. Left: Penunjuk ke anak kiri.
  3. Right: Penunjuk ke anak yang tepat.
  4. p: Penunjuk ke simpul induk.



Graphs
Grafik terdiri dari sekumpulan simpul atau node hingga dan satu set tepi yang menghubungkan simpul-simpul ini. Urutan grafik adalah jumlah simpul dalam grafik. Ukuran grafik adalah jumlah sisi dalam grafik. Dua node dikatakan berdekatan jika mereka terhubung satu sama lain dengan tepi yang sama.


Directed Graphs
  • Grafik G dikatakan sebagai grafik berarah jika semua tepinya memiliki arah yang menunjukkan apa itu start vertex dan apa itu end vertex.
  • Kami mengatakan bahwa (u, v) adalah insiden dari atau meninggalkan simpul u dan merupakan kejadian atau memasuki simpul v.
  • Self-loop: Tepi dari puncak ke dirinya sendiri. 

Undirected Graphs
  • Grafik G dikatakan sebagai grafik tidak terarah jika semua tepinya tidak memiliki arah. Ini bisa terjadi dengan dua cara antara dua simpul.
  • Jika sebuah titik tidak terhubung ke simpul lain dalam grafik, dikatakan titik itu terisolasi.