152
(free tree n - n c

(free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ÓþÂã�) �û´¡¤¢

(free tree "¢�¥� ´¡¤¢') ¤ø¢ öøÀ� ø À��Ýû é�Âð ×þ.´¨� ñ�þ n− 1 ý�¤�¢ �fÖ�ì¢ §�¤ n �� üµ¡¤¢ ß��� ×þ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 1 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 2: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

E = V − 1 Ýþ¤�¢ ,Àª�� (V ) �û§�b¤ ¢�Àã� (E) �ûñ�þ ¢�Àã� Âð� :Ýó,E = 0 �î ´¨� üúþÀ� n = 1 ý�Â� :�ÂÖµ¨� �� :��±��

E = k − 1 Ýþ¤�¢ V = k ý�Â� :DZ�ÂÖµ¨� ­Âê

V = k + 1 Âð� :DZ�ÂÖµ¨� ÝØ�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 2 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 3: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

·î�À� ý¢ø¤ø ��¤¢ �îý¤�Ï�� Ý�û¢ ¤�Âì ´ú� ¢�¥� ´¡¤¢ ×þ ý�ûñ�þ ýø¤ Â� Âð�.Ý�þ�ð §��¤ ß�� "ýÀ÷¥Âê ¤À�' ý�Î��¤ �� ´¡¤¢ ×þ ö� �� ,Àª�� ×þ¢¤�¢ ¤À� ×þ �fÖ�ì¢ �Èþ¤ ¥� Â�è ÂÊ�ä Âû •É¿Èõ�÷ ö�À÷¥Âê ¢�Àã� •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 3 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 4: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

üµÈð¥�� �¤��¬ �� ´¡¤¢ ÓþÂã�

r

r1 r2 rk

T1 T2 Tk

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 4 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 5: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

.´¨� ´¡¤¢ ×þ üþ�ú���� ùÂð ×þ •ý�Èþ¤ �� �¤ T Â�ï¤Ã� ´¡¤¢ ×þ rk�� r1 ý�û�Èþ¤ �� Tk �� T1 ÛÖµÆõ ´¡¤¢ k ¥� •.Àª�� rk �� r1 ¤À� r �îý¤�Ï�� Ýþ¥�Æ� r.¢�� À�û��¡ T "ý�û´¡¤¢Âþ¥' T1, ..., Tk �¤��¬ßþ� ¤¢ •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 5 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 6: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

c

a

b d e

ihgf

j k l m

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 6 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 7: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ýÀ÷¥Âê ¤À� ý�û´¡¤¢ ¤¢ ��óø� ý�ûÓþÂã�¤�¢´ú� ´¡¤¢ ¤¢ (root) �Èþ¤.´¨� �µØþ ¤�¢´ú� ´¡¤¢ Âû ¤¢ ùÂð ßþ� ,´Æ�÷ ¤À� ý�¤�¢ �î ´¨� ý�ùÂð

(subtree) ´¡¤¢Âþ¥©¢�ø� ý�Þû �� ùÂð ×þ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 7 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 8: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(leaf) ïÂ�.À÷¥Âê öøÀ� ùÂð(sibling) ¤¢�Â�.À�µÆû Ýû ¤¢�Â� ,À÷¤�¢ ¤À� ×þ �î üþ�ûùÂð

(interior node) üÜ¡�¢ ùÂð.ïÂ� Â�è ùÂð

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 8 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 9: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%(height) v ùÂð á�Ô�¤�

v ý�Èþ¤ �� üµ¡¤¢Âþ¥ ¥� ý�ùÂð w �îý¤�Ï�� w ïÂ� �� v ¥� Â�Æõ ßþÂ�ï¤Ã� ñ�Ï.Àª��´¡¤¢ á�Ô�¤�.�Èþ¤ á�Ô�¤�

(depth - level) ùÂð ×þ (Õ�Þä) ¼�Ψ.ùÂð ö� �� ´¡¤¢ �Èþ¤ ¥� ýÂ�Æõ ñ�Ï �� ´�¨� Â��Â�ü¨Àì ÀÞ½õ c© 1391 ö��� 13 9 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 10: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(balanced tree) ö¥��µõ ´¡¤¢.Àª�� �µª�¢ é�µ¡� Ýû�� À��ø ×þ ·î�À� ö� ý�ûïÂ� ¼Î¨�î üµ¡¤¢

(completely balanced tree) ö¥��µõ �f õ�î ´¡¤¢. À�ª�� ö�ÆØþ ö� ý�ûïÂ� ¼�Ψ �î üµ¡¤¢

(k-ary tree) üþ�� k ´¡¤¢.À�ª�� k ´¡¤¢ ×þ ùÂð Âû ö�À÷¥Âê ¢�Àã� ·î�À�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 10 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 11: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(complete k-ary tree) Ûõ�î üþ�� k ´¡¤¢�þ k Â��Â� (ùÂð ×þ ·î�À� Ã�) ùÂð Âû ö�À÷¥Âê ¢�Àã� ö�¤¢ �î ´¨� ü÷¥��µõ ´¡¤¢.Àª�� (ïÂ� ý�Â�) ÂÔ¬

(ordered tree) °�Âõ ´¡¤¢.Àª�� Ýúõ ùÂð Âû ö�À÷¥Âê °��Â� ö�¤¢ �î ´¨� üµ¡¤¢

(labeled tree) ¤�¢°Æ�Â� ´¡¤¢.¢¤�¢ °Æ�Â� ×þ ö� ùÂð Âû �î ´¨� üµ¡¤¢

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 11 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 12: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%(binary tree) üþø¢ø¢ ´¡¤¢²�� À÷¥Âê ý�ûô�÷ �� À÷¥Âê ø¢ ý�¤�¢ ·î�À� ö�Â�Ê�ä Âû �î ´¨� ü±�Âõ ´¡¤¢�î ¢�ªÉ¿�Èõ Àþ�� Àª�� �µª�¢ À÷¥Âê ×þ ÍÖê ùÂð ×þ Âð� .Àª�� üõ ´¨�¤ ø.´¨�¤ �þ ´¨� ²� À÷¥Âê

(descendents) v ùÂð ×þ ¢�ø�Ó�þÂã� ßþ� �� .Ý�þ�ðüõ v ¢�ø� �¤ v �Èþ¤ �� üµ¡¤¢Âþ¥ ¤¢ ¢���õ ü�ûùÂð ý��Üî.´¨� ©¢�¡ ¢�ø� ¥� üØþ ùÂð Âû

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 12 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 13: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%(ancestors) ùÂð ×þ ¢�À��.Ý�þ�ð ùÂð ö� ¢�À�� �¤ ùÂð ×þ �� ��Èþ¤ ¥� ýÂ��Æõ ¤¢ ¢���õ ý�ûùÂð ý��Üî.´¨� ©¢�¡ ¢�À�� øÃ� ýÂ�Ê�ä Âû ßþ�Â����

(proper descendents) üãì�ø ¢�ø�.À�þ� üõ ��Æ� �� üãì�ø ¢�ø� ùÂð ö� ¢�¡ ¥� Â�è�� ùÂð ×þ ¢�ø� ô�Þ�

(proper ancestors) üãì�ø ¢�À��.À�µ�Æû üãì�ø ¢�À�� §�¤ ö� ¢�¡ ¥� Â�è �� §�¤ ×þ ¢�À�� ô�Þ�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 13 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 14: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%(full tree) Â� ´¡¤¢ö¥��µõ �f õ�î ø Ûõ�î ´¡¤¢

(forest) ÛÚ��!´¡¤¢ ý¢�Àã�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 14 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 15: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�ÜÿÆõ

ö� ý� ûï � ¢�À ã � ,Àª� � k � þ  Ԭ ùÂð  û ö�À ÷¥Â ê ¢�À ã �  ð� ù ð n � � ü µ¡¤¢ ¤¢?´¨��À��

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 15 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 16: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

:Û��ûïÂ� ¢�Àã� B •�ûùÂð Ûî ¢�Àã� n •.n− 1 = (n−B) ∗ k �ûñ�þ ¢�Àã� •�þ B = n− (n− 1)/k ø n−B = (n− 1)/k Å� •B = [(k − 1)n + 1]/k

.Àª�� ÂþÁ�Ç¿� k Â� Àþ�� (k − 1)n + 1 ü�ãþ •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 16 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 17: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�û´¡¤¢ Çþ�Þ��

T1...Tk ´¡¤¢ Âþ¥ k ø r �Èþ¤ �� T ´¡¤¢ :­Â�ê:(preorder) °��Â�Ç�� ©ø¤

Pre(T ) = r, Pre(T1), P re(T2), . . . , P re(Tk) :(inorder) °��Â�ö��õ ©ø¤

Inorder(T ) = Inorder(T1), r, Inorder(T2), . . . , Inorder(Tk):(postorder) °��Â�Å� ©ø¤

Post(T ) = Post(T1), P ost(T2), . . . , P ost(Tk), r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 17 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 18: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

c

a

b d e

ihgf

j k l m

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 18 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 19: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

preorder(T ): a, b, c, f, g, h, j, k, d, e, i, l, m

inorder(T ): b, a, f, c, g, j, h, k, d, l, i, m, e

postorder(T ): b, f, g, j, k, h, c, d, l, m, i, e, a

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 19 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 20: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ñ¢�ãõ üþø¢ø¢ ´¡¤¢m

d e

j k

hgf i

a

b c

l

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 20 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 21: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

´¡¤¢ ýø¤ Â� ñ�Þä�

(.´¨� üú� root[T ]) À�îüõ ¢�¹þ� T üú� ´¡¤¢ ×þ :MakeEmpty(T ) •´¡¤¢ :ü�ø¡ ,º�û :ý¢ø¤ø

À÷�¢ÂðüõÂ� �¤ T ´¡¤¢ ý�Èþ¤ :Root(T ) •ùÂð :ü�ø¡ ,´¡¤¢ :ý¢ø¤ø

À÷�¢ÂðüõÂ� T ´¡¤¢ ¤¢ �¤ p ýùÂð ¤À� :Parent(T, p) •ü¨Àì ÀÞ½õ c© 1391 ö��� 13 21 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 22: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

null �þ ùÂð :ü�ø¡ ,ùÂð ø ´¡¤¢ :ý¢ø¤ø

À÷�¢ÂðüõÂ� T ´¡¤¢ ¤¢ �¤ p ýùÂð À÷¥Âê ß�óø� :Left-Most-Child(T, p) •

null �þ ùÂð :ü�ø¡ ,ùÂð ø ´¡¤¢ :ý¢ø¤ø

À÷�¢ÂðüõÂ� T ´¡¤¢ ¤¢ �¤ p ´¨�¤ ´Þ¨ ¤¢�Â� :Right-Sibling(T, p) •

null �þ ùÂð :ü�ø¡ ,ùÂð ø ´¡¤¢ :ý¢ø¤ø

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 22 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 23: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

´¡¤¢ ¤¢ ¢���õ ¬��ä ¢�Àã� :Size(T ) •¼�½¬ ¢Àä ×þ :ü�ø¡ ,´¡¤¢ :ý¢ø¤ø

´¨� üó�¡ ´¡¤¢ �þ� �î À�îüõ É¿Èõ :isEmpty(T ) •´¨¤¢�÷ �þ ´¨¤¢ :ü�ø¡ ,´¡¤¢ :ý¢ø¤ø

À÷�¢ÂðüõÂ� �¤ p ùÂ𠤢 ÂÊ�ä °Æ�Â� :Element(T, p) •°Æ�Â� :ü�ø¡ ,ùÂð ø ´¡¤¢ :ý¢ø¤ø

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 23 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 24: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

T ´¡¤¢ ¤¢ r ý�Èþ¤ �� üµ¡¤¢ Âþ¥ Çþ�Þ��

Preorder (T, r)1 if r = null

2 then return

3 visit Element(T, r)4 p← Left-Most-Child (T, r)5 while p 6= null

6 do Preorder (T, p)7 p← Right-Sibling (T, p)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 24 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 25: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Postorder (T, r)1 if r = null

2 then return

3 p = Left-Most-Child (T, r)4 while p 6= null

5 do Postorder (T, p)6 p← Right-Sibling (T, p)7 visit Element(T, r)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 25 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 26: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Inorder (T, r)1 if r = null

2 then return

3 p← Left-Most-Child (T, r)4 Inorder (T, p)5 visit Element(T, r)6 p← Right-Sibling (T, p)7 while p 6= null

8 do Inorder (T, p)9 p← Right-Sibling (T, p)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 26 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 27: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ÂÚþ¢ ÛÞä À��

CountNodes (T, r). ¢¤�Þªüõ �¤ r ý�Èþ¤ �� T ´¡¤¢ ¤¢ ¢���õ ý�ûùÂð ¢�Àã�

1 if Root(T =) null

2 then return 03 count← 14 p← Left-Most-Child(T, r)5 while p 6= null

6 do count← count+ CountNodes(T, p)7 p← Right-Sibling (T, p) return count

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 27 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 28: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

NodeHeight (T, p). À÷�¢ÂðüõÂ� �¤ö� ø À�îüõ �±¨�½õ T ´¡¤¢ ¤¢ �¤ p ùÂð á�Ô�¤�

. Ýþ¤�À÷ üä�Ï� ´¡¤¢ ý¥�¨ù¢��� ýù�½÷ ¥�

1 if isEmpty(T )2 then return -13 height← 04 p← Left-Most-Child(T, p)5 while p 6= null

6 do height← max{height, NodeHeight (T, p)}7 p← Right-Sibling(T, p)8 return height + 1

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 28 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 29: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

:ÂÚþ¢ ý�ûÛÞä �� parent ý¥�¨ù¢��� :ßþÂÞ�

r ý�Èþ¤ �� üµ¡¤¢Âþ¥ ¤¢ T ´¡¤¢ ¤¢ p ¤À�

Find-Parent (T, r, p). À÷�¢ÂðüõÂ� T ´¡¤¢ ¤¢ r ý�Èþ¤ �� üµ¡¤¢Âþ¥ ¤¢ �¤ p ùÂð ×þ ¤À� ùÂð

. À÷�¢ÂðüõÂ� null Àª�±÷ ´¡¤¢Âþ¥ ¤¢ ÂÊ�ä �î ü�¤�¬ ¤¢

. ¢¤�À÷ ¢��ø "¤À�' Âðù¤�ª� �î Ý��îüõ ­Âê1 if p = r2 then return null

3 q ← Left-Most-Child(T, r)4 while q 6= null

5 do if p = q6 then return r7 s← Parent(T, q, p)8 if s 6= null

9 then return s10 q ← Right-Sibling(T, q)11 return nullü¨Àì ÀÞ½õ c© 1391 ö��� 13 29 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 30: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�þ�¤� �� �û´¡¤¢ ý¥�¨ù¢���

.´¨� ÂÔ¬ ö� Father ý�Ôó�õ :�Èþ¤ ý�þ�¤¢.¢�ª ÐÔ� Àþ�� �û¤¢�Â� °��Â� ?°�Âõ ý�û´¡¤¢ ý¥�¨ù¢���

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 30 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 31: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

c

a

b d e

ihgf

j k l m

1 2 3 4 5 6 7 8 9 10 11 12 13key a b c d e f g h i j k l m

parent 0 1 1 1 1 2 2 2 5 8 8 9 9

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 31 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 32: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

.¢Âî ý¥�¨ù¢��� �þ�¤� ×þ ¤¢ �¤ ´¡¤¢ À�� ö���üõ ©ø¤ ßþ� ��

r

p

x z

u q m

w s t

a

b d ec

f g ih

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19a b c d e f p u g h i q m r s t w x z0 1 1 1 1 2 0 7 2 5 5 7 7 13 13 13 8 8 8

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 32 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 33: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�ûÂðù¤�ª� ¥� ù¢�Ôµ¨� ��

:À� ©ø¤ùÂð Âû,label ý�û�Ôó�õ •ù¤� ª� ù ð ö� ô�i À ÷¥Â ê � � child[i] � î Child[1..max-child] ý� þ�¤� × þ •.À�îüõ.´¨� ´¡¤¢ ¤¢ ùÂð ×þ ö�À÷¥Âê ¢�Àã� ·î�À� max_child ¤�ÀÖõ •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 33 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 34: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%ü¨Àì ÀÞ½õ c© 1391 ö��� 13 34 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 35: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ñ¢�ãõ üþø¢ø¢ ´¡¤¢ :��¡ ý¥�¨ù¢���ùÂð Âû ý�Â�

label ý�Ôó�õ •parent ø right-sibling ,left-most-child Âðù¤�ª� �¨ •(üܬ� ´¡¤¢ ¤¢) ùÂð ö� ¤À� �� ø ´¨�¤ ´Þ¨ ¤¢�Â� ,²�´Þ¨ À÷¥Âê ß�óø� �� •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 35 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 36: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

a

b c d

f g h

j k

i

l m

root[T ]

e

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 36 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 37: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

üÆþÀ÷� ý�ûÂðù¤�ª� ¥� ù¢�Ôµ¨� �� ý¥�¨ù¢���©ø¤ ø¢ ý�Æþ�Öõ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 37 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 38: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

©ø¤ ßþ� �� ùÀª ý¥�¨ù¢��� ´¡¤¢ ©ÂµÆð ø ¢�¹þ�

Create2 (x, T1, T2). À�îüõ ¢�¹þ� ´¨� x ö� °Æ�Â� �î ý��Èþ¤ �� üµ¡¤¢

. À�ª�� ö� ôø¢ ø ñø� ý�û´¡¤¢Âþ¥ °��Â��� T2 ø T1 ý�û´¡¤¢ Âþ¥ �î

. À÷�ùÀª ý¥�¨ù¢��� ©ø¤ ß�Þû �� üµ¨¤¢�� �û´¡¤¢Âþ¥ ø ´Æ�÷ üú� T1 :­Âê

r ← Allocate-Node (x, T1,null )1 parent[Root(T1)] ← r2 parent[Root(T2)] ← r3 right-sibling[Root(T1)] ← Root(T2)4 return r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 38 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 39: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Create3 (x, T1, T2, T3). Àû¢üõ ô�¹÷� T3 ø T2 ,T1 ´¡¤¢ Âþ¥ �¨ �� �¤ Create2 ¤�î ö�Þû

r ← Allocate-Node (x, T1,null )1 parent[Root(T1)] ← r2 parent[Root(T2)] ← r3 parent[Root(T3)] ← r4 right-sibling[Root(T1)] ← Root(T2)5 right-sibling[Root(T2)] ← Root(T3)6 return r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 39 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 40: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

üþø¢ø¢ ´¡¤¢

.À�îüõ ù¤�ª� ùÂð ö� ´¨�¤ ø ²� À÷¥Âê �� �î ¢¤�¢ right ø left ý�Ôó�õ ø¢ ùÂð Âû.Àª�� �µª�¢ Ýû parent ´¨� ßØÞõ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 40 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 41: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ùÂð n �� üþø¢ø¢ ý�û´¡¤¢ ¢�Àã�

n− i

i

i− 1

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 41 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 42: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

T (n) =

T (0) = 1

T (n) =n∑

i=1T (i− 1)T (n− i), n ≥ 1(ö����î ô�n ¢Àä) T (n) = 1

n+1(2nn

) üµÈð¥�� ý�Î��¤ ßþ� ����

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 42 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 43: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Preorder (T, r). r ý�Èþ¤ �� T üþø¢ø¢ ´¡¤¢ °��Â�Ç�� Çþ�Þ��

1 if r = null

2 then return

3 visit Element(T, r)4 Preorder(T, left[r])5 Preorder(T, right[r])

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 43 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 44: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(Expression Tree) �¤�±ä ´¡¤¢:�¤�±ä ×þ Óܵ¿õ ý�û©¤�Ú÷

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 44 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 45: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(infix with complete paranthesis) Ûõ�î ýõ÷�Â� �� ýÀ÷øö��õ •E → (E 〈β〉 E )

→ ( 〈α〉E )

→ 〈operand〉

〈α〉 → ¬ | ! | Sin | Log | · · · unary operators

〈β〉 → − |+ | ∗ | / | ˆ | ∧ | ∨ | · · · binary operators

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 45 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 46: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%(postfix) ýÀ÷�Æ� ©¤�Ú÷ •

E → EE〈β〉

→ E〈α〉

→ 〈operand〉

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 46 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 47: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%(prefix) ýÀ÷øÇ�� ©¤�Ú÷ •

E → 〈β〉EE

→ 〈α〉E

→ 〈operand〉

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 47 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 48: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

a+(b-c*d)^e-f^g^(h /-i* k)

a ∧ f

+ ∧

− e g ∗

k/b

c d h ¬

i

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 48 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 49: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�¤�±ä ©¤�Ú÷

a+(b-c*d)^e-f^g^(h/¬i*k) ýÀ÷øö��õ

((a+((b-(c*d))^e))-(f^(g^((h/(¬i))*k)))) Ûõ�î õ÷�Â� �� ýÀ÷øö��õ

abcd*-e^+fghi¬/k*^^- ýÀ÷øÅ�

-+a^-b*cde^f^g*/h¬ik ýÀ÷øÇ��

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 49 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 50: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�¤�±ä ×þ Óܵ¿õ ý�û©¤�Ú÷ ÛþÀ±�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 50 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 51: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�¤�±ä ´¡¤¢← Ûõ�î õ÷�Â� �� ýÀ÷øö��õ

( E1 E2β )

l r

l + 1 k

β

E1E2

E2k + 2

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 51 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 52: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

( )

l r

α E

l + 2α

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 52 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 53: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

P-Infix-to-Tree (l, r). �¤ ¢¤�¢ ¤�Âì par-infix ý�þ�¤� ¤¢ r �� l ÅþÀ÷� ¥� �î Ûõ�î õ÷�Â� �� ýÀ÷øö��õ �¤�±ä ×þÀ�îüõ ÛþÀ±� ö� ñ¢�ãõ �¤�±ä ´¡¤¢ �� üµÈð¥�� ©ø¤ ��

1 if l > r2 then return null

3 if l = r4 then return Allocate-Node (par-infix[l], null , null )5 if par-infix[l + 1] in an unary operator6 then return Allocate-Node (par-infix[l + 1],null ,

P-Infix-to-Tree(l + 2, r − 1))7 k ← FindMatch(l + 1)8 return Allocate-Node (par-infix[k + 1],

P-Infix-to-Tree(l + 1, k), P-Infix-to-Tree(k + 2, r − 1))

O(n2)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 53 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 54: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

((a+((b−(c*d))^e))−(f^(g^((h/−i))*k))))

(

i

)

)

