Apa itu Struktur Data Linier? Daftar Struktur Data Dijelaskan

Diterbitkan: 2021-06-18

Struktur data adalah data yang terstruktur dengan cara yang efisien untuk digunakan oleh pengguna. Karena program komputer sangat bergantung pada data dan juga membutuhkan volume data yang besar untuk kinerjanya, oleh karena itu sangat penting untuk mengatur data. Susunan data dalam struktur terorganisir ini dikenal sebagai struktur data.

Menyimpan data dalam struktur data memungkinkan akses, modifikasi, dan operasi lain yang dapat dilakukan melalui elemen data. Pengaturan data terutama dilakukan di komputer dan oleh karena itu algoritma yang tepat diperlukan untuk menjalankan operasi dengan struktur data. Mengurangi ruang dan mengurangi kompleksitas waktu tugas yang berbeda adalah tujuan utama dari struktur data.

Poin terpenting dalam struktur data adalah:

  • Sejumlah besar data diatur melalui setiap jenis struktur data.
  • Prinsip tertentu diikuti oleh setiap struktur data.
  • Prinsip dasar struktur data harus diikuti bahkan jika ada operasi yang dilakukan pada struktur data.

Susunan data dalam struktur data dapat mengikuti urutan yang berbeda. Oleh karena itu, struktur data diklasifikasikan menurut cara pengaturan data. Pada dasarnya, ada dua jenis struktur data .

  1. Struktur data primitif
  2. Struktur data non-primitif

Tipe primitif dari struktur data mencakup struktur data yang telah ditentukan sebelumnya seperti char, float, int, dan double.

Struktur data non-primitif digunakan untuk menyimpan koleksi elemen. Struktur data ini dapat dikategorikan lebih lanjut menjadi

  1. Struktur data linier
  2. Struktur data non-linier.

Baca: Pelajari Perbedaan Struktur Data Linier dan Non Linier

Pada artikel ini, kita akan membahas struktur data yang menyimpan data secara linier.

Daftar isi

Struktur Data Linier

Ini adalah jenis struktur data di mana susunan data mengikuti tren linier. Elemen data disusun secara linier sedemikian rupa sehingga elemen tersebut terkait langsung dengan elemen sebelumnya dan elemen berikutnya. Karena elemen disimpan secara linier, struktur mendukung penyimpanan data satu tingkat. Dan karenanya, traversal data dicapai hanya melalui satu kali proses.

Karakteristik

  • Ini adalah jenis struktur data di mana data disimpan dan dikelola dalam urutan linier.
  • Elemen data dalam urutan terkait satu demi satu.
  • Implementasi struktur linier data dalam memori komputer mudah karena data diatur secara berurutan.
  • Array, antrian. Stack, linked list, dll. adalah contoh dari jenis struktur ini.
  • Elemen data yang disimpan dalam struktur data hanya memiliki satu hubungan.
  • Traversal elemen data dapat dilakukan dalam satu kali proses karena elemen data disimpan dalam satu level.
  • Ada pemanfaatan yang buruk dari memori komputer jika struktur yang menyimpan data secara linier diimplementasikan.
  • Dengan bertambahnya ukuran struktur data, kompleksitas waktu struktur meningkat.

Oleh karena itu, struktur ini dapat diringkas sebagai jenis struktur data di mana elemen disimpan secara berurutan dan mengikuti urutan di mana:

  • Hanya ada satu elemen pertama yang memiliki satu elemen berikutnya .
  • Hanya ada satu elemen terakhir yang memiliki satu elemen sebelumnya .
  • Semua elemen lain dalam struktur data memiliki elemen sebelumnya dan elemen berikutnya

Daftar struktur data dalam tipe struktur data linier

1. Array

Array adalah jenis struktur yang menyimpan elemen homogen di lokasi memori yang berdekatan. Jenis objek yang sama disimpan secara berurutan dalam array. Ide utama dari sebuah array adalah bahwa beberapa data dari tipe yang sama dapat disimpan bersama-sama. Sebelum menyimpan data dalam array, ukuran array harus ditentukan. Setiap elemen dalam array dapat diakses atau dimodifikasi dan elemen yang disimpan diindeks untuk mengidentifikasi lokasinya.

Array dapat dijelaskan dengan bantuan contoh sederhana menyimpan nilai untuk semua siswa di kelas. Misalkan ada 20 siswa, maka ukuran array harus disebutkan 20. Nilai semua siswa kemudian dapat disimpan dalam array yang dibuat tanpa perlu membuat variabel terpisah untuk nilai untuk setiap siswa. Traversal sederhana dari array dapat menyebabkan akses elemen.

2. Daftar tertaut

