Saya sedang melakukan proyek yang memerlukan struktur data btree atau b+tree. Adakah yang tahu implementasi btree atau b+tree yang ada (dengan algoritma penyisipan, penghapusan, pencarian)? Itu harus menerima string sebagai input dan membentuk btree atau b+tree dari string ini.
Implementasi Btree atau B+tree yang ada di Java [ditutup]
Jawaban (4)
Karena kurangnya rincian tentang masalah yang perlu Anda selesaikan, saya akan membiarkan diri saya menyarankan solusi alternatif yang mungkin menyelesaikan masalah Anda: gunakan pohon merah/hitam sebagai gantinya.
Pohon merah/hitam dapat dianggap sebagai pohon-b, seperti yang dijelaskan di Wikipedia:
Pohon merah-hitam memiliki struktur yang mirip dengan pohon B berorde 4, di mana setiap simpul dapat berisi antara 1 hingga 3 nilai dan (sesuai) antara 2 hingga 4 penunjuk anak. Dalam B-tree tersebut, setiap node hanya akan berisi satu nilai yang cocok dengan nilai dalam node hitam dari pohon merah-hitam, dengan nilai opsional sebelum dan/atau sesudahnya dalam node yang sama, keduanya cocok dengan node merah yang setara dari pohon merah-hitam. pohon merah-hitam [...]
Java memiliki dua kelas bawaan, TreeMap dan TreeSet, menyediakan pohon merah/hitam. Tak satu pun dari ini akan mengambil string sebagai input dan menumbuhkan pohon darinya, tetapi Anda mungkin dapat mengimplementasikan sesuatu yang serupa "di sekitar" salah satu kelas tersebut.
jdbm memiliki implementasi b+tree yang sangat solid. Juga h+tree yang merupakan struktur data terkait yang menarik.
Saya harus mengimplementasikan kode.
Anda dapat mencoba BTree dari Electric (halaman penulis di sini).