Results (
Indonesian) 2:
[Copy]Copied!
Struktur data yang disebut "tumpukan" jelas bukan tumpukan teratur item
sebagai definisi kata dalam kamus standar mungkin menyarankan. Sebaliknya, itu adalah
pintar, struktur data sebagian memerintahkan yang sangat cocok untuk menerapkan
antrian prioritas. Ingat bahwa antrian prioritas adalah multiset item dengan orderable
karakteristik yang disebut prioritas item, dengan operasi berikut: menemukan item dengan tertinggi (yaitu, terbesar) prioritas menghapus item dengan prioritas tertinggi menambahkan item baru ke multiset yang Hal ini terutama implementasi yang efisien dari operasi ini yang membuat tumpukan menarik dan berguna. Antrian prioritas muncul secara alami dalam aplikasi seperti eksekusi pekerjaan penjadwalan oleh sistem operasi komputer dan manajemen lalu lintas dengan jaringan komunikasi. Mereka juga muncul dalam beberapa algoritma penting, misalnya, algoritma Prim (Bagian 9.1), algoritma Dijkstra (Bagian 9.3), Huffman encoding (Bagian 9.4), dan aplikasi cabang-dan-terikat (Bagian 12.2). Tumpukan juga struktur data yang berfungsi sebagai landasan algoritma sorting secara teoritis penting yang disebut heapsort. . Kami membahas algoritma ini setelah kita mendefinisikan tumpukan dan menyelidiki sifat dasar Notion dari Heap DEFINISI Sebuah tumpukan dapat didefinisikan sebagai pohon biner dengan kunci ditugaskan untuk yang node, salah satu kunci per node, disediakan dua kondisi berikut terpenuhi: 1 . Properti-bentuk pohon biner pada dasarnya selesai (atau hanya lengkap), yaitu, semua tingkatan yang penuh kecuali mungkin tingkat terakhir, di mana hanya beberapa daun paling kanan mungkin hilang. 2. The orangtua dominasi atau tumpukan properti-kunci di setiap node lebih besar dari atau sama dengan tombol pada anak-anak nya. (Kondisi ini dianggap otomatis puas untuk semua daun.) 5 Sebagai contoh, perhatikan pohon-pohon dari Gambar 6.9. Pohon pertama adalah tumpukan. The kedua adalah tidak tumpukan, karena properti bentuk pohon dilanggar. Dan yang ketiga adalah tidak tumpukan, karena dominasi orangtua gagal untuk node dengan kunci 5. Perhatikan bahwa nilai-nilai kunci dalam tumpukan yang diperintahkan top down; yaitu, urutan nilai-nilai pada setiap jalur dari akar ke daun menurun (non meningkat, jika kunci sama yang diperbolehkan). Namun, tidak ada urutan kiri ke kanan nilai kunci; yaitu, tidak ada hubungan antara nilai-nilai kunci untuk node baik pada tingkat yang sama dari pohon atau, lebih umum, di kiri dan kanan sub pohon dari simpul yang sama. Berikut adalah daftar sifat penting dari tumpukan, yang tidak sulit untuk membuktikan (periksa sifat ini untuk tumpukan Gambar 6.10, sebagai contoh). 1. Ada ada pohon biner tepat satu dasarnya lengkap dengan n simpul. Its tinggi sama dengan? Log 2n ?. 2. Akar tumpukan selalu mengandung unsur yang terbesar. 3. Sebuah simpul dari tumpukan dianggap dengan semua keturunannya juga tumpukan. 4. Sebuah tumpukan dapat diimplementasikan sebagai array dengan merekam elemen di atas ke bawah, kiri ke kanan fashion. Hal ini mudah untuk menyimpan elemen tumpukan dalam posisi 1 sampai n dari sebuah array, meninggalkan H [0] baik yang tidak terpakai atau menempatkan ada sentinel yang nilainya lebih besar dari setiap elemen dalam tumpukan. Dalam seperti representasi, a. tombol simpul orangtua akan di pertama n / 2 posisi dari array,?? sedangkan tombol daun akan menempati terakhir n / 2 posisi;?? b. anak-anak kunci di posisi orangtua array i (1≤i≤? n / 2?) akan berada di posisi 2iand 2i + 1, dan, dengan demikian, induk dari kunci di posisi i (2≤i≤n) akan berada dalam posisi? i / 2 ?. Jadi, kami juga bisa mendefinisikan tumpukan sebagai array H [1..n] di mana setiap elemen di posisi saya di babak pertama dari array lebih besar dari atau sama dengan unsur-unsur di posisi 2i dan 2i + 1, yaitu, H [i] ≥max {H [2i], H [2i + 1]} fori = 1, ...,? n / 2 ?. (Tentu saja, jika 2i + 1> n, hanya H [i] ≥H [2i] perlu puas.) Sementara ide-ide di balik sebagian besar algoritma berurusan dengan tumpukan yang lebih mudah untuk memahami jika kita berpikir tentang tumpukan pohon biner, implementasi aktual mereka biasanya jauh sederhana dan lebih efisien dengan array. Bagaimana kita bisa membangun tumpukan untuk daftar yang diberikan kunci? Ada dua pokok alternatif untuk melakukan hal ini. Yang pertama adalah algoritma konstruksi tumpukan bottom-up diilustrasikan pada Gambar 6.11. Ini menginisialisasi pohon biner dasarnya lengkap dengan n simpul dengan menempatkan tombol dalam urutan yang diberikan dan kemudian "heapifies" pohon sebagai berikut. Dimulai dengan simpul orangtua terakhir, cek apakah orangtua algoritma
Being translated, please wait..
