(sudah bertanya di situs utama , tetapi meminta juga di sini untuk cakupan yang lebih baik, maaf)
Karena saya tahu tentang Struktur Data Singkat, saya sangat membutuhkan tinjauan yang baik tentang perkembangan terkini di bidang itu.
Saya telah googled dan membaca banyak artikel yang bisa saya lihat di atas hasil google atas permintaan dari atas kepala saya. Saya masih curiga saya telah melewatkan sesuatu yang penting di sini.
Berikut adalah topik yang menarik bagi saya:
Pengkodean singkat dari pohon biner dengan operasi yang efisien untuk mendapatkan induk, anak kiri / kanan, jumlah elemen dalam subtree.
Pertanyaan utama di sini adalah sebagai berikut: semua pendekatan yang saya tahu mengasumsikan node pohon disebutkan dalam urutan pertama (seperti dalam karya perintis di daerah ini Jacobson, G. J (1988). Struktur data statis singkat), yang tidak tampaknya sesuai untuk tugas saya. Saya berurusan dengan pohon biner besar yang diberikan dalam tata letak kedalaman-pertama dan indeks simpul kedalaman-pertama adalah kunci untuk properti simpul lainnya, jadi mengubah tata letak pohon memiliki beberapa biaya bagi saya yang ingin saya meminimalkan. Oleh karena itu minat untuk mendapatkan referensi untuk karya-karya mempertimbangkan tata letak BF kemudian lain.
Array item dengan panjang variabel besar dalam memori eksternal. Array tidak berubah: Saya tidak perlu menambah / menghapus / mengedit item. Satu-satunya persyaratan adalah O (1) waktu akses elemen dan overhead serendah mungkin, lebih baik daripada pendekatan offset dan ukuran langsung. Berikut adalah beberapa statistik yang saya kumpulkan tentang data khas untuk tugas saya:
jumlah barang yang khas - ratusan juta, hingga puluhan miliar;
sekitar 30% item memiliki panjang tidak lebih dari 1 bit ;
40% -60% item memiliki panjang kurang dari 8 bit;
hanya beberapa persen item yang memiliki panjang antara 32 dan 255 bit (255 bit adalah batasnya)
panjang item rata-rata ~ 4 bit +/- 1 bit.
distribusi panjang barang lainnya secara teori dimungkinkan, tetapi semua kasus yang praktis menarik memiliki statistik yang mendekati yang dijelaskan di atas.
Tautan ke artikel dengan kompleksitas apa pun, tutorial tentang ketidakjelasan apa pun, perpustakaan C / C ++ yang kurang lebih didokumentasikan, - apa pun yang berguna bagi Anda dalam tugas serupa atau apa yang tampak seperti itu oleh tebakan Anda yang berpendidikan - semua hal seperti itu sangat dihargai.
Memperbarui : Saya lupa menambahkan pertanyaan 1: pohon biner yang saya tangani tidak dapat diubah. Saya tidak memiliki persyaratan untuk mengubah mereka, semua yang saya butuhkan hanya melintasi mereka dengan berbagai cara selalu bergerak dari node ke anak-anak atau ke orang tua, sehingga biaya rata-rata operasi tersebut adalah O (1).
Juga, tipikal tree memiliki milyaran node dan tidak sepenuhnya disimpan dalam RAM.