Saya berjuang dengan hashing dan material pohon pencarian biner. Dan saya membaca bahwa alih-alih menggunakan daftar untuk menyimpan entri dengan nilai hash yang sama, juga dimungkinkan untuk menggunakan pohon pencarian biner. Dan saya mencoba untuk memahami apa waktu berjalan kasus terburuk dan rata-rata untuk operasi
insert
,find
dandelete
layak dihargai. kasus rata-rata. Apakah mereka meningkat sehubungan dengan daftar?
Jawaban:
Untuk daftar, penyisipan, cari dan hapus masing-masing dalam , O ( n ) , O ( n ) . Daftar yang diurutkan lebih buruk. Pencarian biner itu sendiri adalah untuk array yang diurutkan, di mana operasi berada di O ( n ) , O ( log n ) , O ( n ) . Jika Anda ingin operasi "penyisipan" dan "hapus" maka Anda membutuhkan lebih dari sekedar pencarian biner.O ( 1 ) O ( n ) O ( n ) O ( n ) O ( logn ) O ( n )
Anda mungkin menginginkan sesuatu seperti pohon pencarian biner . Jauh lebih mudah untuk menemukan referensi tentang hal itu setelah Anda memiliki terminologi yang tepat. Operasi-operasi ini berada dalam waktu kasus terburuk, misalnya untuk implementasi yang menggunakan pohon AVL dan pohon merah-hitam .O ( logn )
sumber
sumber