Struktur data 3--Dukungan bahasa
Struktur Data — Dukungan Bahasa (Bagian 3)
Struktur Data—Dukungan Bahasa (Bagian 3) Struktur Data 3—Dukungan Bahasa
array array
Dukungan untuk array berdimensi ke-N umumnya dibangun langsung ke dalam bahasa inti itu sendiri. Mereka ada di sebagian besar bahasa, jika tidak semuanya. Dukungan untuk array n-dimensi biasanya dibangun langsung ke dalam bahasa inti itu sendiri. Mereka ada di sebagian besar, jika tidak semua, bahasa.
Beberapa bahasa mengindeks dari nol sementara yang lain mengindeks dari satu. Beberapa bahasa mengindeks dari 0 sementara yang lain mengindeks dari 1.
Array Dinamis array dinamis
###jawa
Java menawarkan beberapa kelas, yang paling terkenal adalah kelas ArrayList. Java menyediakan dua kelas, yang paling terkenal adalah kelas ArrayList.
ular piton
Di Python, daftar adalah tipe data, sama seperti string dan angka. Ini merupakan implementasi dari array dinamis. Di Python, daftar adalah tipe data, sama seperti string dan angka. Ini adalah implementasi dari array dinamis.
C++
std::vector C++ adalah implementasi array dinamis. std::vector C++ adalah implementasi dari array dinamis.
C# juga menawarkan ArrayListclass seperti di Java. C# juga menyediakan kelas ArrayList seperti Java.
daftar tertaut daftar tertaut
###jawa
Di Java, List adalah sebuah antarmuka, tempat kelas LinkedList mengimplementasikan antarmuka Daftar. Ini diimplementasikan sebagai daftar tertaut ganda. Di Java, Listis adalah antarmuka di mana kelas LinkedList mengimplementasikan antarmuka Daftar. Ini diimplementasikan sebagai daftar tertaut ganda.
ular piton
Python tidak memiliki implementasi daftar tertaut bawaan. Daftar Python bukanlah daftar tertaut, melainkan array dinamis. Python tidak memiliki implementasi daftar tertaut bawaan. Daftar Python bukanlah daftar tertaut, melainkan array dinamis.
C++
Wadah daftar di perpustakaan bait suci standar adalah implementasi daftar tertaut ganda. Wadah daftar di perpustakaan bait suci standar adalah implementasi daftar tertaut ganda.
C#
Di C#, ada kelas LinkedList seperti di Java. Ini juga diterapkan sebagai daftar tertaut ganda. Di c#, ada kelas LinkedList, sama seperti di Java. Ini juga diimplementasikan sebagai daftar tertaut ganda.
tumpukan tumpukan
###jawa Di Java, ia memiliki kelas Stack. Di Java ia memiliki kelas tumpukan.
ular piton
Python tidak memiliki kelas tumpukan yang eksplisit, tetapi ada bagian dalam dokumentasi Python yang menggunakan daftar sebagai tumpukan. Python tidak memiliki kelas tumpukan yang eksplisit, tetapi dokumentasi Python memiliki bagian tentang penggunaan daftar sebagai tumpukan.
C++
Di C++, tumpukan adalah bagian dari perpustakaan templat standar. Di C++, tumpukan adalah bagian dari perpustakaan templat standar.
C#
C# juga menawarkan kelas Stack seperti di Java. C# juga menyediakan kelas tumpukan di Java.
antrian antrian
###jawa Antrian adalah antarmuka seperti halnya Daftar. Ada beberapa kelas konkret yang mendukung perilaku antrian. Kelas LinkedList sebenarnya mendukung perilaku antrian sederhana. Queueis adalah antarmuka yang identik dengan Daftar. Ada beberapa kelas konkrit yang mendukung perilaku antrian. LinkedListclass sebenarnya mendukung perilaku antrian sederhana.
ular piton
Modul antrian menawarkan kelas antrian. Ini sangat berguna ketika bekerja dengan threading yang sangat umum terjadi pada antrian. Daftar juga dapat digunakan sebagai antrean, namun daftar tidak efisien untuk tujuan ini. Modul antrian menyediakan kelas antrian. Hal ini sangat berguna ketika berhadapan dengan thread, yang sangat umum terjadi dalam antrian. Daftar juga dapat digunakan sebagai antrean, namun daftar tidak efisien untuk tujuan ini.
collections.deque adalah implementasi alternatif dari antrian tak terbatas dengan operasi atom cepat append() dan popleft() yang tidak memerlukan penguncian. deque adalah implementasi alternatif dari antrian tak terbatas dengan operasi atom cepat append() dan popleft() yang tidak memerlukan penguncian.
C++
Di C++, ada wadah antrian di perpustakaan templat standar. Di C++, ada wadah antrian di perpustakaan templat standar.
C#
Di C#, ada kelas Antrian. Di c#, ada kelas Antrian.
Dek
###jawa
Java juga mempunyai antarmuka Deque seperti Queue. Kelas LinkedList juga mengimplementasikan Dequeinterface tersebut. Java juga memiliki antarmuka yang memadai seperti Queue. LinkedListclass juga mengimplementasikan Dequeinterface tersebut.
Perhatikan bahwa LinkedList berubah menjadi kelas yang sangat fleksibel di Java. Ia dapat berperilaku seperti daftar tertaut dan dapat berperilaku seperti antrean, dan dapat berperilaku seperti antrean berujung ganda; deque. Ini bisa seperti daftar tertaut, bisa seperti antrian, bisa seperti antrian berujung ganda; antrian berujung ganda.
ular piton
Python juga memiliki kelas deque untuk ini. Meskipun Anda bisa menggunakan daftar Python, deque dioptimalkan untuk penggunaan semacam ini; menambahkan dan muncul di kedua ujungnya. Python juga memiliki kelas deque untuk ini. Meskipun Anda dapat menggunakan daftar Python, deque dioptimalkan untuk penggunaan ini; menambahkan dan muncul di kedua ujungnya.
C++
Di C++, ada dequecontainer. Di c++, ada dequecontainer.
C#
Itu tidak memiliki deque eksplisit bawaan, tetapi, kami dapat memberikan perilaku yang setara dengan daftar tertaut atau bahkan array dinamis. Berhati-hatilah karena menggeser elemen dalam array bukanlah tugas yang efisien. Ia tidak memiliki deque eksplisit bawaan, namun kita dapat menggunakan daftar tertaut atau bahkan array dinamis untuk memberikan perilaku yang setara. Tetaplah berhati-hati, karena memindahkan elemen dalam array bukanlah tugas yang efisien.
Antrean Prioritas antrian prioritas
Sama seperti daftar yang dapat diimplementasikan dengan daftar tertaut atau array, antrian prioritas dapat diimplementasikan dengan heap atau berbagai metode lainnya. Sama seperti daftar yang dapat diimplementasikan menggunakan daftar tertaut atau array, antrian prioritas juga dapat diimplementasikan menggunakan heap atau berbagai metode lainnya.
###Jawa Java memiliki kelas PriorityQueue, yang didasarkan pada tumpukan prioritas. Java memiliki kelas PriorityQueue berdasarkan tumpukan prioritas.###Piton Modul antrian menawarkan kelas PriorityQueue, yang menggunakan modul heapq untuk memprioritaskan entri antrian. Modul heapq menggunakan struktur data heap.
Queue.PriorityQueue adalah kelas thread-safe, sedangkan modul heapq tidak memberikan jaminan keamanan thread. antre. PriorityQueue adalah kelas thread-safe, dan modul heapq tidak memberikan jaminan keamanan thread.
C++
C++ memiliki prioritas_queuecontainer, yang juga diimplementasikan sebagai struktur data heap. c++ memiliki prioritas_queuecontainer, yang juga diimplementasikan sebagai struktur data heap.
C#
C# tidak berisi kelas antrian prioritas. Namun, ada beberapa implementasi antrian prioritas yang tersedia di internet. C# tidak mengandung kelas antrian prioritas. Namun ada beberapa implementasi antrian prioritas di internet.
Array Asosiatif Array Asosiatif
Kebanyakan array asosiasi, baik disebut kamus atau peta atau hash, diimplementasikan menggunakan sesuatu yang disebut tabel hash, dan tabel hash itu sendiri adalah struktur data yang sangat penting dan berguna. Kebanyakan array asosiatif, baik disebut kamus, peta, atau hash, diimplementasikan menggunakan sesuatu yang disebut tabel hash, yang merupakan struktur data yang sangat penting dan berguna.
Bahasa lain menggunakan pohon pencarian biner (mungkin pohon merah hitam; sejenis pohon pencarian biner yang menyeimbangkan diri) di mana setiap node memiliki kunci dan nilai terkait. Jadi, jika Anda ingin menyimpan kunci Anda dalam urutan yang terurut, tabel hash tidak terlalu bagus dalam hal itu, tetapi pohon pencarian biner bisa melakukannya. Bahasa lain menggunakan pohon pencarian biner (mungkin pohon merah-hitam; sejenis pohon pencarian biner yang menyeimbangkan diri) di mana setiap node memiliki kunci dan nilai terkait. Jadi, jika Anda ingin kunci Anda tetap terurut, tabel hash tidak bagus dalam hal itu, tetapi pohon pencarian biner bisa melakukannya.
###jawa Di Java, ia memiliki antarmuka Peta seperti halnya Daftar. Ini mendefinisikan operasi untuk array asosiatif, sedangkan kelas HashMap dan HashTable adalah implementasi dari operasi ini berdasarkan struktur data tabel hash. Di Java, ia memiliki antarmuka pemetaan yang sama dengan List. Ini mendefinisikan operasi pada array asosiatif, dan kelas HashMap dan HashTable adalah implementasi dari operasi ini berdasarkan struktur data tabel hash.
HashTable lebih baik ketika bekerja dengan aplikasi multi-thread, di mana Anda memiliki thread berbeda yang mengakses dan mengubah tabel hash ini, tetapi ini akan menambah biaya kinerja.
ConcurrentHashMapclass adalah pengganti HashTable yang lebih lama. ConcurrentHashMapclass adalah pengganti HashTable yang lebih lama.
Ada juga LinkedHashMap, yang menggunakan daftar tertaut untuk mengulangi item dengan cara yang sama saat item tersebut disisipkan.
Meskipun kelas TreeMap juga mengimplementasikan antarmuka Peta, sebenarnya ini adalah RedBlackTree, yang merupakan pohon pencarian biner yang menyeimbangkan dirinya sendiri.
##Piton Dalam Python, mereka disebut kamus. Mereka diimplementasikan sebagai tipe data yang disebut dict, sama seperti string dan angka. Mereka diimplementasikan sebagai tipe data yang disebut dict, sama seperti string dan angka.
C++
C++ menawarkan std::unordered_mapcontainer di perpustakaan templat standar, sedangkan std::mapcontainer adalah versi terurut yang biasanya diimplementasikan sebagai pohon pencarian biner. C++ menyediakan std::unordered_mapcontainer di perpustakaan templat standar, dan std::mapcontainer adalah versi yang diurutkan, biasanya diimplementasikan sebagai pohon pencarian biner.
C#
Di C#, mereka tersedia di kelas Dictionary<TKey,TValue>, Hashtable, dan StringDictionary, sementara kelas SortedDictionary mengurutkan pasangan nilai kunci yang diimplementasikan sebagai pohon pencarian biner. Di C#, mereka tersedia di kelas Dictionary<TKey, TValue>, Hashtable, dan StringDictionary, sedangkan kelas LessoredDictionary mengurutkan pasangan nilai kunci yang diimplementasikan sebagai pohon pencarian biner.
set set
Gagasan tentang himpunan; memiliki wadah besar tempat Anda dapat menaruh banyak item ke dalamnya, biasanya diimplementasikan menggunakan tabel hash, atau pohon pencarian biner. Konsep himpunan; biasanya tabel hash atau pohon pencarian biner digunakan untuk mengimplementasikan wadah besar yang dapat menampung banyak item.
###jawa
Di Java, ia memiliki antarmuka Set seperti Daftar dan Antrean, sementara kelas HashSet dan TreeSet mengimplementasikan antarmuka Set. Di Java ia memiliki antarmuka Set seperti Daftar dan Antrean dan kelas lehashset dan TreeSet mengimplementasikan Setinterface.
HashSet diimplementasikan secara internal menggunakan HashMap, sedangkan TreeSet diimplementasikan secara internal menggunakan TreeMap. HashSet diimplementasikan secara internal menggunakan HashMap, sedangkan TreeSet diimplementasikan secara internal menggunakan TreeMap.
ular piton
Python mendukung tipe data set dan frozenset. frozenset adalah cara membuat set tidak dapat diubah setelah dibuat. Python mendukung tipe data set dan frozenset. frozenset adalah cara untuk membuat koleksi tidak dapat diubah setelah dibuat.
C++
Seperti halnya peta, C++ juga menawarkan std::unordered_setcontainer di perpustakaan templat standar, sedangkan std::setcontainer adalah versi terurut yang biasanya diimplementasikan sebagai pohon pencarian biner. Seperti pemetaan, C++ juga menyediakan std::unordered_setcontainer di perpustakaan templat standar, dan std::setcontainer adalah versi yang diurutkan, biasanya diimplementasikan sebagai pohon pencarian biner.
C#C# juga menawarkan kelas HashSet yang menggunakan tabel hash seperti di Java, sedangkan SortedSet adalah versi yang diurutkan.
C# juga menyediakan kelas HashSet, yang menggunakan tabel hash seperti di Java, dan SortedSet adalah versi yang diurutkan.
grafik grafik
Tidak ada dukungan langsung untuk struktur data grafik dalam bahasa (sama seperti pohon). Karena penerapan grafik apa pun akan selalu lebih spesifik. Struktur data grafik (sama seperti pohon) tidak didukung secara langsung dalam bahasa ini. Karena implementasi grafik pun lebih konkrit.
Misalnya, daftar tertaut adalah sejenis grafik, pohon adalah sejenis grafik, heap adalah sejenis grafik. Daftar tertaut tunggal dianggap sebagai graf berarah, sedangkan daftar tertaut ganda dianggap sebagai graf tidak berarah. Semuanya adalah grafik dengan batasan yang disengaja. Misalnya, daftar tertaut adalah grafik, pohon adalah grafik, dan heap adalah grafik. Daftar tertaut tunggal dianggap sebagai graf berarah, sedangkan daftar tertaut ganda dianggap sebagai graf tidak berarah. Keduanya merupakan grafik dengan batasan niat.

Ringkasan untuk Dukungan Bahasa Struktur Data Dukungan bahasa ringkasan untuk struktur data
Sumber: https://medium.com/omarelgabrys-blog/data-structures-language-support-5f70f8312e84
What to read next
Want more posts about Algorithms?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #Algorithms?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home