View
218
Download
2
Category
Preview:
Citation preview
���������� ��������������������1
����
���������� ��������������������2
�����
� � ���������
� ��� ����
� � ����� ���
� � �� � �
� � ������ �
� � �� ���������� ����� ���
� � ������������ ������ �������
� � �������
� �������
� � ��������
���������� ��������������������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
���������� ��������������������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
���������� ��������������������7
����������
� " �� �%�����!���#�� �����!�� �� � ���%��������������%�����
� " ��� �������� ������ ��������%����������������#� ��� ��� !�
� ������� ���� ����������� �� ����%�����������������
� ��� ��� � ��������� ��)� ��������� �������� ������������*
� � �� %����#� � �#� ����� ������������!�� ���������� � ������
� ���%������������������ � ������������ ��������
���������� ��������������������8
�����������
� � �����������������������%�������� ��� �����#����� ���� ���� �������%��
���������+�� �� ���� �� ��������� ����� �� %���� �#� ���� ����� �, &�
� �� %�� ����� � � ����� ����� � ��� � ������� � ����������� ��������� �����
����� ��+�� �� ���� �� ������������ � ������� ������ ����� ����������
����- �����������������%� ����������� ��� �����%� ������ � ����������&
Kiri Info Kanan
���������� ��������������������9
�����������
���������� ��������������������10
�������
� " ������ ����������� �������������� ��������������� ��� � ������ �%������ ��������������%� ������������� � �%�����
� " ���������� ��������� �������������� ��� � ���� ����� �� ���� ��������� ����&�� ���������������% ��� �� ��� �� ����������������������� � �����)����#��*&
�
� �
� � � �
�
Balanced binary tree
�
�
�
�
�
�
� �
Unbalanced binary tree
���������� ��������������������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 � ��������� � &
���������� ��������������������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 &�" ����
���������� ��������������������15
!��������������� " ����������%���� ������%� ����� �� �� ��������������%�������������������
����������)������� ��*
� " ��������������������< ����� �����!�� ��������� ���� �%���������� �����������������%�������������
= � ��������� ��� ����� �� ��������� ���������������������������
� � ���������� ���� ��������������6 �#�����
1 &�� �������
, &��������
6 &�� ��������
� � �� ���� �#�� ��������������������� ���� ���������#���������� �
� " �� �� ��!������������ ���� ���������#������������������� ���������%����������� ���� �%���������� �����
���������� ��������������������16
����������������"��#���$����������%
� #����� ����%��������������
� �������
� � ������ �#������� �
� � ������ �#�����������
���������� ��������������������17
����������������"��#���$����������%
� � ���������#������� ������������� ���� �
���������� ��������������������18
Hasil penelusuran secara preorder : A B D G C E H I F
Preorder Traversal(depth first order)
���������� ��������������������19
���������� �������"�������$%
preorder(root)
1 &�" ��� ��root <> NULL!���������������, ���� %� �
�������7
, &�' �����root->info
6 &�� ���� ������ ���preorder(root->kiri)
7 &�� ���� ������ ���preorder(root->kanan)
���������� ��������������������20
����������������"��������������%
� � ������ �#������� �
� #����� ����%��������������
� �������
� � ������ �#�����������
���������� ��������������������21
����������������"��������������%
� 4 �����#������� ����������� ���< ��� � ��
���������� ��������������������22
Hasil penelusuran secara inorder :A B C D H J K L
Inorder Traversal(symetric order)
���������� ��������������������23
�����������������"�������$%
inorder(root)
� " ��� ��root <> NULL!���������������, ���� %� �
�������7
� � ���� ������ ���inorder(root->kiri)
� ' �����root->info
� � ���� ������ ���inorder(root->kanan)
���������� ��������������������24
�����������������
� � ������ �#������� �
� � ������ �#�����������
� #����� ����%��������������
� �������
���������� ��������������������25
�����������������
� 4 �����#������� ����������� ���< ��� � ��
���������� ��������������������26
�����������������
Hasil penelusuran secara postorder : B D C A J L K H
���������� ��������������������27
���������� ��������"�������$%
postorder(root)
1 &�" ��� ��root <> NULL!���������������, ���� %� �
�������7
, &�� ���� ������ ���postorder(root->kiri)
6 &�� ���� ������ ���
postorder(root->kanan)
7 &�' �����root->info
Recommended