Daftar tertaut adalah jenis struktur data tempat objek terpisah disimpan secara berurutan. Setiap objek yang disimpan dalam struktur data akan memiliki data dan referensi ke objek berikutnya. Node terakhir dari daftar tertaut memiliki referensi ke nol. Elemen pertama dari daftar tertaut dikenal sebagai kepala daftar. Ada banyak perbedaan antara daftar tertaut dengan tipe struktur data lainnya. Ini adalah dalam hal alokasi memori, struktur internal dari struktur data, dan operasi yang dilakukan pada daftar tertaut.

Mendapatkan ke elemen dalam daftar tertaut adalah proses yang lebih lambat dibandingkan dengan array karena pengindeksan dalam array membantu dalam menemukan elemen. Namun, dalam kasus daftar tertaut, prosesnya harus dimulai dari kepala dan melintasi seluruh struktur hingga elemen yang diinginkan tercapai. Berbeda dengan ini, keuntungan menggunakan linked list adalah penambahan atau penghapusan elemen di awal dapat dilakukan dengan sangat cepat.

Ada tiga jenis daftar tertaut:

  • Single Linked List: Jenis struktur ini memiliki alamat atau referensi dari node berikutnya yang disimpan di node saat ini. Oleh karena itu, node yang terakhir memiliki alamat dan referensi sebagai NULL. Contoh: A->B->C->D->E->NULL.
  • A Double Linked List : Seperti namanya, setiap node memiliki dua referensi yang terkait dengannya. Satu referensi mengarahkan ke node sebelumnya sedangkan referensi kedua menunjuk ke node berikutnya. Traversal dimungkinkan di kedua arah karena referensi tersedia untuk node sebelumnya. Juga, akses eksplisit tidak diperlukan untuk penghapusan. Contoh: NULL<-A<->B<->C<->D<->E->NULL.
  • Linked List yang melingkar: Node-node dalam daftar tertaut melingkar terhubung sedemikian rupa sehingga membentuk lingkaran. Karena daftar tertaut itu melingkar, tidak ada akhir dan karenanya tidak ada NULL. Jenis daftar tertaut ini dapat mengikuti struktur baik secara tunggal atau ganda. Tidak ada node awal yang spesifik dan node mana pun dari data dapat menjadi node awal. Referensi dari simpul terakhir menunjuk ke simpul pertama. Contoh: A->B->C->D->E.

Properti dari daftar tertaut adalah:

    • Waktu akses: O(n)
    • Waktu pencarian: O(n)
    • Menambahkan elemen: O(1)
  • Menghapus Elemen : O(1)

3. Tumpukan

Tumpukan adalah jenis struktur lain di mana elemen yang disimpan dalam struktur data mengikuti aturan LIFO (masuk terakhir, keluar pertama) atau FILO (Pertama Masuk Terakhir Keluar). Dua jenis operasi yang terkait dengan tumpukan yaitu push dan pop. Push digunakan saat elemen harus ditambahkan ke koleksi dan pop digunakan saat elemen terakhir harus dihapus dari koleksi. Ekstraksi dapat dilakukan hanya untuk elemen yang ditambahkan terakhir.

Properti dari tumpukan adalah:

  • Menambahkan elemen: O(1)
  • menghapus elemen: O(1)
  • Mengakses Waktu: O(n) [Kasus Terburuk]
  • Hanya satu ujung yang memungkinkan penyisipan dan penghapusan elemen.

Contoh tumpukan termasuk penghapusan rekursi. Dalam skenario di mana sebuah kata harus dibalik, atau saat menggunakan editor ketika kata yang terakhir diketik akan dihapus terlebih dahulu (menggunakan operasi undo), tumpukan digunakan. Jika Anda ingin mencoba proyek struktur data yang menarik, klik untuk membaca artikel ini.

4. Antrian

Antrian adalah jenis struktur data dimana elemen-elemen yang akan disimpan mengikuti aturan First In First Out (FIFO). Urutan tertentu diikuti untuk melakukan operasi yang diperlukan atas elemen. Perbedaan antrian dari tumpukan terletak pada penghapusan elemen, di mana objek yang paling baru ditambahkan dihapus terlebih dahulu dalam tumpukan. Sedangkan dalam kasus antrian, elemen yang ditambahkan terlebih dahulu dihilangkan terlebih dahulu.

Kedua ujung struktur data digunakan untuk penyisipan dan penghapusan data. Dua operasi utama yang mengatur struktur antrian adalah enqueue, dan dequeue. Enqueue mengacu pada proses di mana penyisipan elemen diperbolehkan untuk pengumpulan data dan dequeue mengacu pada proses di mana penghapusan elemen diperbolehkan, yang merupakan elemen pertama dalam antrian dalam kasus ini.

