Ini adalah pertanyaan sederhana dari teori algoritma.
Perbedaan di antara mereka adalah bahwa dalam satu kasus Anda menghitung jumlah node dan jumlah tepi lainnya pada jalur terpendek antara root dan simpul beton.
Yang mana?
algorithm
data-structures
tree
nodes
terminology
Gabriel Ščerbák
sumber
sumber
Jawaban:
Saya belajar bahwa kedalaman dan tinggi adalah properti sebuah simpul :
The mendalam dari sebuah node adalah jumlah tepi dari node ke pohon simpul akar.
Node root akan memiliki kedalaman 0.
The ketinggian dari sebuah node adalah jumlah sisi pada jalan terpanjang dari node ke daun.
Node daun akan memiliki tinggi 0.
Properti pohon :
The tinggi pohon akan ketinggian simpul akar,
atau ekuivalen, kedalaman simpul yang paling dalam.
The diameter (atau lebar ) dari pohon adalah jumlah node pada jalur terpanjang antara dua node daun. Pohon di bawah ini memiliki diameter 6 node.
sumber
tinggi dan kedalaman pohon sama ...
tetapi ketinggian dan kedalaman suatu simpul tidak sama karena ...
tingginya dihitung dengan melintasi dari simpul yang diberikan ke daun yang paling dalam.
kedalaman dihitung dari traversal dari root ke node yang diberikan .....
sumber
Menurut Cormen et al. Pengantar Algoritma (Lampiran B.5.3), kedalaman sebuah simpul X di pohon T didefinisikan sebagai panjang jalur sederhana (jumlah tepi) dari simpul akar T ke X. Ketinggian simpul Y adalah jumlah tepi pada jalur sederhana ke bawah terpanjang dari Y ke daun. Ketinggian pohon didefinisikan sebagai ketinggian simpul akarnya.
Perhatikan bahwa jalur sederhana adalah jalur tanpa simpul berulang.
Ketinggian pohon sama dengan kedalaman maksimal pohon . Kedalaman suatu simpul dan ketinggian suatu simpul tidak harus sama. Lihat Gambar B.6 dari Edisi 3 Cormen et al. untuk ilustrasi konsep-konsep ini.
Saya kadang-kadang melihat masalah meminta seseorang untuk menghitung simpul (simpul) bukan tepi, jadi minta klarifikasi jika Anda tidak yakin Anda harus menghitung simpul atau tepi selama ujian atau wawancara kerja.
sumber
Jawaban Sederhana:
Kedalaman:
1. Pohon : Jumlah tepi / busur dari simpul akar ke simpul daun pohon disebut sebagai Kedalaman Pohon.
2. Node : Jumlah tepi / busur dari simpul akar ke simpul yang disebut sebagai Kedalaman simpul itu.
sumber
Cara lain untuk memahami konsep tersebut adalah sebagai berikut: Kedalaman: Gambar garis horizontal pada posisi root dan perlakukan garis ini sebagai ground. Jadi kedalaman root adalah 0, dan semua anak-anaknya tumbuh ke bawah sehingga setiap level node memiliki kedalaman saat ini + 1.
Tinggi: Garis horizontal yang sama tetapi kali ini posisi tanah adalah simpul eksternal, yang merupakan daun pohon dan dihitung ke atas.
sumber
Saya ingin membuat posting ini karena saya seorang mahasiswa CS sarjana dan semakin banyak kami menggunakan OpenDSA dan buku teks sumber terbuka lainnya. Sepertinya dari jawaban berperingkat teratas bahwa cara tinggi dan kedalaman yang diajarkan telah berubah dari satu generasi ke generasi berikutnya, dan saya memposting ini sehingga semua orang sadar bahwa perbedaan ini sekarang ada dan mudah-mudahan tidak akan menyebabkan bug dalam program! Terima kasih.
Dari buku OpenDSA Data Structures & Algos :
sumber