k

)

)

)

)

(

(g

(

f

)

e

)

)

)

dc

(

b

(

(+

a

(

(

^ ^

/

*

^

*

h

^ ^

^

i

¬hdc

b / k

∗ge−

+

fa

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 54 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 55: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

.´¨� üΡ ݵþ¤�Úó�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 55 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 56: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

NR-P-Infix-to-Tree (). À÷¤�¢ ¤À� �� Âðù¤�ª� ,´¡¤¢ ý�ûùÂð �î ¢�ªüõ ­Âê

1 Create-Tree (T )2 p← Root (T )3 for i = 1 to length[par-infix]4 do switch

5 case par-infix[i] = ’(’6 do if par-infix[i + 1] 6= unary operator7 then left[p]← Alloc-N (null , null , p)8 p← left[p]9 case par-infix[i] = ’)’

10 do p← parent[p]11 case par-infix[i] is an operand12 do label[p] ← par-infix[i]; p← parent[p]13 case par-infix[i] is a binary or unary operator14 do label[p] ← par-infix[i]15 right[p]← Alloc-N (null , null , p)16 p← right[p]ü¨Àì ÀÞ½õ c© 1391 ö��� 13 56 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 57: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ýÀ÷øÅ� �¤�±ä �� (Ûõ�î ýõ÷�Â� �� �fõøÃó �÷) ýÀ÷øö��õ �¤�±ä ÛþÀ±�

ü�ø¡ �µÈ�→ ← ý¢ø¤ø ý�û�Æþ�÷

a +(b− c ∗ d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)a + (b− c ∗ d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)a + ( b− c ∗ d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)a +( b −c ∗ d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)

ab +( − c ∗ d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)ab +(− c ∗d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)

abc +(− ∗ d) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)abc +(−∗ d ) ∧ e− f ∧ g ∧ (h/¬ i ∗ k)

abcd +(−∗ ) ∧e− f ∧ g ∧ (h/¬ i ∗ k)abcd ∗ − + ∧ e− f ∧ g ∧ (h/¬ i ∗ k)abcd ∗ − +∧ e −f ∧ g ∧ (h/¬ i ∗ k)

abcd ∗ −e +∧ − f ∧ g ∧ (h/¬ i ∗ k)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 57 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 58: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ü�ø¡ �µÈ�→ ← ý¢ø¤ø ý�û�Æþ�÷

abcd ∗ −e ∧+ − f ∧g ∧ (h/¬ i ∗ k)abcd ∗ −e ∧+f − ∧ g ∧ (h/¬ i ∗ k)abcd ∗ −e ∧+f −∧ g ∧(h/¬ i ∗ k)

abcd ∗ −e ∧+fg −∧ ∧ (h/¬ i ∗ k)abcd ∗ −e ∧+fg − ∧ ∧ ( h/¬ i ∗ k)abcd ∗ −e ∧+fg − ∧ ∧( h /¬ i ∗ k)

abcd ∗ −e ∧+fgh − ∧ ∧( / ¬ i ∗ k)abcd ∗ −e ∧+fgh − ∧ ∧(/ ¬ i ∗ k)abcd ∗ −e ∧+fgh − ∧ ∧(/¬ i ∗k)

abcd ∗ −e ∧+fghi − ∧ ∧(/¬ ∗ k)abcd ∗ −e ∧+fghi¬ / − ∧ ∧(∗ k )

abcd ∗ −e ∧+fghi¬ /k − ∧ ∧(∗ )abcd ∗ −e ∧+fghi¬ /k∗ − ∧ ∧

abcd ∗ −e ∧+fghi¬ /k ∗ ∧ ∧ −

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 58 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 59: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

t : ´¨� �µÈ� ý��� �î ýÂðÛÞä

( − + × / ˆ ¬( Push Push Push Push Push Push Push− Push Pop Pop Pop Pop Pop Pop+ Push Pop Pop Pop Pop Pop Pop

c:ý¢ø¤ø ÂðÛÞä ∗ Push Push Push Pop Pop Pop Pop/ Push Push Push Pop Pop Pop Popˆ Push Push Push Push Push Push Pop¬ Push Push Push Push Push Push Pop) Pop-more Pop Pop Pop Pop Pop Pop

Action[i,j] ñøÀ�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 59 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 60: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Infix-to-Postfix (infix)Intialize-actions()

1 while there is token in infix2 do read token c from infix3 if c is an operand4 then write c at the end of postfix5 elsedone← false6 while not done7 do if isEmpty(S)8 then Push(c, S); done← true

9 elset← Top(S)10 if action[c, t] =’Push’11 then Push (S, c); done← true

12 elseif t 6= ’(’13 then write t at postfix14 Pop(S)15 while not isEmpty(S)16 do write Top(S) at the end of postfix; Pop(S)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 60 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 61: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

.´¨� üΡ ݵþ¤�Úó�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 61 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 62: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�¤�±ä ´¡¤¢← ýÀ÷øö��õ

üþ�û�¤�±ä ý�û´¡¤¢Âþ¥ ý�û�Èþ¤ ö� ¤¢ �î Ý�û¢üõ ¤�Âì �µÈ� ü�ø¡ ý���� •¢Â�ðüõ ¤�Âì À÷�ùÀª �µ¡�¨ ö��î �� �îý�µÈ� ¤¢ ö� �¤¢ ø À÷øÛÞä � � ùÂð ×þ ¢�¹þ� ü�ãþ ü�ø¡ ¤¢ À÷øÛÞä ��� •ü�ø¡×þ ¢�¹þ� ø ü�ø¡ ý�µÈ� ¥� Pop ¤�� ø¢ ü�ãþ ü�ø¡ ¤¢ üþø¢ø¢ ÂðÛÞä ��� •ü�ø¡ ý�µÈ� ¤¢ ÀþÀ� ´¡¤¢Âþ¥ �¤¢ ø ÂðÛÞä ßþ� �� ´¡¤¢ Âþ¥ö� ý���� ÀþÀ� ´¡¤¢Âþ¥ �¤¢ ø Pop ¤�� ×þ ü�ãþ ü÷�Úþ ÂðÛÞä ��� •.O(n) ý�±�Âõ ¥�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 62 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 63: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(Θ(n) ¥� ñø� ù�¤) ýÀ÷øÇ�� ← ýÀ÷øÅ�üµÈð¥�� ý�þø¤ ×þ ¤¢ÛþÀ±� prefix[? · · · j] ¤¢ ýÀ÷øÇ�� ©¤�Ú÷ �� �¤ postfix[? · · · i] ýÀ÷øÅ� �¤�±äÂþ¥ •Ý��îüõÀ�µÆû �¤�±äÂþ¥ ø¢ ßþ� áøª ý�ûÅþÀ÷� j ø i ,�úµ÷� ¤¢ •À÷�ªüõ ­Âê ý¨�¨ ý�û�þ�¤� prefix ø postfix •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 63 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 64: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

E1 β

i

E2

E ′1 E ′2β

j

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 64 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 65: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Postfix-to-Prefix (i, j)switch

1 case postfix[i] is an operand2 do prefix[j]← postfix[i]3 case postfix[i] is a binary operator4 do operator ← postfix[i]5 i← i− 16 Postfix-to-Prefix (i, j)7 i← i− 1; j ← j − 18 Postfix-to-Prefix (i, j)9 prefix[j − 1]← operator

10 j ← j − 111 case postfix[i] is an unary operator12 do operator ← postfix[i]; i← i− 113 Postfix-to-Prefix (i, j)14 prefix[j − 1]← operator15 j ← j − 1

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 65 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 66: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(Θ(n2) ¥� ôø¢ ù�¤) ýÀ÷øÇ�� ← ýÀ÷øÅ�

E1 βE2E ′1 E ′2β

i

k

jr

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 66 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 67: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Postfix-to-Prefix (i, j, k). converts postfix[i..j] to prefix[k..?]

1 if j < i2 then return

3 if i = j4 then prefix[k]← postfix[i]5 elseprefix[k]← postfix[j]6 r ← FindR (postfix, j − 1)7 Postfix-to-Prefix (i, r − 1, k + 1)8 Postfix-to-Prefix (r, j − 1, r − i + k + 1)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 67 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 68: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

FindR (A, j)1 switch2 case A[j] is a binary operator3 do count← 24 case A[j] is a unary operator5 do count← 16 default7 do count← 18 r ← j9 while Count > 0

10 do r ← r − 111 switch12 case A[r] is a binary operator13 do count← count + 114 case A[r] is a unary operator15 do nothing16 case17 do count← count− 118 return r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 68 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 69: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ü¨¤¢� Â�çµõ ,Θ(n) ,ñø� ù�¤) �¤�±ä ´¡¤¢ ← ýÀ÷øÅ�

β

E1 E2

E1 E2 β

j

E2

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 69 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 70: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

α

E

α

j

E

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 70 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 71: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Postfix-to-Tree-1 (j). À�îüõ ¢�¹þ� postfix[?..j] ý�Â� �¤�±ä ´¡¤¢ ×þ

. ¢�� Àû��¡ áøª ÅþÀ÷� Â��Â� �úµ÷� ¤¢ ø ´¨� ü¨¤¢� Â�çµõ ×þ j �î ¢�ªüõ ­Âê

1 n← Allocate-Node(A[j],null ,null )2 switch

3 case postfix[j] is a binary operator4 do j ← j − 15 right[n]← Postfix-to-Tree-1(j)6 j ← j − 17 left[n]← Postfix-to-Tree-1(j)8 case postfix[j] is a unary operator9 do j ← j − 1

10 right[n]← Postfix-to-Tree-1(j)11 return n

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 71 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 72: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(�µÈ� �� ,Θ(n) ,ôø¢ ù�¤) �¤�±ä ´¡¤¢ ← ýÀ÷øÅ�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 72 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 73: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(�µÈ� �� ,Θ(n) ,ôø¢ ù�¤) �¤�±ä ´¡¤¢← ýÀ÷øÅ�

Postfix-to-Tree-2 (postfix). À�îüõ ¢�¹þ� postfix ý�Â� �¤�±ä ´¡¤¢ ×þ

1 Create-Stack(S). À�µÆû ´¡¤¢Âþ¥ ×þ �� Âðù¤�ª� �µÈ� ¬��ä

2 for i← 1 to length[postfix]3 do if postfix[i] is an operand4 then Push(S, Allocate-Node(postfix[i], null , null ))5 if postfix[i] is a unary operator6 then r ← Allocate-Node(postfix[i], null ,Pop(S))7 Push(S, r)8 if postfix[i] is a binary operator9 then t← Pop(S)

10 r ← Allocate-Node(postfix[i],Pop(S), t)11 Push(S, r)12 return Top(S)ü¨Àì ÀÞ½õ c© 1391 ö��� 13 73 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 74: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(Trie) ý�Â�c

ý¤�Ï�� �ÞÜî ¢�Àã� ýùÂ�¡£ ý�Â� ý¤�µ¡�¨ù¢�¢ (retrieval ý�ÞÜî ¥� ùÀª�µêÂðÂ�) ý�Â�(�û��þÍÜè ý�Â�) Â�¡ �þ ´Æû ö� ¤¢ �ÞÜî ×þ �î ¢�¢ É�¿È� �¤�î �¤�¬�� ö��µ� �îô�ÀîÂû ¢¤�¢ À÷¥Âê 26 ,ý�Â�c ýùÂð Âû ,À�ª�� ’z’ �� ’a’ éøÂ� �� üÆ�ÜÚ÷� ��ÞÜî Âð�.éÂ� ×þ ý�Â�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 74 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 75: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

*/−

c d zbah i i

e i

n

t ws

nm

e

o

p

sn

character

*

* *

****

* * *g

e

e

.the ø ,then ,thin ,this ,tip ,see ,some ,so ,win ,wing ��ÞÜî ý�Â� ý�Â�c ×þ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 75 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 76: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

type Lettertype = ’a’ .. ’z’;

Node = ^ Nodetype;

Nodetype = record

letter : Lettertype;

isword: (’*’, ’-’);

children: array[Lettertype] of Node

end;

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 76 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 77: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ý�Â� ýø¤ Â� ñ�Þä�ý�Â� ¤¢ �µª¤ ×þ �¤¢ý�Â� ¥� �µª¤ ×þ éÁ�ý�Â� ¤¢ �µª¤ ×þ ö¢Âî�À�� ý�Â� ��ø´Æ�ý�Â� ¤¢ ¢���õ ý�û�µª¤ ô�Þ� ßµª�÷

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 77 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 78: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ý�Â� ¤¢ �¤¢

Trie-Insert (T, x). À�îüõ �¤¢ T ý�Â� ¤¢ �¤ x ý�ÞÜî

1 p← Root(T )2 for i← 1 to length[x]3 do if the value of x[i]th link of p is null

4 then x[i]th link of p←Allocate-Node(with x[i] as its value)

5 p← x[i]th child of p6 tag[p]← ‘*’

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 78 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 79: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ÓþÂã�) ��ø´Æ� üþø¢ø¢ ´¡¤¢üþø¢ø¢ ´¡¤¢ •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 79 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 80: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ÓþÂã�) ��ø´Æ� üþø¢ø¢ ´¡¤¢üþø¢ø¢ ´¡¤¢ •

x °Æ�Â� �� n ùÂð Âû ý�Â� •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 80 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 81: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ÓþÂã�) (�.¢.¢) ��ø´Æ� üþø¢ø¢ ´¡¤¢üþø¢ø¢ ´¡¤¢ •

x °Æ�Â� �� n ùÂð Âû ý�Â� •ø x ¥� Â�Ýî n ²� ´¡¤¢Âþ¥ ý�ûùÂð ý��Üî °Æ�Â� --

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 81 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 82: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ÓþÂã�) �.¢.¢üþø¢ø¢ ´¡¤¢ •

x °Æ�Â� �� n ùÂð Âû ý�Â� •ø x ¥� Â�Ýî n ²� ´¡¤¢Âþ¥ ý�ûùÂð ý��Üî °Æ�Â� --´¨� x ¥� Â�Ç�� ö� ´¨�¤ ´¡¤¢Âþ¥ ý�ûùÂð ý��Üî °Æ�Â� --

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 82 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 83: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

label

do

then

x

< x > x

else

end

goto

ifbegin

��ø´Æ� üþø¢ø¢ ´¡¤¢ ×þ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 83 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 84: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

¬��ä ýùÀª°�Âõ←−°��Â�ö��õ Çþ�Þ��:´¡¤¢ ¢�¹þ� ¤¢ �¤¢ °��Â�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 84 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 85: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

label

begin

do

else

end

goto

if

begin

do

else

if

goto

end

then

label

then

á�Ô�¤� ßþÂ�Ç�� ��?´¨�� À�� ùÂð n �� üþ�û´¡¤¢ ß��� ¢�Àã�ü¨Àì ÀÞ½õ c© 1391 ö��� 13 85 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 86: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

2n−1 :¢�Àã�

(´ó�� ø¢) ´¨�¤ �þ ¢¤�¢ ²� À÷¥Âê �þ ô�Àî Âû .À÷¥Âê �� ùÂð n− 1ü¨Àì ÀÞ½õ c© 1391 ö��� 13 86 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 87: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

goto

if

label

endbegin

do

else

then

á�Ô�¤� ßþÂ�Ýî ��blg nc :á�Ô�¤� ßþÂ�Ýî?¢�Àã�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 87 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 88: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%.´¨� ´¿¨ üÜî ´ó��?¤�Î� ,¢�È� ö¥��µõ �f õ�î ïÂ� ý¢�Àã� éÁ� �� ´¡¤¢ Âð�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 88 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 89: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ùÂð n �� �.¢.¢ á�Ô�¤�

(?�Â�) blg nc ≤ á�Ô�¤� ≤ n− 1

O(lg n) :á�Ô�¤� ß�Ú÷��õ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 89 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 90: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ùÂð n �� �.¢.¢ ¢�Àã�

?´¡�¨ ö���üõ �ø�Ôµõ �.¢.¢ ´¡¤¢ �� À�� a1 < a2 < · · · < an ��

T (n) =n∑

i=1T (i− 1)T (n− i),

T (0) = 1T (n) =

1n + 1

2nn

ö����î ¢Àä

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 90 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 91: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

!À��î Û� ��ß�Þû

.¢�ª �.¢.¢ �� À�û¢ ´±Æ÷ ý¤�Ï Âþ¥ ´¡¤¢ �� �¤ {6, 22, 9,14, 13,1, 8} ¢�Àä�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 91 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 92: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

96

81

13 1422

¢¥�¨üõ �¤ ë�ê ´¡¤¢ üú� ´¡¤¢ ×þ ¤¢ �¤¢ ý�û�ó�±÷¢ ßþ�13,6, 9,1, 14, 8,2213,14, 6,22, 1, 9,813,6, 1,9, 8, 14,22ü¨Àì ÀÞ½õ c© 1391 ö��� 13 92 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 93: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ë�ê ´¡¤¢ �úµ÷� ¤¢ �� ¢Âî üú� ´¡¤¢ ×þ ¢¤�ø �¤ ë�ê ¢�Àä� ö���üõ ´ó�� À����.À��î �±¨�½õ �fÖ�ì¢ �¤ ¤�ÀÖõ ßþ� ?¢�ª Û¬��

13, 6, 9, 1, 8

^ ^

14 22

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 93 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 94: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

r ∪ l1 ∪ l2 . . . ∪ ln1 ∪T (n) = T (n1)T (n2)(n1 + n2)!

n1!n2!´¨� ²� ´¡¤¢Âþ¥ ¤¢ �ûùÂð ¢�Àã� n1´¨� ´¨�¤ ´¡¤¢Âþ¥ ¤¢ �ûùÂð ¢�Àã� n2

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 94 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 95: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

��ø´Æ�

BST-Search (r, x). ´¨� �.¢.¢ ×þ (ý�Èþ¤ �þ) ùÂð ×þ r

1 if r = null or x = key[r]2 then return r3 if x < key[r]4 then return BST-Search(left[r], x)5 elsereturn BST-Search(right[r], x)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 95 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 96: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(üµÈð¥�� Â�è) ��ø´Æ�

NR-BST-Search (r, x). ´¨� �.¢.¢ ×þ (ý�Èþ¤ �þ) ùÂð ×þ r

1 while r 6= null and x 6= key[r]2 do if x < key[r]3 then r ← left[r]4 elser ← right[r]5 return r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 96 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 97: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

���Þî ÂÊ�ä ßµê�þ

BST-Minimum (r)1 if left[r] = null

2 then return r BST-Minimum(left[r])

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 97 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 98: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(üµÈð¥�� Â�è) ���Þî ßµê�þ

BST-Minimum (r)1 while left[r] 6= null

2 do r ← left[r]3 return r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 98 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 99: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ýÀã� ÂÊ�äx

x

Succ(x)

y = Succ(x)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 99 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 100: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

BST-Successor (r)1 if right[r] 6= null

2 then return BST-Minimum(right[r])3 y ← parent[r]4 while y 6= null and r = right[y]5 do r ← y6 y ← parent[y]7 return y

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 100 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 101: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

x �¤¢r α > x

x

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 101 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 102: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

BST-Insert (r, x). ´¨� �.¢.¢ (ý�Èþ¤ �þ) ùÂð ×þ r

. Àª�� ü¨¤¢� µõ�¤�� ×þ Àþ�� r :Ýúõ

. ¢¤�À÷ ¢��ø parent ý�Ôó�b õ ¢�ªüõ ­Âê1 if r = null

2 then r ← Allocate-Node(x, null , null )3 if x < key[r]4 then BST-Insert(left[r], x)5 elseif x > key[r]6 then BST-Insert(right[r], x)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 102 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 103: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

¤À� ý�Ôó�õ �� üµÈð¥�� �¤¢

BST-Insert-2 (r, p, x). �.¢.¢ (ý�Èþ¤ �þ) ùÂð ×þ r

. ´¨� r ¤À� p

. Àª�� ü¨¤¢� µõ�¤�� ×þ Àþ�� r :Ýúõ1 if r = null

2 then r ← Allocate-Node(x, null , null )3 parent[r]← p4 if x < key[r]5 then BST-Insert-2(left[r], r, x)6 elseif x > key[r]7 then BST-Insert-2(right[r], r, x)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 103 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 104: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

üµÈð¥�� Â�è �¤¢

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 104 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 105: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

NR-BST-Insert (T, x)1 n← Allocate-Node(x,null ,null )2 prep← null

3 p← root[T ]4 while p 6= null

5 do prep← p6 if x < key[p]7 then p← left[p]8 elseif x > key[p]9 then p← right[p]

10 elsereturn11 parent[n]← prep12 if prep = null

13 then root[T ]← n14 elseif x < key[prep]15 then left[prep]← n16 elseright[prep]← n

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 105 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 106: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ÂÊ�ä ßþÂ�×��î éÁ�

t

r

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 106 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 107: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ÂÊ�ä ßþÂ�×��î éÁ�

BST-Deletemin (r). ´¨� �.¢.¢ (ý�Èþ¤ �þ) ùÂð ×þ r

. Àª�� ü¨¤¢� µõ�¤�� ×þ Àþ�� r :Ýúõ1 if r = null

2 then error tree is empty3 if left[r] = null

4 then x← label[r]5 t← r6 r ← right[r]7 parent[r]← parent[t]8 Free-Node (t)9 return x

10 elsereturn BST-Deletemin(left[r])

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 107 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 108: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ÂÊ�ä ×þ éÁ�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 108 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 109: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

rr

r

r ← right[r]

r ← left[r]x

x

x

(c)

(b) (a)

label[r]←BST-DeleteMin(right[r])

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 109 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 110: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

BST-Delete (r, x). r is a node (or the root) of a BST. r is a reference variable

1 if r = null

2 then error (“Tree is Empty”)3 if x < label[r]4 then BST-Delete(left[r], x)5 if x > label[r]6 then BST-Delete(right[r], x)7 if x = label[r]8 then

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 110 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 111: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

BST-Delete (r, x)...

1 if x = label[r]2 then temp← r3 if left[r] = null

4 then r ← right[r]5 parent[r]← parent[temp]6 Freee-Node(temp)7 elseif right[r] = null

8 then r ← left[r]9 parent[r]← parent[temp]

10 Freee-Node(temp)11 else label[r]← BST-Deletemin (right[r])

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 111 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 112: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

!À��î Û� ��ß�Þû

?´¡�¨ ×� �¤�¬�� �¤ö� ö���üõ �¢¢ ×þ ¬��ä ¥� °��Â�ß�� ý�ó�±÷¢ ßµª�¢ �� �þ�?¤�Ï�� °��Â�Å� ��?¤�Ï�� °��Â�Ç�� ��

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 112 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 113: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ÂÊ�ä ×þ üµÈð¥�� Â�è éÁ�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 113 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 114: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(b)(c)

(a)7

18 23y

20

z

y15

5

3

20

2318

16

7

12

10

6

15

5

3

20

2318

7

12

10

6

15

5

3

6

20

2318

16

12

10

7

3

5

15

6

10

12

13

7

16

18 23

3

6

15

7

10

12

16

18 23

20

20

zy

3

5

15

6

10

12

13

7

16

18 23

20

z

y

3

5

15

6

10

12

13z

16

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 114 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 115: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

NR-BST-Delete (T, z)1 if left[z] = null or rigt[z] = null

2 then y ← z3 elsey ← BST-Successor(z)4 if left[y] 6= null

5 then x← left[y]6 elsex← right[y]7 if x 6= null

8 then parent[x]← parent[y]9 if parent[y] = null

10 then root[T ]← x11 elseif y = left[parent[y]]12 then left[parent[y]]← x13 elseright[parent[y]]← x14 if y 6= z15 then key[z]← key[y]

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 115 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 116: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ùÂð n �� �.¢.¢ á�Ô�¤� ß�Ú÷��õ

T üú� �.¢.¢ ×þ ¢¤�ø ö�¨×þ ñ�Þµ�� �� ø üê¢�Ê� �¤�¬�� a1 < a2 · · · < an :­Âê.À÷�ªüõ.´¨� O(log n) Â��Â� T á�Ô�¤� ß�Ú÷��õ �î Ý��îüõ ´���:üê¢�Ê� Â�çµõ �¨.¢�ªüõ ¢�¹þ� ÂÊ�ä n ý�Â� üê¢�Ê� �¤�¬�� �î üµ¡¤¢ á�Ô�¤� Xn •.Yn �� ¤�î üð¢�¨ ÂÏ�¡ �� Yn = 2Xn •.¢Â�ðüõ ¤�Âì �Èþ¤ ¤¢ ø ¢�ªüõ T ¢¤�ø �î ýÂÊ�ä ß�óø� ÅþÀ÷� Rn •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 116 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 117: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

n− i ö� ´¨�¤ ´¡¤¢Âþ¥ ø ÂÊ�ä i− 1 �fÞµ� �Èþ¤ ²� ´¡¤¢Âþ¥ ,Rn = i Âð� •.¢¤�¢ ÂÊ�ä

ø¢ ý�ûá�Ô�¤� ý���È�� ¥� Â�Ç�� À��ø ×þ Â��Â� T á�Ô�¤� �î ´¨� ߪø¤ ß���Ýû •.´¨� ö� ´¡¤¢ Âþ¥

.Y1 = 1 üµÈð¥�� ý�Î��¤ ßþ� ý�þ�� ø Yn = 2max{Yi−1, Yn−i}Å� •

ų¨ ø Ýþ¤ø� ´¨¢� � E[Yn] � þ ,Yn ß�Ú÷� � õ ¤�ÀÖõ ý� � ý��Î ��¤ Ý� �îüõ ü㨠•.Ý��î �±¨�½õ �¤ E[Xn]

Çþ�Þ÷ Âþ¥ Â�çµõ �� �¤ö� ø Àª�� Rn = i �î ÝþÂ�ðüõ ÂÑ÷ ¤¢ �¤ üµó�� ¤�îßþ� ý�Â� •ü¨Àì ÀÞ½õ c© 1391 ö��� 13 117 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 118: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

.Ý�û¢üõ

Zn,i = {Rn = i}

�î ´¨� üúþÀ� ,´¡¤¢ ¬��ä ý�Â� ö�¨×þ ���Þµ�� ­Âê Õ±Ï •E[Zn,i] = 1/n.

,Ýþ¤�¢ ø •Yn =

n∑

i=1Zn,i(2.max{Yi−1, Yn−i})

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 118 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 119: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

.Ýþ¤ø�üõ ´¨¢�� Âþ¥ Õ��Îõ �¤ E[Yn] üê¢�Ê� ý�ûÂ�çµõ ý�ûüðÄþø

E[Yn] = E

n∑

i=1Zn,i(2. max{Yi−1, Yn−i})

=n∑

i=1E[Zn,i(2. max{Yi−1, Yn−i})]

=n∑

i=1E[Zn,i]E[(2.max{Yi−1, Yn−i})]

=n∑

i=1 1nE[(2.max{Yi−1, Yn−i})]

=

2n

n∑

i=1E[(max{Yi−1, Yn−i})]

2n

n∑

i=1(E[Yi−1] + E[Yn−i]).

.´¨� ùÀª ù¢�¢ ßþÂÞ� ö���ä�� ¡� ýø�Æõ�÷ ��±��

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 119 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 120: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

:´ª�÷ Ýû Âþ¥ �¤�¬�� ö���üõ �¤ ýø�Æõ�÷ ßþ�

E[Yn] ≤

4

n

n−1

i=1(E[Yi])

Âþ¥ �¤�±ä üµÈð¥�� ý�Î��¤ Û¬�� �î ¢�¢ ö�È÷ ö���üõ ý¤�Áðý�� ©ø¤ ¥� ù¢�Ôµ¨� ��:´¨�

E[Yn] ≤

14

n + 33

�î Ý�û¢üõ ö�È÷ ßþÂÞ� ¤¢ ,ñ�õÂê ßþ� ��±�� ý�Â�

n−1∑

i=0

i + 33

=

n + 33

:Ýþ¤�¢ Y1 ý�Â� �Àµ�� ¤¢1 = Y1 = E[Y1] ≤ 14

1 + 33

= 1ü¨Àì ÀÞ½õ c© 1391 ö��� 13 120 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 121: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

,Ýþ¤�¢ üÜî ´ó�� ý�Â� .´¨� �ÂÖµ¨� ý�þ�� ßþ� ø

E[Yn] ≤

4

n

n−1

i=0 E[Yi]

=

4

n

n−1

i=0 14

i + 33

=

1n

n−1

i=0

i + 33

=

1n

n + 33

=1

n

(n + 3)!4!(n− 1)!=

14(n + 3)!3!n!

=

14

n + 33

.

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 121 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 122: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%�î Ý�÷�¢üõ éÂÏö� ¥�2E[xn] ≤ E[2Xn] = E[Yn] Å�2E[xn] ≤

14

n + 33

=

14.(n + 3)(n + 2)(n + 1)6

=n3 + 6n2 + 11n + 624 .Ý�µ¨��¡üõ �îö�Þû ,E[Xn] = O(lg n) ,´ª�¢ Ý�û��¡ ÝþÂ�Ú� ݵþ¤�Úó ß�êÂÏ ¥� Âð� �î,ßþ�Â���� .Ý��î ´���

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 122 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 123: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Â��Â� ¢�ªüõ �µ¡�¨ ÂÊ�ä n �� üê¢�Ê� �¤�¬�� �î �.¢.¢ ×þ á�Ô�¤� ß�Ú÷��õ :��Ìì.´¨� O(lg n)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 123 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 124: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ôÂû ,(Priority Queue) ´þ�óø� Ó¬

CLRS ��µî 6/5 Ç¿� ¥�ñ�Þä� ý�Â� ý¤�µ¡�¨ù¢�¢�¤¢ •ÂÊ�ä (ßþÂ�×��î) ßþÂ�ï¤Ã� éÁ� •ÂÊ�ä ×þ À�Üî ¤�ÀÖõ (Çû�î) Çþ�Ãê� •O(lg n) ¤¢ �Þû

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 124 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 125: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(ÓþÂã�) ôÂû �þ ´þ�óø� Ó¬

(complete binary tree) Ûõ�î üþø¢ø¢ ´¡¤¢ ×þ.À÷�ùÀª ùÀ�� ²� ´Þ¨ ¥� ö� ¡� ¼Î¨ ý�ûïÂ�.´Æ�÷ Â�×��î Ç÷�À÷¥Âê ý�ûÀ�Üî ¥� ÂÊ�ä Âû À�Üî� � � È � � ô û ,(Partially Ordered Tree) ° � õ� Þ � ÷ ´ ¡¤¢ ¤� µ ¡� ¨ù¢�¢ ß þ� � �À�þ�ðüõ Ã�÷ max-priority queue �þ ,(max-heap).´¨� (min-heap) ���Þî ôÂû �� ÂÒ��µõ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 125 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 126: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

1

2 3

4 5 6 7

8 9 10

1 2 3 4 5 6 7 8 9 10

1

7 9

14 10

42

2

16

1

8

16 14 10 8 7 9 2 2 4���È�� ôÂû ×þ

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 126 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 127: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(�ûüðÄþø) ���È�� ôÂû.´¨� ÂÊ�ä ßþÂ�ï¤Ã� �Èþ¤ •.´¨� blg nc ÂÊ�ä n �� (���Þî �þ ���È��) ôÂû ×þ á�Ô�¤� •.À÷�ªüõ ô�¹÷� lg n ý�±�Âõ ¥� À�Üî Çþ�Ãê� ø ßþÂ�ï¤Ã� éÁ� ,�¤¢ ñ�Þä� •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 127 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 128: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

2k − 1

k − 1

ùÂð n �� ôÂû á�Ô�¤�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 128 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 129: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

ôÂû ý¥�¨ù¢���

A[1..n] ý�þ�¤� •A[1] ¤¢ �Èþ¤ •(2i ≤ n Âð�) A[2i]¤¢ ô�i ÂÊ�ä ²� À÷¥Âê •(2i + 1 ≤ n Âð�) A[2i+1] ¤¢ ö� ´¨�¤ À÷¥Âê •

A[bi2c] ¤¢ ©¤À� •

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 129 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 130: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Parent (i)1 return b i

2c

LeftChild (i)1 return 2i

RightChild (i)1 return 2i + 1

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 130 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 131: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

À�Üî Çþ�Ãê�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 131 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 132: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

1 1098765432

1

2 3

4 5 6 7

8 9 10

1

2 3

4 5 6 7

8 9 10

1 2 3 4 5 6 7 8 9 10

1

7 9

14 10

2

2

16

1

8

7 9

15 10

82

2

16

1

14

16 14 10 8 7 9 2 2 1

15

15

16 15 10 14 7 9 2 2 8

À�Üî Çþ�Ãê�ü¨Àì ÀÞ½õ c© 1391 ö��� 13 132 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 133: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Max-Heap-Increase-Key (A, i, key)1 if key < A[i]2 then error “new key is smaller than the current key”3 A[i]← key4 while i > 1 and A[i] > A[Parent(i)]5 do swap(A[i], A[Parent(i)] )6 i← Parent(i)]

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 133 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 134: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�¤¢

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 134 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 135: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

