Rumah Keuangan Pribadi Binary Heaps and Binary Search Trees Digunakan pada Algorithms - dummies

Binary Heaps and Binary Search Trees Digunakan pada Algorithms - dummies

Video: Struktur Data Graph & Pohon Telusur Biner 2024

Video: Struktur Data Graph & Pohon Telusur Biner 2024
Anonim

Jenis struktur pohon khusus adalah tumpukan biner, yang menempatkan masing-masing elemen simpul dalam urutan khusus. Pohon pencarian memungkinkan Anda mencari data dengan cepat. Mendapatkan item data, menempatkannya dalam urutan yang diurutkan di pohon, dan kemudian mencari pohon itu adalah salah satu cara yang lebih cepat untuk menemukan informasi.

Dalam tumpukan biner, simpul akar selalu berisi nilai terkecil. Saat melihat cabang, Anda melihat bahwa cabang tingkat atas selalu bernilai lebih kecil daripada cabang dan daun tingkat rendah. Efeknya adalah menjaga agar pohon tetap seimbang dan dalam urutan yang dapat diprediksi sehingga pencarian menjadi sangat efisien. Biayanya adalah menjaga agar pohon seimbang.

Dari semua tugas yang dilakukan aplikasi, pencarian adalah waktu yang lebih banyak dan juga yang paling dibutuhkan. Meskipun menambahkan data (dan menyortirnya nanti) memerlukan beberapa waktu, manfaat untuk membuat dan memelihara kumpulan data berasal dari menggunakannya untuk melakukan pekerjaan yang bermanfaat, yang berarti mencari informasi penting. Akibatnya, terkadang Anda bisa mendapatkan fungsi CRUD yang kurang efisien dan bahkan rutinitas yang kurang optimal, namun penelusuran harus berjalan seefisien mungkin. Satu-satunya masalah adalah tidak ada satu pencarian yang melakukan setiap tugas dengan efisiensi absolut, jadi Anda harus mempertimbangkan pilihan Anda berdasarkan apa yang Anda harapkan untuk dilakukan sebagai bagian dari rutin pencarian.

Dua metode pencarian yang lebih efisien melibatkan penggunaan binary search tree (BST) dan binary heap. Kedua teknik pencarian bergantung pada struktur mirip pohon untuk menahan tombol yang digunakan untuk mengakses elemen data. Namun, penataan kedua metode berbeda, oleh karena itulah seseorang memiliki kelebihan dibandingkan saat melakukan tugas tertentu. Angka ini menunjukkan susunan untuk BST.

Pengaturan kunci saat menggunakan BST.

Perhatikan bagaimana tombol mengikuti perintah di mana nomor yang lebih kecil muncul di sebelah kiri dan angka yang lebih besar muncul di sebelah kanan. Simpul akar berisi nilai yang berada di tengah kisaran tombol, memberi BST pendekatan keseimbangan yang mudah dipahami untuk menyimpan kunci. Bandingkan pengaturan ini dengan tumpukan biner yang ditunjukkan di sini.

Susunan kunci saat menggunakan tumpukan biner.

Setiap level berisi nilai yang kurang dari level sebelumnya, dan root berisi nilai kunci maksimum untuk pohon. Selain itu, dalam kasus khusus ini, nilai yang lebih rendah muncul di sebelah kiri dan yang lebih besar di sebelah kanan (walaupun perintah ini tidak diterapkan secara ketat). Angka tersebut sebenarnya menggambarkan tumpukan heksadesimal. Anda juga dapat membuat tumpukan biner

Seperti yang telah dicatat sebelumnya, BST memiliki beberapa keuntungan dibandingkan tumpukan biner saat digunakan untuk melakukan pencarian. Daftar berikut ini memberikan beberapa keunggulan dari kelebihan ini:

  • Mencari elemen memerlukan waktu O (log n), berlawanan dengan waktu O (n) untuk tumpukan biner.
  • Mencetak elemen agar hanya memerlukan waktu O (log n), kontras dengan waktu O (n log n) untuk tumpukan biner.
  • Menemukan lantai dan plafon membutuhkan waktu O (log n).
  • Menemukan elemen Kth terkecil / terbesar memerlukan waktu O (log n) saat pohon dikonfigurasi dengan benar.

Apakah saat-saat ini penting bergantung pada aplikasi Anda. BST cenderung bekerja paling baik dalam situasi di mana Anda menghabiskan lebih banyak waktu untuk mencari dan sedikit waktu membangun pohon. Tumpukan biner cenderung bekerja paling baik dalam situasi dinamis dimana kunci berubah secara teratur. Tumpukan biner juga menawarkan keuntungan, seperti yang dijelaskan dalam daftar berikut:

  • Membuat struktur yang dibutuhkan memerlukan sumber daya yang lebih sedikit karena tumpukan biner bergantung pada array, membuatnya lebih mudah digunakan.
  • Membangun tumpukan biner membutuhkan waktu O (n), berlawanan dengan BST, yang membutuhkan waktu O (n log n).
  • Menggunakan pointer untuk mengimplementasikan pohon tidak diperlukan.
  • Mengandalkan variasi tumpukan biner (misalnya, Fibonacci Heap) menawarkan kelebihan seperti kenaikan dan penurunan waktu kunci O (1) waktu.