Sifat-sifat antrian adalah:

  • Memasukkan elemen: O(1)
  • Menghapus elemen: O(1)
  • Mengakses Waktu: O(n)

Contoh antrian: Mirip dengan antrian yang dibuat saat menunggu bus atau di mana saja, struktur datanya juga mengikuti pola yang sama. Kita bisa membayangkan seseorang menunggu bus dan berdiri di posisi pertama sebagai orang yang datang ke antrian pertama. Orang ini akan menjadi orang pertama yang akan naik bus, yaitu keluar dari antrian. Antrian diterapkan ketika beberapa pengguna berbagi sumber daya yang sama dan mereka harus dilayani berdasarkan siapa yang datang lebih dulu di server.

Kesimpulan

Peningkatan ukuran data mengharuskan penggunaan struktur data yang efisien dalam program komputer. Data jika tidak diatur secara terstruktur, kinerja tugas atas elemen menjadi sulit.

Untuk pengoperasian yang tidak merepotkan, selalu penting untuk mengaturnya sehingga pengoperasian yang mudah dan efektif dapat dilakukan oleh program komputer. Jika elemen data disusun secara berurutan maka disebut struktur data linier sedangkan jika elemen data disusun secara non-linier disebut struktur non-linier.

Penerapan luas dari struktur data telah diamati dalam bahasa pembelajaran mesin, masalah kehidupan nyata, dll. Orang-orang, yang bermimpi untuk bekerja di bidang ini, harus dapat menguasai konsep-konsep ini.

Jika Anda ingin mempelajari lebih lanjut, lihat Program PG Eksekutif upGrad dalam Ilmu Data yang menyediakan platform untuk mengubah Anda menjadi ilmuwan data yang sukses. Dirancang untuk setiap profesional tingkat menengah, kursus ilmu data akan memaparkan Anda pada semua pengetahuan teoretis dan praktis yang diperlukan untuk kesuksesan Anda. Jadi mengapa menunggu pilihan lain, ketika kesuksesan hanya dengan sekali klik. Jika ada bantuan yang diperlukan, kami akan dengan senang hati membantu Anda.

Apa perbedaan antara struktur data linier dan non-linier?

Berikut ini ilustrasi perbedaan signifikan antara struktur data linier dan non-linier:
Struktur Data Linier -
1. Dalam struktur data linier, setiap elemen terhubung secara linier satu sama lain dengan referensi ke elemen berikutnya dan sebelumnya.
2. Implementasinya cukup mudah karena hanya melibatkan satu level.
3. Pemborosan memori jauh lebih umum dalam struktur data linier.
4. Stacks, Queues, Arrays, dan Linked list adalah contoh struktur data linier.
Struktur Data Non-Linear -
1. Dalam struktur data non-linear, elemen-elemen terhubung secara hierarkis.
2. Implementasi jauh lebih kompleks karena melibatkan banyak level.
3. Memori dikonsumsi dengan bijak dan hampir tidak ada pemborosan memori.
4. Grafik dan pohon adalah contoh struktur data non-linier.

Dengan cara apa daftar tertaut lebih efisien daripada array?

Poin-poin berikut menguraikan cara-cara di mana daftar tertaut jauh lebih efisien daripada array:
Sebuah. Alokasi Memori Dinamis
Memori daftar tertaut terletak secara dinamis yang berarti bahwa tidak perlu menginisialisasi ukuran dan dapat diperluas serta menyusut kapan saja tanpa menyiratkan operasi eksterior apa pun.
Di sisi lain, array dialokasikan secara statis dan ukurannya harus diinisialisasi. Setelah dibuat, ukurannya tidak dapat diubah.
B. Penyisipan dan Penghapusan
Karena daftar tertaut dibuat secara dinamis, operasi seperti penyisipan dan penghapusan jauh lebih nyaman.
c . Tidak ada pemborosan memori
Tidak ada pemborosan memori dalam daftar tertaut karena semua elemen dimasukkan secara dinamis. Dan setelah penghapusan suatu elemen, kita dapat membebaskan memorinya.

Apa operasi yang paling umum dilakukan dalam struktur data linier?

Operasi umum yang mungkin dapat dilakukan di semua struktur data linier termasuk traversing, penyisipan, penghapusan, modifikasi, operasi pencarian, dan operasi sortir.
Operasi ini dikenali dengan nama yang berbeda dalam struktur data yang berbeda. Misalnya, operasi penyisipan dan penghapusan dikenal sebagai operasi Push dan Pop di Stack, sedangkan operasi tersebut disebut sebagai operasi enqueue dan dequeue di Queue.
Mungkin ada beberapa operasi lain juga seperti penggabungan dan operasi kosong untuk memeriksa apakah struktur data kosong atau tidak.