1 2 3 4 5 6 7 8 9 10 11

1

2 3

4 5 6 7

8 9 10 11

1 2 3 4 5 6 7 8 9 10 11

1

2 3

4 5 6 7

8 9 10 11

2 2 4 1 7

7 9

14 10

42

2

16

1

8

15

16 14 10 8 7 9 2 2 4 1 15

14

15

9

10

42

2

16

1

8

7

16 15 10 8 14 9

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 135 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 136: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Max-Heap-Insert (A, key)1 length[A]← length[A] + 12 A[length[A]]← −∞3 Max-Heap-Increase-Key(A, length[A], key)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 136 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 137: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

���È�� ôÂû �� A[i..length[A]] ÛþÀ±�

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 137 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 138: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

���È�� ôÂû �� A[i..length[A]] ÛþÀ±�

Max-Heapify (A, i)1 l ← LeftChild (i)2 r ← RightChild (i)3 if l ≤ length[A] and A[l] > A[i]4 then bigchild← l5 elsebigchild← i6 if r ≤ length[A] and A[r] > A[bigchild]7 then bigchild← r8 if bigchild 6= i9 then swap (A[i], A[bigchild])

10 Max-Heapify (A, bigchild)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 138 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 139: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

���È�� ôÂû �� �þ�¤� ×þ ÛþÀ±�

