14
1 2

11. Tree.pdf

Embed Size (px)

Citation preview

Page 1: 11. Tree.pdf

���������� ��������������������1

����

���������� ��������������������2

�����

� � ���������

� ��� ����

� � ����� ���

� � �� � �

� � ������ �

� � �� ���������� ����� ���

� � ������������ ������ �������

� � �������

� �������

� � ��������

Page 2: 11. Tree.pdf

���������� ��������������������3

����������

� ����� ��!�" ��#�!�$ ������ ���%���������������������������� ���� � ��

� ���������������������������� � ��������� �� � �� ����������&

� ����� ���%���������������������� � %�� ����� �������� ����� ������� � ������� � �������� ������ � ������ ������� ��������� ��������� ����� ���� ������������ ������ �����������&��

� ' ������%�������������������������

� " � ����������

� ( �� �%������ �������������������������� ��

� " ������������� ��� ���� ��������%����������

���������� ��������������������4

������������

R

S

Y Z

X

T

U V W

Root

Internal Node

Leaf

Subtree

Level 0

Level 1

Level 2

Level 3

Child of X

Parent of Z and Y

Page 3: 11. Tree.pdf

���������� ��������������������5

��������������

���������� ��������������������6

����������������������Term Definition Node Sebuah elemen dalam sebuah tree; berisi sebuah informasi Parent Node yang berada di atas node lain secara langsung; B adalah

parent dari D dan E Child Cabang langsung dari sebuah node; D dan E merupakan children

dari B Root Node teratas yang tidak punya parent Sibling Sebuah node lain yang memiliki parent yang sama; Sibling dari

B adalah C karena memiliki parent yang sama yaitu A Leaf Sebuah node yang tidak memiliki children. D, E, F, G, I adalah

leaf. Leaf biasa disebut sebagai external node, sedangkan node selainnya disebut sebagai internal node. B, A, C, H adalah internal node

Level Semua node yang memiliki jarak yang sama dari root. A�level 0; B,C�level 1; D,E,F,G,H�level 2; I�level 3

Depth Jumlah level yang ada dalam tree Complete Semua parent memiliki children yang penuh Balanced Semua subtree memiliki depth yang sama

Page 4: 11. Tree.pdf

���������� ��������������������7

����������

� " �� �%�����!���#�� �����!�� �� � ���%��������������%�����

� " ��� �������� ������ ��������%����������������#� ��� ��� !�

� ������� ���� ����������� �� ����%�����������������

� ��� ��� � ��������� ��)� ��������� �������� ������������*

� � �� %����#� � �#� ����� ������������!�� ���������� � ������

� ���%������������������ � ������������ ��������

���������� ��������������������8

�����������

� � �����������������������%�������� ��� �����#����� ���� ���� �������%��

���������+�� �� ���� �� ��������� ����� �� %���� �#� ���� ����� �, &�

� �� %�� ����� � � ����� ����� � ��� � ������� � ����������� ��������� �����

����� ��+�� �� ���� �� ������������ � ������� ������ ����� ����������

����- �����������������%� ����������� ��� �����%� ������ � ����������&

Kiri Info Kanan

Page 5: 11. Tree.pdf

���������� ��������������������9

�����������

���������� ��������������������10

�������

� " ������ ����������� �������������� ��������������� ��� � ������ �%������ ��������������%� ������������� � �%�����

� " ���������� ��������� �������������� ��� � ���� ����� �� ���� ��������� ����&�� ���������������% ��� �� ��� �� ����������������������� � �����)����#��*&

� �

� � � �

Balanced binary tree

� �

Unbalanced binary tree

Page 6: 11. Tree.pdf

���������� ��������������������11

���������������������� . �������� ��������� ����������� ��� ���������� ���� �����

� " �� ����!�������� �����#������������������������ �������������Kiri Info Kanan

typedef char typeInfo;

typedef struct Node tree;

struct Node {

typeInfo info;

tree *kiri; /* cabang kiri */

tree *kanan; /* cabang kanan */

};

���������� ��������������������12

����������������������

� � �%���� ������������������#������������ ���������������� �

� � ����� �� %����� ������%�������������������� %������������ �

������ � �������%��������� �����������&

� � ������� ��������!�������������� � � ���������� � ����/�� ��

�����0 ��� �%������������ ��� %������� �����������������������

/�� ����# 0 � ��������� � &