Binary Heaps and Binary Search Trees Digunakan pada Algorithms - dummies

Pilihan Editor

Cara Menggunakan Format Tema di dalam bahasa Excel 2013 - dummies

Cara Menggunakan Format Tema di dalam bahasa Excel 2013 - dummies

Tema dan gaya tabel adalah dua cara dalam Excel 2013 menerapkan format ke seluruh lembar kerja atau rangkaian data sekaligus. (Tema memformat preset yang dapat Anda terapkan ke seluruh lembar kerja.) Masing-masing dapat digunakan dengan pengaturan preset atau disesuaikan untuk tampilan individual. Untuk masing-masing, Anda dapat menyimpan ...

Bagaimana Menggunakan Fitur Penemuan di Excel 2013 - dummies

Bagaimana Menggunakan Fitur Penemuan di Excel 2013 - dummies

Ketika semuanya gagal, Anda dapat menggunakan Fitur Excel 2013's Find untuk menemukan informasi spesifik di lembar kerja. Pilih Home → Cari & Pilih → Temukan atau tekan Ctrl + F, Shift + F5, atau bahkan Alt + HFDF untuk membuka kotak dialog Find and Replace. Di kotak drop-down Find What pada kotak dialog ini, masukkan teks atau nilai yang Anda inginkan ...

Cara Menggunakan Tema di Excel 2013 - dummies

Cara Menggunakan Tema di Excel 2013 - dummies

Melalui penggunaan temanya, Excel 2013 mendukung sebuah cara untuk memformat secara merata semua teks dan grafik yang Anda tambahkan ke lembar kerja. Anda bisa melakukan ini dengan hanya mengklik thumbnail dari tema baru yang ingin Anda gunakan di galeri drop-down Themes yang dibuka dengan mengklik tombol Themes pada Page ...

Pilihan Editor

Hindari Penanganan yang Berat Saat Menegakkan Pedoman Komunitas Online - dummies

Hindari Penanganan yang Berat Saat Menegakkan Pedoman Komunitas Online - dummies

Hanya karena Anda memiliki kekuatan untuk Lakukan itu tidak berarti bahwa semua masalah komunitas online memerlukan peringatan dan bannings. Ya, Anda ingin menghilangkan negatif sejak awal, tapi tidak, Anda juga tidak ingin merasa kecil. Terkadang membiarkan sebuah isu meluncur tidak apa-apa. Sebagai pengelola komunitas, tugas Anda untuk mengetahui ...

Hindari Peluang yang Mempengaruhi Reputasi Blog Anda - dummies

Hindari Peluang yang Mempengaruhi Reputasi Blog Anda - dummies

Saat Anda mengaitkan blog ibu dan merek pribadi Anda dengan sebuah produk atau merek perusahaan, tidak dapat dipungkiri bahwa Anda berdua akan saling menipu satu sama lain. Suka atau tidak, Anda bisa dan menjadi terkait dengan merek itu. Tidak semua perusahaan yang ingin memberi Anda produk gratis adalah produk yang Anda inginkan ...

Berikan Peran pada Font di Situs Blog Anda - dummies

Berikan Peran pada Font di Situs Blog Anda - dummies

Saat Anda menetapkan peran pada font Anda, Anda bantu jaga agar desain blog anda terlihat profesional. Menjaga tujuan font Anda jelas membuat desain navigasi blog Anda lebih efektif dan keseluruhan desain Anda lebih mudah pada mata. Setelah Anda memilih dua atau tiga huruf pelengkap yang juga memiliki kontras yang cukup untuk berdiri satu sama lain (lihat ...

Pilihan Editor

Bagaimana Menjadi Pengembang Aplikasi iOS - dummies

Bagaimana Menjadi Pengembang Aplikasi iOS - dummies

Bagian ini menjelaskan apa yang Anda butuhkan dan bagaimana Anda bisa menjadi pengembang aplikasi iOS. Jika Anda adalah pengembang baru, Anda memerlukan alat perdagangan: Mac desktop atau sistem laptop untuk dikembangkan. Ini harus menjadi mesin dengan prosesor Intel, menjalankan OS X Mountain Lion atau Mavericks dengan setidaknya ...

Bagaimana Mengkonfigurasi Samsung SmartTV SDK - dummies

Bagaimana Mengkonfigurasi Samsung SmartTV SDK - dummies

Setelah mendownload dan menginstal SamSung SmartTV SDK dari Samsung Developers Forum (SDF), ada beberapa langkah konfigurasi tambahan yang diperlukan untuk memastikan lingkungan pengembangan yang lebih mulus.

Cara Membuat Proyek Xcode untuk Aplikasi iPad

Cara Membuat Proyek Xcode untuk Aplikasi iPad

Untuk mengembangkan sebuah Aplikasi iPad (atau aplikasi untuk iPhone atau perangkat Mac lainnya), Anda bekerja di proyek Xcode yang disebut. Jadi, saatnya memotret proyek Xcode anda sendiri.