1 2 3 4 5 6 7 8 9 10

3 6 1 9 18 9 18 57 8

3 6 1 18 9 5 7

3 6 9 5 7918

9

181

3 9 5 718 18 1 96

8

8

8

9 57 718 118 9 36

18

9 57 7183 18 9 61

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 139 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 140: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

���È�� ôÂû �� �þ�¤� ×þ ÛþÀ±�

Build-Heap (A)

1 for i← blength[A]

2 c downto 12 do Heapify(A, i)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 140 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 141: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

���È�� ôÂû ÂÊ�ä ßþÂ�ï¤Ã� éÁ�

1

2 3

4 5 6 7

8 9 10

1 2 3 4 5 6 7 8 9 10

7 914 10

42 216

1816 14 10 8 7 9 2 2 4 1

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 141 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 142: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

4 5 6 7

8 9

1

2 3

4 5 6 7

8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1

2 3

4 27 914 10

42 28 114821 10 7 9 2 414 8 2 1

14 10 8 7 9 2 2 417 9 10

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 142 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 143: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

Heap-Delete-Max (A)1 if length[A] < 12 then error “heap underflow”3 max← A[1]4 A[1]← A[length[A]]5 A[length]← A[length]− 16 Max-Heapify(A, 1)7 return max

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 143 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 144: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