Page 7: 11. Tree.pdf

���������� ��������������������13

������� �������� ����������������������

1 &�" �%�������������

� ����� ����� �� �������

� � �������� �������

� ����%� ������ � �2 �������3 �. 4

, &�" � %����%����%�� � ��������%��

� ����������� � ����� ����������%�� � ��������%��+� ���������� � ������ ����������� �%������������ ������ �� �������������!�������� ����# ���� �%������������ ������ �� ��������� �

� ���� ���� � ���������� � ������ ����� �%������������ ��� %������� �������������!�������� ����# �� ��������� �

���������� ��������������������14

��������� ����������������������1 &�� ��������������)new*

, &�' ����%�����root = NULL!�

� �����!�� ����root = new!�� ��� %�������������5

� ���� ���!�� ���������������������������� ���

6 &�� ��#�� �%�� � ��������%���������new!����������P =root, Q = root

7 &�� ���������������8 �����9 ����� ��Q <> NULL �����new->info <> P->info

8 &� ��������P = Q

9 &�' ����%�����new->info < P->info

� �����!�)������������#������� � *!����������Q = P->kiri

� ���� ���!�)������������#�����������*!����������Q = P->kanan

: &�' ����%�����new->info = P->info

� �����!�)� ����%����� � � %���*!���� % ����%�������% ��� !��� %�������������5

� ���� ���!�)� � %���*!�����������������;

; &�' ����%�����new->info < P->info

� �����!�)������ �#������� � *�P->kiri = new

� ���� ���!�)������ �#�����������*�P->kanan = new

5 &�" ����

Page 8: 11. Tree.pdf

���������� ��������������������15

!��������������� " ����������%���� ������%� ����� �� �� ��������������%�������������������

����������)������� ��*

� " ��������������������< ����� �����!�� ��������� ���� �%���������� �����������������%�������������

= � ��������� ��� ����� �� ��������� ���������������������������

� � ���������� ���� ��������������6 �#�����

1 &�� �������

, &��������

6 &�� ��������

� � �� ���� �#�� ��������������������� ���� ���������#���������� �

� " �� �� ��!������������ ���� ���������#������������������� ���������%����������� ���� �%���������� �����

���������� ��������������������16

����������������"��#���$����������%

� #����� ����%��������������

� �������

� � ������ �#������� �

� � ������ �#�����������

Page 9: 11. Tree.pdf

���������� ��������������������17

����������������"��#���$����������%

� � ���������#������� ������������� ���� �

���������� ��������������������18

Hasil penelusuran secara preorder : A B D G C E H I F

Preorder Traversal(depth first order)

Page 10: 11. Tree.pdf

���������� ��������������������19

���������� �������"�������$%

preorder(root)

1 &�" ��� ��root <> NULL!���������������, ���� %� �

�������7

, &�' �����root->info

6 &�� ���� ������ ���preorder(root->kiri)

7 &�� ���� ������ ���preorder(root->kanan)

���������� ��������������������20

����������������"��������������%

� � ������ �#������� �

� #����� ����%��������������

� �������

� � ������ �#�����������

Page 11: 11. Tree.pdf

���������� ��������������������21

����������������"��������������%

� 4 �����#������� ����������� ���< ��� � ��

���������� ��������������������22

Hasil penelusuran secara inorder :A B C D H J K L

Inorder Traversal(symetric order)

Page 12: 11. Tree.pdf

���������� ��������������������23

�����������������"�������$%

inorder(root)

� " ��� ��root <> NULL!���������������, ���� %� �

�������7

� � ���� ������ ���inorder(root->kiri)

� ' �����root->info

� � ���� ������ ���inorder(root->kanan)

���������� ��������������������24

�����������������

� � ������ �#������� �

� � ������ �#�����������

� #����� ����%��������������

� �������

Page 13: 11. Tree.pdf

���������� ��������������������25

�����������������

� 4 �����#������� ����������� ���< ��� � ��

���������� ��������������������26

�����������������

Hasil penelusuran secara postorder : B D C A J L K H

Page 14: 11. Tree.pdf

���������� ��������������������27

���������� ��������"�������$%

postorder(root)

1 &�" ��� ��root <> NULL!���������������, ���� %� �

�������7

, &�� ���� ������ ���postorder(root->kiri)

6 &�� ���� ������ ���

postorder(root->kanan)

7 &�' �����root->info