Membuktikan pohon biner memiliki paling banyak


14

Saya mencoba untuk membuktikan bahwa pohon biner dengan node memiliki paling banyak nndaun. Bagaimana cara saya melakukan ini dengan induksi?n2

Untuk orang-orang yang mengikuti pertanyaan awal tentang tumpukan, sudah dipindahkan ke sini .


3
Pertama, perhatikan bahwa kita dapat menggunakan LaTeX di sini. Klik "edit" untuk melihat bagaimana saya melakukannya. Kedua, saya tidak melihat induksi. Anda melempar beberapa angka di sana tetapi tidak ada struktur bukti dan tidak ada hubungannya dengan tumpukan sama sekali. Bisakah Anda memperbaikinya? Dan terakhir, klaim itu salah: daftar yang disortir memenuhi properti tumpukan dan hanya memiliki satu daun. Sudahkah Anda mengabaikan beberapa asumsi?
Raphael

Apakah @ Kaveh mengedit apa yang ada dalam pikiran Anda, yaitu "paling banyak"?
Raphael

@ Raphael, membaca pertanyaan lagi, saya pikir mungkin tentang tumpukan di mana setiap simpul internal memiliki tepat dua anak (dalam hal ini pertanyaan awal masuk akal dan klaim itu benar, atau sesuatu yang serupa).
Kaveh

1
@ Kaveh Ah ya, saya melihat kebingungan Anda. Node heap memiliki paling banyak dua anak (karenanya tag binary-tree)
varatis

1
Saya melihat. Dengan klaim yang dirumuskan dengan tepat, memang tidak ada kebutuhan untuk asumsi lebih lanjut. Properti ini berlaku untuk semua pohon biner.
Raphael

Jawaban:


7

Saya berasumsi sekarang bahwa pertanyaannya adalah sebagai berikut:

Diberi pohon biner dengan simpul, buktikan bahwa ia mengandung paling banyak nn2 daun.

Mari kita bekerja dengan definisi pohon . Untuk T, seperti pohon, biarkan n T jumlah node dalam T dan l T jumlah daun dalam TTree=EmhaltyL.eSebuahfNHaide(Tree,Tree)TnTTlTT .

Anda benar untuk melakukan ini dengan induksi, tetapi Anda akan memerlukan induksi struktural yang mengikuti struktur pohon. Untuk pohon, ini sering dilakukan sebagai induksi lengkap pada ketinggian pohon.h(T)

Jangkar induksi memiliki dua bagian. Pertama, untuk kita memiliki T = E m p t y dengan l T = n T = 0 ; klaim jelas berlaku untuk pohon kosong. Untuk h ( t ) = 1 , yaitu T = L e a f , kami memiliki l T = 1 = n Th(t)=0T=EmptylT=nT=0h(t)=1T=LeaflT=1=nT2 , jadi klaimnya berlaku untuk daun.

Hipotesis induksi adalah: Asumsikan bahwa klaim berlaku untuk semua (binary) pohon dengan h ( T ) k , k 1Th(T)kk1 sewenang-wenang tetapi tetap.

Untuk langkah induktif, pertimbangkan pohon biner acak dengan h ( T ) = k + 1 . Sebagai k 1 , T = N o d e ( L , R ) dan n T = n L + n R + 1 . Karena L dan R juga merupakan pohon biner (jika tidak T tidak akan) dan h ( L ) , h RTh(T)=k+1k1T=Node(L,R)nT=nL+nR+1LRTh(L),h(R)k, hipotesis induksi berlaku dan miliki

lLnL2 and lRnR2.

Karena semua daun berada di L atau R , kami memilikinyaTLR

lT=lL+lRnL2+nR2nL+nR+12()=nT2

Ketimpangan yang ditandai dengan dapat diperiksa dengan (empat arah) kasus perbedaan apakah n L , n R2 N . Dengan kekuatan induksi, ini menyimpulkan buktinya.()nL,nR2N


Sebagai latihan, Anda dapat menggunakan teknik yang sama untuk membuktikan pernyataan berikut:

  • Setiap pohon biner sempurna dengan ketinggian memiliki 2 h - 1 node.h2h1
  • Setiap pohon biner penuh memiliki jumlah ganjil node.

2

3n=2n=2n/2=1 . Bagaimanapun, ini adalah sesuatu yang dekat yang memiliki argumen yang mudah.

TnLTn-1 tepi, dan menghitung dua kali lipat, kita melihat itu

2n-2L.+3(n-L.)
yang mengatakan itu
2L.n+2
dan ini ketat pada contoh dua-simpul di atas. Saya kira jika Anda ingin berasumsi bahwa ada satu akar tingkat dua dann3, maka Anda dapat mempersempit argumen ini untuk diberikan
2L.n+1
itulah yang Anda cari, dan ini kencang ketika pohonnya sudah penuh.

Saya kira kita diam-diam menganggap pohon yang berakar di sini; Wikipedia juga melakukannya.
Raphael

1
Wikipedia mengelak, mengatakan: "Di luar pohon, sering ada referensi ke simpul" root "(nenek moyang semua node), jika ada." Lagi pula, argumen ini tampaknya layak ditulis, karena berbeda dan cukup mudah.
Louis

Jika Anda membaca terus, semua ujung diarahkan, mereka berbicara tentang "anak-anak" dan "orang tua". Itu tidak masuk akal di pohon-pohon yang tidak dijarah. Karena itu, daun akan menjadi simpul dengan outdegree 0.
Raphael
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.