�ܽ�

.À�µÆû O(lg n) ¥� ø ôÂû á�Ô�¤� �� °¨��µõ "ôÂû ßµ¡�¨' Ã��� ñ�Þä� ý�Þû

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 144 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 145: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(Build-Heap) ôÂû ßµ¡�¨ Û�ܽ�

nbn4c bn2cbn8c

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 145 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 146: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

S(i) =

1 i = bn/22c+ 1 . . . bn/2c ¢�Àã� = bn/22c2 i = bn/23c+ 1 . . . bn/22c ¢�Àã� = bn/23c. . . . . .

k i = bn/2k+1c+ 1 . . . bn/2kc ¢�Àã� = bn/2k+1c. . . . . .blg nc i = 1 ¢�Àã� = 1

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 146 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 147: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

T (n) ≤blg nc

k=1 kn2k+1 ≤ n/2 ∞∑

i=1 i/2i

∞∑

i=1 i/2i = (1/2) + (1/4 + 1/4) + (1/8 + 1/8 + 1/8) + ... ≤ 2

1/2 + 1/4 + 1/8 + 1/16 + · · · =

12

11− 12

= 11/4 + 1/8 + 1/16 + · · · = 1/21/8 + 1/16 + · · · = 1/4· · · = ..

n �� ×þ¢Ã÷ ôÂû ´¡�¨ ¤¢ �ûËþ�ã� Ûî ¢�Àã� ·î�À� Å�.´¨� O(n) ¥� ´¡�¨ ý��þÃû Ûî ßþ�Â���� øü¨Àì ÀÞ½õ c© 1391 ö��� 13 147 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 148: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

