Selasa, 20 Maret 2018

Introduction to Binary Tree-Roland Harry Tanuwijaya-2101635050

Jadi di pertemuan ke 5 di kelas besar Data Structure saya mempelajari mengenai Binary Tree, sebagai berikut..
Diantaranya adalah jenis jenis penamaan pada Binary Tree,Konsep pohon,Jenis pohon dan untuk menyelesaikan sebuah perhitungan Prefix, Postfix dan Infix dengan Prefix, Postfix dan Infix transversal

Jenis Jenis Penamaan pada Binary Tree
Derajat Pohon=sub-pohon total dari simpul.
Tingkat= Terletak di anak keberapa suatu cabang
Height= tingkat maksimum simpul di pohon.
Anak  = anak dari suatu cabang pohon 
Sibling  = sodara terdekat suatu pohon
Ancestor = leluhur dari suatu cabang
Descendant = penerus dari suatu cabang

Node di bagian atas disebut sebagai root.
Garis yang menghubungkan orang tua dengan anak itu adalah tepi.
Simpul yang tidak memiliki anak disebut daun.
Node yang memiliki induk yang sama disebut saudara kandung/sibling.
Jika ada garis yang menghubungkan p ke q, maka p disebut sebagai leluhur q, dan q adalah keturunan dari leluhur p.


Konsep Pohon Biner
Pohon biner adalah struktur data pohon berakar di mana setiap node memiliki paling banyak dua anak.

Kedua anak itu biasanya dibedakan sebagai anak kiri dan anak kanan.

Simpul yang tidak memiliki anak disebut daun.

Jenis Pohon Biner
Pohon biner PERFECT adalah pohon biner di mana setiap tingkat berada pada kedalaman yang sama.

Pohon biner LENGKAP adalah pohon biner di mana setiap tingkat, kecuali yang terakhir, terisi penuh, dan semua simpul sejauh mungkin tertinggal. Pohon biner yang sempurna adalah pohon biner lengkap.

Pohon biner yang dikompresi adalah pohon biner di mana setiap simpul memiliki paling banyak satu anak.

Pohon biner BALANCED adalah pohon biner dimana tidak ada daun yang jauh dari akar daripada daun lainnya (skema penyeimbang yang berbeda memungkinkan definisi yang berbeda "jauh lebih jauh").

PrefiksTraversal
Contoh Prefiks transversal :
kekosongan prefiks(struct tnode * curr) {
printf ("% c", curr-> chr);
if (curr-> left! = 0) prefix (curr-> left);
if (curr-> right! = 0) prefix (curr-> right); }
Dalam prefix, Anda harus mencetak / memproses sebelum anaknya diproses.

Postfix Traversal

membatalkan postfix (struct tnode * curr) {
if (curr-> left! = 0) postfix (curr-> left);
if (curr-> right! = 0) postfix (curr-> right); printf ("% c", curr-> chr);
}
Di postfix, Anda harus mencetak / memproses setelah anaknya telah diproses.

Infix Traversal
Bagaimana dengan infiks? Bisakah kita melakukan seperti kode di bawah ini?

kekosongan infix (struct tnode * curr) {
jika (curr-> left! = 0) infix (curr-> left);
printf ("% c", curr-> chr);
if (curr-> right! = 0) infix (curr-> right); }

Tidak ada komentar:

Posting Komentar