!À��î Û� ��ß�Þû.Ýþ¤ø� ´¨¢�� °��Â��� Ý�û��¡üõ �¤ ÂÊ�ä n ¬��ä ßþÂ�×��î ¢Àä k

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 148 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 149: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

!À��î Û� ��ß�Þû?¢�¢ ô�¹÷� ö���üõ �¤�î �¤�¬�� ý��±�Âõ �� �� �¤ Âþ¥ ý�û¤�î ôÂû ×þ ¤¢:¢�Àä� ý�Þû âÞ� -:¢Àä ßþÂ�ï¤Ã� lg n ¢�Àã� âÞ� -:ï¤Ã� ¢Àä 10 âÞ� -

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 149 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 150: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

!À��î Û� ��ß�Þû?¢�¢ ô�¹÷� ö���üõ �¤�î �¤�¬�� ý��±�Âõ �� �� �¤ Âþ¥ ý�û¤�î ôÂû ×þ ¤¢

n :¢�Àä� ý�Þû âÞ� -

lg2 n ¤¢ :¢Àä ßþÂ�ï¤Ã� lg n ¢�Àã� âÞ� -

O(1) :ï¤Ã� ¢Àä 10 âÞ� -

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 150 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 151: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

(heapsort) üõÂû ý¥�¨°�Âõ

Build-Heap (A)

1 for i← blength[A]2 c downto 1

2 do Heapify(A, i)

HeapSort (A)1 Build-Heap(A)2 for i← length[A] downto 23 do swap(A[1], A[length[A]])4 length[A]← length[A]− 15 Heapify (A, 1)

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 151 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢

Page 152: (free treece.sharif.edu/courses/93-94/1/ce254-1/resources... · Find-Parent(T,r,p). À÷ ¢Âðüõ T ´¡¤¢ ¤¢ r ý Èþ¤ üµ¡¤¢Âþ¥ ¤ p ùÂð ×þ. ¤À À÷ ¢ÂðüõÂ

�ûݵþ¤�Úó� ü÷�±õ ø �û¤�µ¡�¨ù¢�¢'

&

$

%

1 2 3 4 5 6 7 8 9 10

Swap(1,2)

Swap(1,10)

Heapify(1,9)

Heapify(1,6)

Swap(1,9)

Heapify(1,8)

Swap(1,8)

Heapify(1,7)

Swap(1,7)

Swap(1,6)

Heapify(1,5)

Swap(1,5)

Heapify(1,4)

Heapify(1,2)

Swap(1,3)

Heapify(1,3)

Swap(1,4)

7 5 93 97 19 5718 19 367 18

7 1 36 189 9 7 18516 187 1897 5 93

16 18187 5 93 97

18185 93 977 6 1181893 977156

6 181893 977156 181899771 53 6 18189977531

6 18187 5 93 91 76 181893 97751

6 181899771 53

9 57 718 118 9 36

181893 975 71657 1 36 189 9 71816 187 1897 5 39

16 187 187 5 9396 1818

ü¨Àì ÀÞ½õ c© 1391 ö��� 13 152 Â���³õ�î ü¨À�úõ ýùÀØÈ÷�¢