293
15 8 14 9 17 21 35 26 5 12 24 14 26 65 16 21 18 Singly linked list Binary search tree Digraph Graph Binomial tree Array of pointers Skip list 3 7 9 12 6 19 21 25 26 NIL A E D C B

Data Structure and Algorithm by Y. Narahari

Embed Size (px)

Citation preview

Page 1: Data Structure and Algorithm by Y. Narahari

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

��� �!� "�� #%$ &'� $ #%�("� � � � ��) * #%+,� - . "

15

8

14

9 17

21

35

26

5

12

24 14

2665 16

21

18

Singly linked list

Binary search tree Digraph

Graph

Binomial treeArray of pointers

Skip list

3 79

12

6

19 21

25

26

NIL

A E

DC

B

/ 021 3 4 3 5 3 4 67 8�9 :<;>=@?BA CEDGFH?BI(D�? JKI�L 3 ;>=@8�9 JM=NFH8OI

6 I(L<FPJKI 6 I(QR=NFS=N;T=@? 8�U CEDGFV?WI(D�?XZY\[^]_Y\`ba_ced>fZg\h\iji�kml

npo ] o^qPr lmi_isi

Page 2: Data Structure and Algorithm by Y. Narahari

� ���������

� ���������������������! #"$ &%'")(+*-,+")*.(0/213 #46587:9<;�=>(@?A"CB�DE1GF-�#���#HJIK�ML.�ON)�#����PRQ��S�0��TVUW�X�#Q�TYPJ�OIK�#�Z�[ HJ�M�#����\��]�0�M�S�2F�PRQ�^W�0F�PJ�_��`a�b\����c��`��0Fb�OdG�#�e�0��\�fg���e�0��Tb��Qh�0�!�S� �0F��jikQ�TbPl�#Q3ikQb���0Pm�0�b���c`#Non.��PR��Q����NC`a\p��Pmqr��PRUs���pPRQr�0Fb�tHR�#���u����va��QELa���#\���wyxF�PJHR�z�0���#�2F�PJQ�^{��F�PR�|��`a��\����#�Si}F-�#T [ \�� [ �#\���TE��`aUs�tQb`#�0�����T�����PJ^aQ���TG��`aUs� [ \�`a^a\��#UsUWPJQ�^O�#����PR^aQbUW��Q~�������#Q�T3��`aU [ PRHJ��T�I�F-�S�:iK�0F�`#��^aFh�:Io��\��cPRQh�0��\������0PJQ�^[ \�`a��HJ��Us��wzikQ�� [ \�PJHm���a�.�~��\�`#NC������`#\{n.\�PJ�S�SQ~���#Q�T�i�`#����\���T��E��`a��\�����`aQ����S�0�cn���\����+�0��\������0`c��F��ik��ip��Q�^aPRQb����\����#Q�T]NC`aHRHJ`�Io��T]PJ��� [ I�Pm�0Fj�{UW`a\��KPJQ~����Q���PJv#�K�:ie�K���y�$� [ `aQ���`#\���TO��`a��\�����`aQO�_����������_\�PJ��Qh�0��T���\�`a^a\��#UWUsPRQb^Z�#Q�T����S�0��n��0\���������\����rPRQ�� `�v#��Uc�6��\����h�.wc�_Q��6`#��F���F������O`.���M�#��PR`aQ����i�F-�#T [ \�� [ �S\���T���`#UW�cHJ���+�0��\��jQ�`#�0���!�#Q�T8��`#��\����sUW�S����\�PR�#H�w���Fb��\��jIK�#���0F���Q��ZT�����PR\��j��` [ �b���`a^a����F���\�����`aU [ HR�+�0�8���+��`#N!Q�`#�������#Q�Tis��va��Q���`�L#��TI�PJ��FV�0F��8PJT��M��`#NrI�\�Pm�0PJQ�^&�0Fb��PJT��M�SH�6`.`#�3`aQ��rn.��NC`a\rikQ�T�Pl�SQ���QbPJva��\���PJ�kL�������T���Q~�����CHl�S����\!�#�-�#QbT�`aQ���T'�+w��yPRQ-�SHRHJL#�}��Qb��`a��\��#^a��T&�hL��\�`SNC������`a\GdX\��b�kL���Q�����La�b� [ �#�e�8�KF-�SPR\�UW�#Q}�_������� ��\�`#NC������`a\G�y�#Q�T.Lh�#Q}������\�\���Qh���KF��#PR\�U��#Q���������|�#Q�T���\�`SN�wc jw¢¡rwp¡{�#UW�#�~\�PR��F�Q-�#Q£�¥¤_i�����`>�k`a\�T�PRQ-�>�0`a\��p�����t�+�u�#Q�T���� [�[ `a\�����T��hL8��`aUs������YNC�bQ�T�PRQb^��-io��Uc�-�#\��#��TG`aQ��0Fb� [ \�`>������� `#N [ \�� [ �#\�PJQ�^s�jx������k��Q��#��HR��TG¦p�����0�b\��]� `#������w

���z��F���`a�b�����+�M�aHJ���zUs�K���MLE�0FbPR�yTb`.���zQ�`#� [ \��+�0��QbTO��`_�6��� �0�@q��0�6`.`a�!`aQE��F��������������+�M�h�0Fb`a��^aFPm�oTb`.���oF-�Mv#�_��`aUs�{PRQ�^a\���T�PJ��Qh�0�tHRPJ�#���+qb�#U [ HJ����� [ \�`a��HR��UW��� [ \�`�`#NC��� [ \�`a^a\0�SUWUsPRQ�^r�S����PJ^aQ�Us��Qh�0����+�0�#w���F���HJ��������\��sQ�`#�����!`#����\��E�#Q��#T���§~�-�>�0���@q [ `a����\����S�!�0F���`a\��+�0PR���#H��#Q�T [ \0�S���0PJ�M�#H�HJ��v#��H��0`PJU [ `a\��0�#Qh�_T-�>�2������\����+�0��\����!�#Q�T��#HR^#`a\�Pm�0F�Us��wri$�rPR�����SNC�c�0`�����LG�0F��OHR�+va��Hz`#No��`aQh�0��Qh�0�rI�PRHRH�HRPJ���`aUW�+I�F���\��O���+�kIK����Q��#Q���QbT���\�^a\0�#Tb�-�S�0�O��`a��\����OPRQ����S�2��n~�0\��b���0�b\����]�#Q�T���^a\0�ST��-�S���j��`a��\����PJQ�� HR^a`a\�PJ��F�UW��wZn�PRQ����Wi_F���v#�W�0�#��^aFh�!�0F������W��` [ PJ���r�0`8d�w¢��w|������T���Qh���EI�PJ��F���Q�`aQ.����n��-�#�2�a�^a\�`a��Q�T¨��io�6��HJPR�+va�_�0Fb�!HJ���+�0��\���Q�`#�0����PR���S����F-�S��HJ��va��H�w�©oLZPRU [ HRPJ�M�S��PR`aQ}�a��F�PR�KHR���+�0��\��rQ�`#�0����I�PRHJH�6�_���bPJ�2�S��HR��NC`a\�������`#Q�T�La�M�S\�`a\K��F�PR\�T�La���#\�©:wg��w«ª#© wb�u���2F����0�bT���Qh�0��`SNz�K`#U [ �.�0��\�n.��PJ��Q����r�#Q�TNC`a\�������`aQ�TjL#�M�#\td�w¢�:w<�Ewa�e�0��T���Qh�0��w�i$�zPR�z�SHR��`:�����+NC��Hb�0` IK`a\��~PRQ�^���`#NA�kI��S\�� [ \�`#NC������PR`#Q-�#HR�y�#Q�Tj���+�\�PR`a��� [ \�`#^a\0�#UsUs��\����0`E^h�#PRQZ�E��`a�bQ�T���Q�T���\����0�#Q�T�PJQ�^j`#N|��`aUWUs`aQ�HmLO������T�T-�S�0�c���0\���������\������#Q�T�#HJ^a`a\�PJ�0FbU�T�����PJ^aQ]�����2F�Q�PJ§~������w��'�#UWPJHRPR�#\�Pm�kL�I�PJ�0Fc� [ \�`a^a\0�SUWUsPRQ�^KPR���#������UW��T]NC\�`aU¬�#HJHh\��M�ST���\���w

­s®�¯]°t±�²X³��F��Z¦|��������\����{`#�0���cPR�]`a\�^a�#Q�PR´���T�PJQh�0`G��HR�+va��Qµ�2F-� [ �0��\���w�©o����PJT����]�0F��Z�������������OUW�S������\����M�#�2F�2F-� [ �0��\oPJQ���HJ��T����t�rHRPJ����`#N [ \�`#��HR��UW�t�#Q�TW�rHRPR�e��`#N [ \�`a^#\0�#UsUWPJQ�^ [ \�`>�����+�0��wt� HR��`��h�M�#�2FW�2F-� [ ����\��`aQ���HJ��T�����I�Pm�0F��OHRPR�e��`#N�\��+NC��\���Q������ NC`a\�NC�b\��0Fb��\�\����#T�PJQ�^s�#Q�T��+q [ HR`#\0�S��PR`aQ�`#Nu�0Fb�!�������������Mw

PRP

Page 3: Data Structure and Algorithm by Y. Narahari

��� ikQh�0\�`.Tb������PR`aQ � � ¦pPR�e�0���� �_PJ���0PJ`aQ-�#\�PR��� � � ©KPJQ-�#\�L���\��������� ©��SHl�#Q�����T��u\������ � � ��\�PJ`a\�Pm�kL�¤_��������� � �_PJ\����+�0��T��\0� [ F�� � �� QbT�PR\���������T�r\�� [ F����� n.`#\��0PJQ�^sdX�+�0F�`�T�� ����� �:�y�e�K`#U [ HJ������Q����������� ¡���NC��\���Q������

dX`a�e�y`SNb�0Fb�tUW�S����\�PR�#H'�CPRQ���HR��T�PJQ�^���`#UW���-^a��\������#�+qb�#U [ HJ�����S�#Q�T [ \�`a��HR��UW�0�}PR�|��Pm�0F���\u��`a��\�����T`a\O�ST-� [ ����TµNC\�`aU ��Hl�#����PJ�M�#HK���+q��0�6`�`a�~�W`aQµ�0Fb���������������Mw�� `�Io��va��\Z�#�6`a�b����� [ ��\�����Qh�W`#N:��F��UW�S�0��\�PR�#H�F-�#�j�6����Q [ \�������Qh�0��TYPJQµ�XI��ML�TbPJ����\���Qh�cNC\�`aU �#QhL�`SN{��F����MvS�#PRHR�#��HR�O��`a��\�������w&��F��[ \�PRUW�#\�LW��`#��\������{PRQ���HR��T��_��F���NC`aHRHJ`�I�PRQ�^c��Pmq��0�+q�����`�`a�~��w

�#w{�]w��cw�� F�`����bw���w�� ` [ ��\�`#NA�M�o�#Q�T��bw��cw HJHRUW�#Q}wµ�] #"$ �%'"¥(@*-,+"¥*�(0/21G #46537:9<;�=>(@?A"CB�DE1aw� T�T�PJ��`aQ.��x&����HJ��La��¡{���#T�PRQb^��'dG�#���0�#�2F~���������0��� ���"!"#.w

$ w%�PRHJHR���c©K\��#�����#\�T �#Q�TY�y�#��H�©o\0�S��HR��L#w'&}*�465h #D�/+4-"$ #9¢1X=)(s7:9<;�=>(@?A"CB�Dj?�,21aw£��\���Qh�0PJ���@�)�:�SHRH���M�a�"*bwzikQbT�Pl�#Q���T�Pm�0PR`#Q [ ����HJPR��Fb��T��~L���\���Qh�0PJ���+�:�#HJH¨`#NyikQ�T�PR�b�����a�,!bw

#.w{��w��!w6�K`a\�Us��Q¨�¨�:w'��w6¦p��PJ����\���`aQ¨���SQ�TG¡rw'¦�w'¡{Pmva�����Mw.-+4-")(0=�5#*',+")?�=>48"k=j7:9<;�=>(@?A"AB�DE1hw���F��d�ik� ��\������ �#Q�TGdX���\0�MI��)�{PRHJH}©K`�`a���K`#U [ �SQ~L#�6���#Uc��\�PRT�^#�#�'dG�S���0�S�2F��b�������0�������a�,�bw

/ w �cw¨��w} �Q~�b�0F}w0&}*�465h #D�/+4-"� #9}7:9<;�=>(@?A"AB�DE12143}B-/r7:(+"_=)(65o=>D%76*."k/+(+8o(0=�;#(� #DjDj?A4�;:9<;6=>9>=*�D�/+?A@~wtn�����`#Q�T3��T�Pm�0PR`#Q}��� �#\�`a���O���b��HRPJ��F�PJQ�^B� `a�����#�'�{��I �_��HRF�P¥�C���,!h�.w

��w ¡rwa¦�w# r\������Swo�] #"� !%'")(+*-,+")*.(0/21: #465D8o(0=�;#(� #D �c/21+?m;#4W?A4E5cwa��\���Qh�0PJ�����:�SHRH�`#N6ikQ�T�Pl�.�h� �+I�_��HRF�P¥�C�M�a� / w

*.w{�]wox���PJ����w �] #"$ �%'")(+*-,+")*.(0/21� #465�7:9<;�=>(+?A"AB�DE1G?A4F5�GDG_w��:TbT�PR��`aQ.�$x�����HR�+La�_¡��M�ST�PRQ�^b�dX�#�����#�2F~�����+���0�������#� / w

��Io`��0` [ PR���O�0F��S�ZF-�Mv#�3������Q ��`�v#��\���TPRU [ HRPJ��Pm�0HJL�\0�>�0F���\W�0F��#QVPRQ£�0F��XNC`a\�U `#NrPJQ�T�� [ ��Q�T���Qh��2F-� [ �0��\��z�S\��,Hu�:HJ^a`a\�PJ�0FbU �:Q��#HJL���PJ���u���2FbQ�PR§~�������)�����2FO�#�u\�������\�\���Q�����\���Hl�S��PR`aQb�2�p�#Q�T]�:HR^#`a\�Pm�0F�U�_����PR^#QX�u���2F�QbPR§~�����j�)���b�2F8�#�{^a\�����TbL��e�0\0�>�0��^SLa�6TbL�Q-�#UsPR� [ \�`#^a\0�#UsUsPRQ�^��.T�PJv�PJT��!�#Q�TG��`aQ�§~����\���-�S�2�~��\0�#�2�~PJQ�^���HJ`.���#H������#\��2F¨�������#w¢�+w ��Io`&��` [ PR���jI�F�PR�2F£F-�Mva�XQ�`#�s������QY��`�va��\���T�ST���§~�-�S����HmL�#\��,HsdX��UW`#\�L�U��SQ-�#^a��UW��Q~�]�u���2F�Q�PJ§~�����O�#QbTI!�S\��-�#^#�Z�K`aHJHR�����0PJ`aQ}���#Q�T�n.����`aQ�T-�#\eL�n~�0`a\��#^a�� HR^a`a\�PJ��F�UW��wµ��`aPJQh�0��\��s��`��@q.����HJHR��Q~�s��`a��\������sNC`a\j�0F��������0` [ PJ���s�#\�� [ \�`�v�PRT���TV�S�W� [�[ \�` [ \�Pl�S���[ HR�#������wJ6KMLG²�­ON °�³DP�Q�³DR¬³�²X¯0Si|��Fb`a��HRTT��\����t�S�2��Qb`�I�HJ��T�^#�{��PmqE^a��Qb��\0�>�0PR`#Q��z`#N6������T���Q~���t�S��i�ien���I�F�`_IK��Qh�t��F�\�`#��^aFc�0Fb����`a��\�����#QbT�^a��v#�cvS�#HR�-�S��HR�cPJQ [ �b����wcn.`aUs�c`#Nt�0F���U ��v#��Q���`aHmva��T��#QbT�HR�S�0�@q.��T8�0F��j��`aHR�.�0PR`#Q��_`#NtUW�#QhL[ \�`a��HJ��Us��w���Fb�sNC`aHJHR`�I�PRQb^����0�bT���Qh�0�EF-�Mva����Qh�0F~����PR�#����PR���#HRHmL��#Q�T���Q���`#U [ HR�#PRQbPRQ�^aHmL���� [�[ `a\e�0��TUs�r�#���0���#�2F�PRQb^W�S����PJ���0�#Qh�0��w���F��+L�����\��2�SPRQ�HmLZT�������\eva�E�O� [ ����PR�#HpUW��Qh�0PR`#Q�H

Page 4: Data Structure and Algorithm by Y. Narahari

�a�SQ.�k� [ \ ���a� $ ¡!w ����Q~��^#` [ �#H¥�'n.`aUELa�#��\��S�2�O©KF-�>���2�S�2F-�#\�La�� ��^S�k�_���0���a�"# ¡!w ����Q~��^a` [ �#H���jw-��F-�#Qb��Q�T�\���©��S���� ��^S�k�_���0���a� / n�wg¡!w-��\��#�>�#��F}�'¡{�����#HR�#�~��F�UsP}i$L#��\��6�!w«n�w'� �#\0�MLa�#Q-�Wn�I��SUELa�'¦�w¢d�w' �F-�#Q� ��^S�k�_���0���a�h� n�wg¡!ws��\0�#�>�#��F}�8�!w �`a�~��HJUc�b�0F~�}���cw¢n�ws�:Q�PJH� r�bU��#\�� jwWn.�b�0FbPRQ�T�\��#Q}�

 jw«n�w�¡ �#^#F��bQ-�S�0F� ��^S�k�_���0���a�"! dG�#Q�PJU��S\0�#Q}�.�:��F����%!�SQ�^a��HmLa�b� \���Q¨�'¡{PJHR����QXn.PRQ�F��b�-�_F�PJU��#Q2rF�`#��F� ��^S�k�_���0���a�a� d�w'©KF-�S\0�S�{ ���UW�#\��b¡!w6n.�#P}�:Q��#Q�T}�' jw6n.\�PR\0�SUX���KF�PRQh�2�SQ�� UW\�PJ�

d�L�� [ ����Pl�SH���F-�#Q��~�!�0`X��\�`#NC������`a\E�]w �_PJ��IK�#Q-�#T�F��#U NC`a\!F�PR�!��Q���`a��\��#^a��Us��Qh��w�i_��F-�SHRH�HRPJ�#�j�0`��F-�#Q����_\�w�� ��F�`a�Xn.�b��\0�#UW�#Q�PR�#QXNC`#\ ��Hl�#\�PJNAL�PRQ�^OUW�#QhL��0���2F�Q�PR���#Hy�����b��HR����PR��� PJQX�0Fb�E���b�������+�r�S�vS�#\�PR`a��� [ `aPJQ~����wZdG�#QhL8�0F-�SQ��~�!��`G��\�`SNC������`a\��O�cw �cw¢n�w�nb�#\�U��b� w¢¡rwu��\0�#���#T}� �cwu¡ �����#\0�#UW�#Q}��cwg jwan.�b��\0�#UW�#Q�PR�#Q}� � wg�]w~n.\�PR�>�#Qh�M�a��\�PJ��P�n.F��#Q��>�#\���n6w �Ewa¡{�#Q�^h�#�eI��SUELa��d�wa�:�#\��#��PJUWF-�:dX��\e�kLa��:wg��w"����Q�P6dG�ST�F-�MvS�#Q}�.�#Q�T �_P ����LO�KF-�#Q�T�\��sNC`#\z�0F���PR\���Qb��`a��\��#^a��UW��Q~��w���F-�#Q��~�o�#HR��`��0`!�_\�wy©:wn.Fb���>�#\KNC`a\KF�PR��PJQh�0��\����e�Mwon [ ����PR�#H���F-�#Q��~����`O��\�`#NC������`a\{ �\��b���_NC`a\o����QbT�PRQ�^OUs���#HJH6��F���U��>�0��\�Pl�#HF��r��`a��HRT�`aQ���F�PR�����b�������+�Mw

dX`a\����0F-�#Q $ �,� [ \�`a�bHR��Us��F-�Mva���6����QWHJPR������Ts�#���@qb��\���PR�����oPJQj�0F���PJQ�T�PJv�PJT��-�#H.�2F-� [ ����\��t`#N'�0FbPR�HJ��������\���Q�`S�0����w�dG�#QhLO`#N��0F������ [ \�`#��HR��UW��F-�Mv#�:�6����QONC\�����HmLj��`#\�\�`�Io��TW`a\t�#T-� [ ����TONC\�`aU v#�S\�PR`#�����`a��\��������pPRQ���HR��T�PJQ�^W��F��E���+q��0�6`.`#����HJPR�e�0��T3�#��`�v#�O�#Q�T3�0Fb�c§~�����e�0PR`#Q [ � [ ��\��_�����r�hL3��`aHRHJ�M�#^#������wi�IK`#��HRT�HRPJ�#�_�0`s�#�2�~Q�`�I�HJ��T�^a�r�0Fb�!Fb��H [ \�������PJv#��TGPJQ��0F�PJ��\���� [ ������w��F��E¦|�S�0�@qbPJQ�^�`SNy�0FbPR�{T�`.����Us��Qh�:IK�#�:Tb`aQ��EQb�M�#\��'�MI�HR������HmL��~LX¡���Q~��^a` [ �#H �-\��e���#Q�T��0F���Q3�hLdX\��odG�#\�L#wz��F����-^a��\�����Io��\��{T�`aQb��I�Pm�0FO^a`�`.TO���#\����hLj�:UsPJ��!�#\�T��#�h� \�^aFhLa�cdX���~F���\C�����#�bdX\��dG�S\�La�'�SQ�T8�KF-�SQ�T�\0�Wn.����F��#\�w�d�L��0F-�#Qb�����0`W�#HJH}`#Nu�0F���UXwo� ��Us��\�`a���{������T���Qh���_�S�:��n.��F-�Mva�^a`#Q��_�0F�\�`a��^aF�T�\��SNA�0���S��vS�#\�PR`a��� [ `aPJQ~�����#Q�T [ \�`�v�PJT���T�vS�#HR�-�S��HR�:NC����T����#�2�'w©K��F�PRQbT��#QhL�`#N�UEL��+�¨`#\��0�]`#N���F�PR�!�~PRQ�T}�u�0F���\����#\��s�kIK` [ ��\���`aQ��#HRPm�0PR���_I�F�`a���Z��HR������PRQ�^a�rNC`a\�U��F���PRQ�� [ PR\��S�0PJ`aQ-�#H�NC`a\����#wz��F����-\����oPR��UELOT�Pmv�PRQ��{dX`S�0F���\��~I�F�`]PJ��Q�`]Us`a\������b�tI�F�`a��� [ `�Io��\eNC��H[ ��\���`aQ-�SHRPJ�kLZ��`aQh�0PJQ~�������0`W���]�sTbPJv�PRQ��rT�\�PJv�PRQb^ONC`#\����Sw���F��]������`aQ�T3PJ��UEL�\��+va��\���T8�'�S��F���\�I�F�`PJ����F��:HJPR^aFh�t`#NpU]LOHRPJNC�Sw �{� ��`aQh�0PRQ~�����K�0`]^a��PJT�� Us��HRPJ�#� �]�6�M�#��`aQ}wt�:Np��`#��\����#�biy��PRU [ HmLj�M�#QbQ�`#�NC`a\�^a���t�0Fb�:HR`�v#�_�#Q�TZ�S�¨������PR`aQZ`SN|�y�#TbU��#��\�P��#Q�T�� �#^h�#Q��#Q�TZ�SQ�T��#HJH6Us��UE����\��K`SNpUELs�+q��0��Q�T���TN)�#UsPRHmLa�~I�F�PR�2F�PR��HJPR�S�r�OTbPR����\�PJ���b�0��T�La���{�0PJ^aFh�0HmL���`a� [ HJ��T���Qh�0��\ [ \�PR���Sw��F���\��G�#\�����`#��Q�TY��`&�6�XQ~��Us��\�`a���s�kL [ `a^a\�� [ F�PJ�M�#HlªSHR`#^aPR���#HAªS^#\0�#UsUs�S�0Pm�M�#HRªS�e�kL.HJPR�e�0Pm�s��\�\�`a\��WPRQ��F�PR�r�0F�� �-\��e�cT�\��SNA�MwXi���\�^a�s�0F��W\����#T���\��E�0`G��Q��M�S\��0Fµ�S�EUW�#QhL&�S� [ `a����PR��HJ���#QbT��0`GPJQh�0PRUW�S�����`WUs�r`aQ���F��!��UW�#PRH��CF-�#\�P��_�����bwgPJPR���#w<��\�Qb���Mw<PRQ-�+wt�:QhL�����^#^a���e�0PR`#Q��2ªS��`aUsUW��Q~���2ªS��\�Pm�0PR��PR��U `aQX�#QhL�#� [ �����{`#Nu�0F�PJ��HR�����0�b\��rQ�`#�����{�#\��rUs`a����Io��HJ��`aUs�#w

� � ²�J��2J J��Z±��HR������\�`aQ�PJ�r��Q~����\ [ \�PJ����� ¦|�#�6`a\0�S��`a\�L�_� [ �#\���UW��Qh��`#N��K`#U [ �.�0��\ n.��PR��Q����!�#Q�T��:�.�0`aUW�S�0PJ`aQikQ�TbPl�#Q�ikQ��e�0PJ���b�0�r`#Nzn.��PR��Qb���#�'©K�#Q�^h�#HJ`a\��

Page 5: Data Structure and Algorithm by Y. Narahari

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

� ��������� ���� ±���� ����� � � �!� � �

�aw � n.`#UW�r�_�A�-Q�PJ��PR`aQb� w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��aw �aw � �'`#��\��-��Q�T-�SUW��Q~�0�#H|���S�0�On��0\���������\���� w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #

�aw $ �K`aU [ HJ�+q.PJ�kL�`#Ny� HR^a`#\�PJ��F�Us� w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #�aw $ w � ©KPR^s�_FX� `#�0�S�0PJ`aQ w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw /�aw $ w $ �zqb�#U [ HJ��� w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw /�aw $ w # �:Q��yq��SU [ HJ�,Ht�K`aU [ HJ�+q.PJ�kL�`#N�d���\�^#����`#\�� w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��aw $ w / ¡{`aHJ�_`#Nu�0F��]�K`aQb���2�SQ~� w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw "�aw $ w¢� x&`a\���� ���#���#�'� v#��\��#^a�E���#���S�'�#Q�T��:Us`a\���PR´���T��K`aU [ HR�@qbPm�kL w!w]w!w]w!wrw "�aw $ w * ©KPR^s�_Us��^h�O�#Q�T�©KPJ^O��F����0�W�{`#�2�S��PR`aQb�w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw !�aw $ w#" �:Q��yq��SU [ HJ�,H w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �

�aw # �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��aw / ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ���

� ° ��$ � $ � �$ w � ¦pPR�e���:���e�0\��#���:���S�2�c��L [ � w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��#

$ w �aw � � ��\�`a^a\��#U I�PJ��F�¦|PJ�����:�_� w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ���$ w $ ikU [ HR��UW��Qh�2�S��PR`aQ�`#Ny¦pPR�e�0� w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��*

$ w $ w � �:\�\��ML�ikU [ HR��Us��Qh�0�S�0PJ`aQZ`#Ny¦pPR�����Xw!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��*$ w $ w $ ��`aPJQ~����\�ikU [ HR��UW��Qh�2�S��PR`aQ�`#Ny¦pPR�e�0� w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��!$ w $ w # �_`a����HmLZ¦pPRQb�#��TX¦pPR�e��ikU [ HJ��Us��Qh�2�>�0PR`#QYw!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ���

$ w # n��0�#�2�~� w]w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w / ¤_���������sw]w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ /

$ w / w � ��`aPJQ~����\�ikU [ HR��UW��Qh�2�S��PR`aQ w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ /$ w / w $ �KPR\�����Hl�S\��:\�\0�ML�ikU [ HR��UW��Q~�0�S�0PJ`aQ w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w / w # �KPR\�����Hl�S\�¦pPRQ��S��TX¦|PJ����ikU [ HR��UW��Qh�2�S��PR`aQ w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �

$ w¢� �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *$ w * ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ "$ w#" ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �

$ w#".w � n [ �#\����]dG�S��\�Pmq��y�#�2�>�#^#� wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w#".w $ ��`aHmL.Qb`aUWPR�#H6�:\�Pm�0F�Us����PR��wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w#".w # n.�~P [ ¦pPR����� w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �

v

Page 6: Data Structure and Algorithm by Y. Narahari

$ w#".w / ©K��T�TbL�n�L����0��UW�{`#NzdX��Us`a\eL��:HJHR`��M�S��PR`aQ w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �� P ��� � � � � � � ��$ ���

#bw � n.�+�0� w!w]w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw # �#bw $ �_PJ���0PJ`aQ-�#\�PR��� w]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw # $#bw # � �#��F��y�S��HR���Vw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #"#

#bw #bw � � [ ��Q�� �#��F�PJQ�^µw]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw # /#bw / �KHJ`a����T�� �#��F�PJQ�^ w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #"*

#bw / w � ¡{��F-�#��FbPRQ�^WdX�+�0F�`�T��sw]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw # "#bw / w $ �:Q��yq��SU [ HJ�,H w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #"!#bw / w # �:Q�`#��F���\{�yqb�#U [ HR� H w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / �

#bw¢� � �#��F�PJQ�^W�'�bQ�����PR`aQ�� w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / �#bw¢�.w � �_PJv�PR��PR`aQ�d����0Fb`.T w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / $#bw¢�.w $ dX�bHJ�0P [ HRPJ�M�S��PR`aQZdX����F�`�T�wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / $#bw¢�.w # Q�Pmva��\��0�#H � �#��FbPRQ�^Ow!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / #

#bw * � Q-�#HJL���PR��`#Nz�KHR`a����T �:�#��F�PRQ�^ w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw /"/#bw *bw � ¡{������Hm� �"H Q���������������NC��Hzn.�M�#\��2F w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw /"/#bw *bw $ ¡{������Hm� $ H�ikQ�����\���PR`aQ w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / *#bw *bw # ¡{������Hm� # Htn.������������NC��Hyn.���#\��2F�w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / *#bw *bw / ¡{������Hm� / H��_��HJ���0PJ`aQ w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / "

#bw#" � �#��F��y�S��HR�!¡�������\����+�0��\�PRQ�^ w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / !#bw ! n.�~P [ ¦pPR�e�0� wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / �

#bw !bw � ikQ�PJ��Pl�#HJPR´M�>�0PR`#Q�H w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � $#bwg� � Q-�#HJL���PR��`#Nzn.�~P [ ¦pPR�����jw]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �a�

#bwg�bw � �:Q-�#HmL���PR��`SNz�yq [ ��������T8n��M�#\��2F8�K`a�e�w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �,*#bw ��� �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �#�#bw �"����\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *"�#bw � $ ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw * $

#bw � $ w � �:�#��F�PRQ�^ H��zq [ ��\�PRUs��Qh�2�#H¨�:Q-�#HmL���PR�sw!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw * $#bw � $ w $ n.�~P [ ¦pPR�����4H��yq [ ��\�PJUW��Q~�0�#Hp�:Q��#HJL���PJ�Ow]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *h�

� � � � � �� ¯ � ��$ ���/ w � ikQh�0\�`.Tb������PR`aQ w]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *"*

/ w �aw � �_�A�-Q�PJ��PR`aQb� w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *"*/ w �aw $ ��\���`a\�T���\��-ikQ�`a\�T���\��'��`a�e�0`a\�T���\£w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *"!/ w �aw # ��F��r��\����!�_�_� w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *a�/ w �aw / ���S�2�On���\����+�0��\�����NC`a\��u\����]¡�� [ \�������Qh�2�S��PR`aQ w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *a�

/ w $ ©KPJQ-�#\eLZ�u\�������w]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ",�/ w # � QX� [�[ HRPJ�M�S��PR`aQ�`SNz©KPJQ-�#\eLZ�u\������4H � �b��UW�#QX�K`.T��]�K`aQb���0\�������PR`aQ8w!w!w]w!w]w!wrw " /

/ w #bw � ikU [ HJ��Us��Qh�2�>�0PR`#Q w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw "�"/ w #bw $ n.�#�+�0�2FG`SN �{�b�¨UW�#Q��u\����E�K`aQ��e�0\�������PR`aQ w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ",!

/ w / ©KPJQ-�#\eL�n.���#\��2FX��\����w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ! $/ w / w � � va��\0�#^#�E���S���!�:Q-�#HmL���PR��`SNz©�n��¬� [ ��\0�S��PR`aQb� w!w!w!w]w!w]w!w!w]w!w]w!wrw !h�

/ w¢� n [ Hl�ML��u\������ w]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw !"!

Page 7: Data Structure and Algorithm by Y. Narahari

/ w¢�.w � n.�M�#\��2F}�-ikQ�����\����6�_��HR�+�0��PJQX©o`#����`aUO�$� [ n [ HR�ML.PJQ�^Gw!w!w]w!w]w!w!w]w!w]w!wrw �"#/ w * � UW`a\e�0PJ´���T�� HR^a`a\�PJ��F�U � Q-�#HmL.��PR�swrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � /

/ w *bw � �zqb�#U [ HJ��`#N�n�`a\���PRQ�^ w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � // w *bw $ �zqb�#U [ HJ��`#Ny�u\����r��\���v#��\��0�#H �)ikQb`a\�T���\2�jw]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �h�/ w *bw # �K\���TbPJ�{©��#HR�#Q���� w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �h�/ w *bw / �zqb�#U [ HJ��`#NyikQb��\���UW��Qh�0PRQb^W©oPRQ-�#\eLZikQh�0��^a��\��Zw!w!w!w!w]w!w]w!w!w]w!w]w!wrw � "/ w *bw¢� �:Us`a\���PR´���T��:Q-�SHJL���PJ��`#N�n [ Hl�ML�PRQ�^ w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � "

/ w#" �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"#/ w ! ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� /

/ w !bw � r��Q���\��#H}�u\������¬w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� // w !bw $ ©KPRQ-�S\�L�n��M�#\��2FX�u\������ w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����h�/ w !bw # n [ Hl�ML���\������ w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� "

/ wg� ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"!/ wg�bw � � �b��U��SQG�K`�T�PJQ�^ w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"!/ wg�bw $ �K`aU [ �#\�PJ��`aQ�`#N��:�S��F��y�#�bHR���{�#QbTG©KPJQ-�#\eL�n.���#\��2F���\������ w!w!w]w!w]w!wrw����"!/ wg�bw # �K`aU [ �#\�PJ��`aQ�`#Nzn.�~P [ ¦pPR�e�0���#Q�TGn [ HR�MLZ�u\������ w!w!w!w]w!w]w!w!w]w!w]w!wrw��"���

� � ���!� � ��� � ¯ � ��$ ��� ��.w � � ��¦&�u\�������wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"� $

�.w �aw � dG�>q.PRUc�bU � ��PR^aFh��`#Ny�#Q�� �_¦&�u\���� w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"��#�.w �aw $ � ��¦&�u\������ HoikQ�����\e�0PR`#Q��{�#Q�TX�_��HR�+�0PJ`aQ��w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"���

�.w $ ¡���T.�k©KHl�S�2�Z��\������Ew!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ ��.w $ w � � ��PJ^aFh��`#Ny�s¡���T���©KHR�#�2�Z�u\���� w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ ��.w $ w $ ¡{��T.��©KHR�#�2���u\������ HoikQ�����\e�0PR`#Q�� w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ /�.w $ w # ¡{��T.��©KHR�#�2���u\������ HK�_��HR����PR`aQ w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ *

�.w # $ � #j��\������jw!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���# $�.w #bw � $ �)#c�u\������4HtikQ�����\���PR`aQ w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#"#�.w #bw $ $ �)#c�u\������4Ho�_��HJ����PR`aQ w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#"*

�.w / ©t�$��\������ w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���# "�.w / w � �_� �-Q�Pm�0PJ`aQZ`#Ny©t�k�u\�������w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���# "�.w / w $ �K`aU [ HR�+q.Pm�kL�`#Nz©t�$��\����!� [ ��\��S�0PJ`aQ�� w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#"!�.w / w # ©t�k�u\������4H�ikQ�����\e�0PR`#QGw!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / ��.w / w / ©t�k�u\������4Ht�_��HR����PR`aQ�w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / ��.w / w¢� �t�#\�PR�#Qh�0��`#Ny©t�k�u\������Yw]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / $

�.w¢� �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / #�.w * ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / �

�.w *bw � � �_¦��u\�������w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / ��.w *bw $ ¡{��T.��©KHR�#�2���u\������_w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / ��.w *bw # $ �)#c�u\������ �#Q�TX©t�k�u\������ wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / *

�.w#" ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / "�.w#".w � ¡{��T.��©KHR�#�2���u\������ �#Q�TGn [ HR��L���\������ w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / "�.w#".w $ n.�~P [ ¦pPR�������#Q�TX©KPRQ��#\�L����M�S\��2FG�u\������ w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / ��.w#".w # dX��HJ��PJIK�ML�n.���#\��2FX��\������ �#Q�T�©t�$��\������Yw!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� / �

Page 8: Data Structure and Algorithm by Y. Narahari

� � �!� � � ��� ����� � $ � ���*bw � ©KPJQ-�#\eL2� ��� [ � w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� �

*bw �aw � ikU [ HJ��Us��Qh�2�>�0PR`#QZ`#N�ikQ�����\��:�#Q�T��_��HJ���0��UWPJQ w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����,#*bw �aw $ �K\��M�>�0PRQb^ �{�M� [ w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� /

*bw $ ©KPJQ�`aUsPl�#H¨¤_�����b��� w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�����"*bw $ w � ©KPRQ�`#UWPR�#H�¤��b�����E� [ ��\0�S��PR`aQ�� w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����,!*bw $ w $ ©KPRQ�`#UWPR�#H'�:Us`a\���PR´���T��:Q-�#HmL���PR� w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���* /*bw $ w # ¦u�S´�L�©KPJQ�`aUsPl�#H¨¤_�����b��� wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���* "

*bw # �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���*"!*bw / ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���*a�*bw¢� ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� ",�

*bw¢�.w � �_PR����\��+�0�r�zva��Q~�_n.PJUc��Hl�>�0PR`#Q w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� ",� P � ��� � ��� Q ������$ � �

".w � �_PJ\����+�0��TE�\0� [ F���w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� " �".w �aw � ���S�2�On���\����+�0��\�����NC`a\ �\0� [ F�¡�� [ \�������Qh�2�S��PR`aQ w!w!w!w]w!w]w!w!w]w!w]w!wrw�� " $".w $ n.Fb`a\��������:�y�>�0F��{��\�`a�bHR��U w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� " /

".w $ w � n.PRQ�^#HR�rn.`#��\����En�F�`a\������e�:���S�0Fb�:��\�`#��HR��U H��_P ���~���0\��bf<�{� HR^a`#\�PJ��F�U w]w!wrw�� " /".w $ w $ �:L.Q��#UWPJ����\�`a^#\0�#UsUWPJQ�^E� HR^a`#\�PJ��F�U w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� "#�".w $ w # �:HRH¨�y�#PJ\�� n.F�`#\��0����� �y�>�0F�� ��\�`a��HJ��U�H��yHJ`�L�T}f<���:HJ^a`a\�Pm�0F�U w!w!w]w!w]w!wrw���! $

".w # x&�#\���F-�#HJH�f<���:HR^#`a\�Pm�0F�U w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���!h�".w / �_� [ �0FX�yPR\���� n.���#\��2FX�#Q�TX©K\��M�#Tb��FG��PR\��e� n.�M�S\��2F�w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���!"*".w / w � ©K\����#Tb�0FX�yPJ\�����n.�M�#\��2F w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���!"!".w¢� �_PJ\����+�0��TX� ��L���HJPR�O�\0� [ Fb� w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"�

".w¢�.w � ��������NC`a\��:�+L���HRPJ��Pm�kL w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"�".w¢�.w $ ��` [ `aHJ`a^aPR���#H¨n.`a\���w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� �".w¢�.w # n��0\�`aQ�^W�K`aU [ `aQb��Qh�0�]w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"#".w * �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"*

".w#" ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"!".w ! ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����a�

".w !bw � ikU [ HJ��Us��Qh�2�>�0PR`#Q�`#N��_P �����e�0\��bfg�O� HR^a`a\�PJ��F�U ��PRQb^&©KPJQ-�#\eLI� ��� [ �W�#Q�T©KPRQ�`#UWPR�#H�¤��b������� w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����a�".w !bw $ n��0\�`aQ�^W�K`aU [ `aQb��Qh�0�]w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"�

� ® � ���! ��� � ��� Q ������$ � � �!bw � n.`#UW�r�_�A�-Q�PJ��PR`aQb� w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � �!bw $ �_� [ �0FX�yPR\����{�#QbTX©o\��M�STb�0FX�yPR\���� n.���#\��2F�w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"#

!bw $ w � ©K\����#Tb�0F�� �-\����{�����#\��2F�`#Nz�bQ�T�PR\����+�0��T�^a\�� [ F w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � /!bw # dXPJQ�PRUE��UO���K`a����n [ �#Q�QbPRQ�^O�u\������ w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � /

!bw #bw � d3n.� ��\�` [ ��\��kLWw]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �h�!bw #bw $ ��\�PRU�fg�K�:HR^#`a\�Pm�0F�U w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �a�!bw #bw #  r\������>�#H¥fg��� HR^a`#\�PJ��F�U w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � $

!bw / �u\0�Mva��HRPJQ�^Wnb�#HR����UW�#Q���\�`a��HJ��U w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � "!bw / w � � r\�����T.L��:HR^#`a\�Pm�0F�U�NC`a\��{nb� w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ��!

Page 9: Data Structure and Algorithm by Y. Narahari

!bw / w $ � [ �0PRUW�#H¨n.`aHJ�b�0PJ`aQZNC`a\��{nb�V����PRQ�^s©K\��#Q��2FX�#Q�TX©K`a��QbT w]w!w!w]w!w]w!wrw $"$ �!bw¢� �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ �!bw * ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ *!bw#" ��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ "

!bw#".w � ikU [ HJ��Us��Qh�2�>�0PR`#QZ`#Nzn.`aUs�Or\�� [ F��:HJ^a`a\�Pm�0F�Us�tw!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ "!bw#".w $ ��\���v#��HJPRQ�^Wnb�#HJ����U��#Q���\�`a��HR��U w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ !

� S � � � ��� R � � � ��� $ ��� ��bw � ©K�b����HR�]n.`#\���w]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #"��bw $ ikQ�����\e�0PR`#Q3n.`#\�� w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ # ��bw # n.��HR�����0PJ`aQXn.`a\e� w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ # $�bw / n.Fb��HRHJ��`a\e� w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #"#�bw¢� �{�M� [ n.`a\e�wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ # /�bw * ¤_��PJ�2��n.`a\e�Zwrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ # "

�bw *bw � � HR^a`a\�PJ��F�U Hw!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ # "�bw *bw $ �:HR^#`a\�Pm�0F�U�NC`a\����#\���PJ�0PJ`aQ�PJQ�^ w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #"!�bw *bw # ¤��bPR�2�~��`a\e� H��{va��\��#^a�E���#���!�:Q��#HJL���PJ��w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #a�

�bw#" �_\�Tb��\ n��2�>�0PR�e�0PJ��� w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / $�bw#".w � �:HR^#`a\�Pm�0F�U � w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / $�bw#".w $ �:HR^#`a\�Pm�0F�U $ w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / #�bw#".w # �:HR^#`a\�Pm�0F�U # w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / #

�bw ! ¦p`�IK��\:©o`a��Q�T�`aQX�K`aU [ HR�@qbPm�kL�NC`a\{n�`a\���PRQ�^WdX�+�0F�`�T�� w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / *�bw !bw � ¡{������Hm� �"H�¦p`�Io��\ ©K`a�bQ�TX`#Q�x�`a\����:���#���]�K`aU [ HJ�+q.PJ�kL w]w!w!w]w!w]w!wrw $ / "�bw !bw $ ¡{������Hm� $ H�¦p`�Io��\ ©K`a�bQ�TX`#Q��{va��\0�#^a�E���#���E�K`#U [ HJ�+q.PJ�kL w!w!w]w!w]w!wrw $ / �

�bwg� ¡{�#T�P q�n.`a\e�0PJQ�^ w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �,��bw ��� dX��\�^a�En.`a\e��wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �a��bw �"���u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �#��bw � $ ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ * ��bw ��#V��\�`#^a\0�#UsUsPRQ�^c� ����PR^aQ�Us��Qh���8w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *"#

�bw ��#bw � � �M� [ n�`a\�� �#Q�TG¤_��PR�2�~��`a\��Gw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *"#��� ±���� ����� � � �!� � � � ² �� K ��� � � � � � � ��$ $ ��� �

���bw ��ikU [ `#\��2�SQ����r`#Ny�:�y�e�K`#U [ HJ������Q������sw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ * /���bw $ � [ ��PRUsPR´M�>�0PR`#QZ��\�`a�bHR��Us�{�#Q�T��_����PR��PR`aQ���\�`a�bHR��Us� w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *h����bw #V�yqb�#U [ HR���{`SNy��`aUW��ikQh��\0�#�+�2�#��HJ�!��\�`a��HJ��Us�Ew!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *"*

���.w #bw ����\���v#��HJPRQ�^Wnb�#HJ����U��#Q���\�`a��HR��U w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *"*���.w #bw $ n.���������:n.��U w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ * "���.w #bw #  rQ�� [ �0�S�2����\�`a��HJ��U w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ * "���.w #bw / ©KPRQ����#�2�~PRQ�^�w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ * "���.w #bw¢� �#`a�Xn.F�` [ n.�2F���T���HRPJQ�^ w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *"!���.w #bw * nb�S�0PJ� �'�S��PRHJPJ�kL�w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *"!

���bw / ��F��E�KHl�S������� �#Q�T ² w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *a����bw¢� � �z���K`aU [ HR�+�0�r��\�`a�bHR��Us�:w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ",�

���.w«�.w � �:�y�)� �#\�T�Qb����� �#Q�T�� �z���K`aU [ HR�+�0��Qb�����Ow!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ",�

Page 10: Data Structure and Algorithm by Y. Narahari

���bw * �u`���\�`a���!�-��\e�0F���\ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ " $���bw#" ��\�`#��HR��UW��w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ",#

��� � � � � � � ����$ � ��"�aw ����\�PJU��S\�L�n�`a��\�������NC`a\��0FbPR��¦p���+�0��\��]�{`#�0��� w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ " /�"�aw $ ����NC�bH�©o`.`a�~� w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ "a��"�aw # �_\�PJ^aPRQ��#H}¡������M�#\��2F3�y� [ ��\��{�#Q�TGn.��\eva��L�� \��0PJ��HJ��� w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ",*

Page 11: Data Structure and Algorithm by Y. Narahari

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

�aw � �\�`�I��0F�\0�>�0����`#N���`#UW��NC��Q��+�0PJ`aQ�� w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *

$ w � � ��PJQ�^aHmLZHRPJQ��#��T�HRPR�e� w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ��!$ w $ ikQ�����\e�0PR`#QXPJQX�j��PRQ�^aHmLZHJPRQ��S��T�HRPJ����wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ���$ w # �_��HR����PR`aQ�PJQ��O��PRQ�^#HJLZHJPRQ��S��T�HRPJ��� wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w / � T�`a�b��HJL�HRPRQb�#��T�HRPJ���Ow!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w¢� � QG�#\�\0�ML�PJU [ HJ��Us��Qh�2�>�0PR`#QWNC`a\���F��r���2�S�2���_�_� w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w * � HRPJQ��#��T�HRPR�e��PRU [ HJ��Us��Qh�2�S��PR`aQ�`#N���F��r���0�#�2���_�_� w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w#" ������FG` [ ��\��S�0PJ`aQ�PRQ��jHRPJQ��#��TX�e�2�#�2�Yw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #$ w ! �u` [ ` [ ��\0�S��PR`aQ�`aQ��OHRPRQb�#��T��e�2�#�2� w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #$ wg� ¤_�������]PJU [ HR��Us��Qh�0�S�0PJ`aQ�����PRQ�^ [ `aPRQh����\�� w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ /$ w ��� �KPJ\����bHl�#\��#\�\0�MLZPJU [ HR��Us��Qh�0�S�0PJ`aQZ`#Ny�j§��b�����Xw]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �$ w �"�µ�KPJ\����bHl�#\�HJPRQ��S��T�HRPJ����PJU [ HJ��Us��Qh�2�>�0PR`#Q�`#Nz�O§~������� w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ *

#bw � �K`aHJHRPJ��PR`#QZ\�����`aHJ�b�0PJ`aQ��hL��2F-�#PRQbPRQ�^ w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #h�#bw $ � [ ��Q�F-�#��FbPRQ�^ H�� QX�@qb�#U [ HR� w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw #h�#bw # �u��\�NC`#\�UW�#Q����r`#N���HJ`a����TXF��#��F�PJQ�^ wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / !#bw / � ��PJQ�^aHmLZHRPJQ��#��T�HRPR�e� w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw / �#bw¢� �zva��\�L�`#��F���\�Q�`�T���F-�#�{�#QX�#T�TbPJ�0PJ`aQ-�#H [ `aPRQh�0��\�w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �,�#bw * �zva��\�L�������`aQbTGQ�`�T���F-�#�{� [ `#PRQh�0��\��kIK`W�#F����#TX`SNyPm��w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �,�#bw#" �zva��\�L&� $�� ���!Q�`�T��rF-�#�{� [ `#PRQh�0��\��0`W�OQb`.T��W� $ � �KQ�`�T���� �SF��M�#T&����� ��� $ �������¢� wrw �,�#bw ! � ���~P [ HJPR����wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � �#bwg� � ���~P [ HJPR����wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �,#/ w � ¡�������\���PJva�!����\����+�0��\��]`SNz�c�0\����¬w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw * "/ w $ �yqb�#U [ HR��`#Nz�j^a��Q���\0�#H}��\���� w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw *a�/ w # �¬�0\�����I�PJ��F��t�����b��\�������w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ",�/ w / �yqb�#U [ HR���{`SNy��PJQ-�#\eL��0\������ w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw " �/ w¢� ¦p��v#��H|�hL�HR�+va��HpQ~��UE����\�PRQb^s`SNz�O��PRQ��#\�LW�0\����µw]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw " �/ w * �yqb�#U [ HR���{`SNy��`aU [ HR�����#��PJQ���`#U [ HJ�����_��PRQ��#\�LW�0\������3w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw " $/ w#" ©KPJQ-�#\eL��0\����r�0\���v#��\��0�#HJ�Zw]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ",#/ w ! �K`�T��0�E�SQ�TX�K`.T�� $ w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ",*/ wg� � QX�@q��SU [ HJ��`#N�� �b��U��SQX�SHR^a`a\�PJ��F�U w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw "�"/ w ��� ikQ�Pm�0PR�#H¨�e�2�S���!`SNyT-�>�2�O���0\���������\����¬wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ",!/ w �"�µn���� [ � w]w!wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw "#�

q.P

Page 12: Data Structure and Algorithm by Y. Narahari

/ w � $ n���� [ $ �SQ�T3n~�0� [ #µw]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw !"�/ w ��# n���� [ / �SQ�T3n~�0� [ ��w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ! �/ w � / � QX�@q��SU [ HJ��`#Ny�s��PJQ-�#\eLZ�����#\��2F��0\���� w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw !"#/ w ��� �_��HR����PR`aQ�PJQ���PRQ-�S\�LZ���M�#\��2FX��\������4Ht�:Q��+qb�#U [ HJ� w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw ! // w ��* �¬�kL [ PR���#Hp��PJQ-�#\�L������#\��2F��0\�����I�PJ�0F�����HJ��Us��Qh�0��w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw !"*/ w � "��¨PJ^j\�`#�0�S�0PJ`aQ��#Q�T�´M�#^O\�`#�2�S��PR`aQ wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �"�/ w ��!��¨PJ^S�k´��#^j\�`#�0�S�0PJ`aQ¬w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �"�/ w �����}�#^>�k´�PJ^j\�`#�0�S�0PJ`aQ¬w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �"�/ w $ ���¨PJ^S�k´�PR^j�#QbTX´��#^S�k´��#^O\�`#�0�S�0PJ`aQ���w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �"�/ w $ ����Io`���������������PJv#�E\�PJ^aFh��\�`#�0�S�0PJ`aQ�� wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � �/ w $"$ � QX�@q��SU [ HJ��`#N�� [ HR��L�PJQ�^�w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � $/ w $ # � QX�@q��SU [ HJ��`#N����M�S\��2F�PJQ�^WPJQ�� [ HR��L��0\������ w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �"#/ w $ / � QX�@q��SU [ HJ��`#Ny�#QXPJQ�����\���PJQX�j� [ Hl�MLZ��\���� w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw � // w $ �Y� QX�@q��SU [ HJ��`#Ny�sT���HR�+�0��PRQ��O� [ HR�ML��0\����cw!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �h�/ w $ * � ´�PJ^S�k´�PR^j�>�{��F�� �¥��FX� [ Hl�ML�PRQ�^O�e�0� [ w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw �a��.w � �yqb�#U [ HR���{`SNy� ��¦���\������ w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"��#�.w $ � QX� ��¦���\����rI�Pm�0F�F���PR^aFh����w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"� /�.w # �yPJ��`#Q-�#����P¨�0\������ w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"����.w / ¡�`#�2�>�0PR`#Q���PRQ��O��PRQ��#\�L����M�S\��2FX��\���� w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"����.w¢� ikQ�����\e�0PR`#QXPJQ�� ��¦��0\������ HKn�����Q��#\�PJ` P w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"� "�.w * ikQ�����\e�0PR`#QXPJQ�� ��¦��0\������ HKn�����Q��#\�PJ` K w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"��!�.w#" �_��HR����PR`aQ�PJQ�� �_¦��0\������ Hon.����Q-�#\�PJ` � w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"��!�.w ! �_��HR����PR`aQ�PJQ�� �_¦��0\������ Hon.����Q-�#\�PJ`6� w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw��"����.wg� � \���T.�k�bHl�#�2����\����rI�Pm�0F���HR�#�2�ZF���PR^aFh� $ w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ ��.w ���V�yqb�#U [ HR���{`SNy\���T.�$��Hl�#�2�W�0\������ w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $"$�.w �"��� ��PJU [ HR�_\���T.�$��Hl�#�2�W�0\�����w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ #�.w � $ ¡�`#�2�>�0PR`#Q���PRQ��O\���T.�k��HR�#�2�W��\�����w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ /�.w ��# ikQ�����\e�0PR`#QXPJQX¡{©V�0\������ HK�_Pm�¨��\���Q~��������Q-�#\�PJ`a�£w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ ��.w � / ikQ�����\e�0PR`#QXPJQ�\���T.�$��Hl�S�2���0\������ Ht�zqb�#U [ HJ� � w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ *�.w ���YikQ�����\e�0PR`#QXPJQ�\���T.�$��Hl�S�2���0\������ Ht�zqb�#U [ HJ� $ w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ "�.w ��*V�_��HR����PR`aQ�PJQ�¡ ©V�0\������4HKn.PJ���-�S�0PJ`aQ � w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ !�.w � " �_��HR����PR`aQ�PJQ�\���T��k��HR�#�2���0\������4Hon.PJ���-�S��PR`aQ $ w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ !�.w ��!V�_��HR����PR`aQ�PJQ�\���T��k��HR�#�2���0\������4Hon.PJ���-�S��PR`aQ # w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ !�.w ���V�_��HR����PR`aQ�PJQ�\���T��k��HR�#�2���0\������4Hon.PJ���-�S��PR`aQ / w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ !�.w $ �V�_��HR����PR`aQ�PJQ�\���T��k��HR�#�2���0\������4Hon.PJ���-�S��PR`aQ��w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ !�.w $ ���_��HR����PR`aQ�PJQ�\���T��k��HR�#�2���0\������4Ht�yq��SU [ HJ� � w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� $ ��.w $"$ �_��HR����PR`aQ�PJQ�\���T��k��HR�#�2���0\������4Ht�yq��SU [ HJ� $ w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#"��.w $ # � QX�@q��SU [ HJ��`#Ny� $ � #E�0\����¬w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#"#�.w $ / ikQ�����\e�0PR`#QXPJQ $ �)#E�0\������4Ht�:Q��+qb�#U [ HR�jw!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���# /�.w $ � �_��HR����PR`aQ�PJQ $ �)#c�0\������4H��:QX�yq��SU [ HJ�Ew!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#h��.w $ * � QX�@q��SU [ HJ��`#Ny�W©t���0\����Gw!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#"!�.w $ "YikQ�����\e�0PR`#QG�#QbTXT���HR�+�0PR`#Q�PRQ�©t�$��\������4H�� QX�@q��SU [ HJ� w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���#a�

Page 13: Data Structure and Algorithm by Y. Narahari

*bw � � QX�@q��SU [ HJ��`#Ny�sF���� [ �#Q�T�PJ�����#\�\���LZ\�� [ \�������Qh�2�>�0PR`#Q w!w!w!w]w!w]w!w!w]w!w]w!wrw���� $*bw $ ikQ�����\e�0PR`#QXPJQ~��`s�OFb�M� [ w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� /*bw # �_��HR������UsPRQ wrw]w!w!w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����a�*bw / �K\��M�S��PR`aQ�`#N�F��M� [ w]w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����,**bw¢� �yqb�#U [ HR���{`SNz©KPJQ�`aUsPl�#H6�u\������ w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�����"*bw * � ��PJQ�`aUsPl�#H6§~�����������KI�Pm�0F���P q���HJ��Us��Qh�0�£w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����,!*bw#" �yqb�#U [ HR���{`SN�dX��\�^aPJQ�^ w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���*"�*bw ! dX��\�^a�!`#N������#QbT���� w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���* �*bwg� �yqb�#U [ HR���{`SNyikQ�����\e�0�3w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���* $*bw ��� dX��\�^a��� `SN���p�#Q�T�� Ew]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���*"#".w � � T�PJ^a\0� [ F�I�Pm�0F / va��\��0PJ�����:�#QbT3�j�#\���� w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� " $".w $ � T>���#����Q���L�HJPR����\�� [ \�������Qh�2�>�0PR`#QX`#Nu�0Fb�!TbPR^a\�� [ F w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� ",#".w # � T>���#����Q���L�HJPR��������PJQ�^O����\���`a\�� w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� ",#".w / ��F��!��Fb`a\�������� [ �>�0F��0`jv��M�SQ�Q�`#��v�PR��PJ��q w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� ",*".w¢� � T�PJ^a\0� [ F��@qb�#U [ HR�_NC`a\��_P �����e�0\��bfg���SHR^a`a\�PJ��F�U w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw�� "�"".w * ��\�PJQ���P [ HR��`SNyTbL�Q-�SUWPJ� [ \�`a^#\0�#UsUWPJQ�^ w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���!"�".w#" � QX�@q��SU [ HJ��T�PR^#\0� [ F���`sPJHRHJ������\0�S���_TbL�Q-�#UsPR� [ \�`a^a\��#UsUWPJQ�^Ow]w!w]w!w!w]w!w]w!wrw���! �".w ! ��\�PJQ���P [ HR��`SNz�yHJ`�L.T¨fg���#HJ^a`a\�PJ�0FbU wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���!"#".wg� � T�PJ^a\0� [ F��@qb�#U [ HR�_NC`a\��yHJ`�L.T¨fg���#HJ^a`a\�PJ�0FbU w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���! /".w ���V�_� [ �0F �-\��e�{���M�S\��2FG`SNz�jT�PJ^a\0� [ F�wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���! "".w �"��©K\��M�#T.�0F.� �-\��e� ���M�#\��2FG`#Nu�0Fb�!TbPR^a\�� [ F�PRQ��yPJ^a��\�� ".w �,� w!w!w!w]w!w]w!w!w]w!w]w!wrw���!a�".w � $ �yqb�#U [ HR���{`SNyT�PJ\������0��TG�S��L���HJPR��^a\�� [ F���w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"�".w ��# � ��L���HR�rPRQ��jT�PR^#\0� [ F w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"�".w � / � T�PJ^a\0� [ F��@qb�#U [ HR�_NC`a\���` [ `#HR`a^aPJ�M�#H6��`#\�� w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� $".w ���Vn���\�`aQb^W��`aU [ `aQ���Qh�0��`#Ny�OTbPR^a\�� [ F w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����"#".w ��* n���� [ �!PJQ��0F��r����\�`aQb^s��`aU [ `aQb��Qh�0�{�#HJ^a`a\�Pm�0F�U w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw���� /".w � "Vn���� [ #OPJQ��0F��r����\�`aQb^s��`aU [ `aQb��Qh�0�{�#HJ^a`a\�Pm�0F�U w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw����h�!bw � �yqb�#U [ HR���{`SNy��QbT�PR\���������T�^a\0� [ F���wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � $!bw $ �_� [ �0F.� �-\��e�{���M�S\��2FG`SNz�#Q���Q�TbPR\���������T�^a\0� [ F w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"#!bw # ©K\��M�#T.�0F.� �-\��e� ���M�#\��2FG`#Ny�#Q���Q�T�PJ\������0��TX^#\0� [ Fµw!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � /!bw / n [ �#Q�Q�PJQ�^j�0\������{PRQ��j��`aQbQ����+�0��TX^a\0� [ F w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �h�!bw¢� � QXPJHRHR�b���0\��S�0PJ`aQ�`SN�d3n�� [ \�` [ ��\��kLYw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"*!bw * �K`aQb���0\�������PR`aQ�`#Ny�sUsPRQbPRUW�#H'� [ �#QbQ�PRQ�^j��\���� w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"*!bw#" � QX�@q��SU [ HJ��^a\0� [ F�NC`#\��-Q�T�PJQ�^s�#QXd3n.� w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � "!bw ! � � [ �#Q�Q�PJQ�^j�0\����]PJQZ�0F��!�#�6`�va�!^a\0� [ F}�bI�Pm�0F���`a�e� $ * w!w!w!w]w!w]w!w!w]w!w]w!wrw $ � "!bwg� � Q�`#�0Fb��\�� [ �SQ�Q�PRQb^s��\����S�-���b��I�PJ��F���`a�e� $,$ w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"!!bw ��� ikHJHR���e�0\0�>�0PR`#Q�`#N�dGn.� ¦p��UsUW� w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"!!bw �"��ikHJHR���e�0\0�>�0PR`#Q�`#Nz��\�PRU�fg���SHR^a`a\�PJ��F�U w]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ �"�!bw � $ � QX�@q��SU [ HJ��^a\0� [ F�NC`#\�PRHRHJ������\0�S��PRQ�^E��\�PRU�f<���#HR^a`#\�PJ��F�U w!w!w]w!w]w!w!w]w!w]w!wrw $ �"�!bw ��# � QXPJHRHR�b���0\��S�0PJ`aQ�`SNz �\��b���>�#H�f<�{�#HR^#`a\�Pm�0F�U w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ���!bw � / � ��P q~�k��Pm�kLZ�{nb� �SQ�T���`aUs���0`a��\���wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ ��!!bw ���Y� QXPJQ~����\�UW��T�Pl�S�������0�#^a��PRQ���F��r��`aQ��e�0\�������PR`aQ�`#Ny�O�{n.� �0`a��\ w!w]w!w!w]w!w]w!wrw $ ���

Page 14: Data Structure and Algorithm by Y. Narahari

!bw ��* � �{nb� ��`a��\�NC`a\���F��r��Pmq~�$��PJ�kL [ \�`#��HR��U w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ �!bw � " �yqb�#U [ HR��`#Nz�j��`aU [ HR�+�0��^a\�� [ F�I�PJ��F2��va�rva��\��0PJ�����!w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$"$!bw ��! � ��`#HR�b��PR`aQZ��\�����NC`a\��j�{nb�VPJQ����0�#Q����]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ #!bw ���V©K\��#Q��2FG�#Q�T���`#��Q�TX� [�[ HJPR��T���`W�j�{nb�VPJQ����0�#Q���� w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $"$ /�bw � �yqb�#U [ HR��`#Nz�jF��M� [ w!w]w!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #h��bw $ ikHJHR���e�0\0�>�0PR`#Q�`#Ny��`aUs��F��M� [ ` [ ��\��S�0PJ`aQ��Ow]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #"*�bw # ¤_��PJ�2����`a\�� � [b[ HRPJ��T��0`s�jHRPJ����`#N ���O��HJ��Us��Qh�0��w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ #a��bw / � T�����PR��PR`aQ���\����r������Q��#\�PJ`sw!w!w]w!wrw]w!w]w!w!w]w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / "�bw¢� �_����PR��PR`aQ���\�����NC`a\��0#>�$��HJ��Us��Qh��PRQ�����\e�0PR`#Q���`a\e� w!w]w!w!w!w!w!w]w!w]w!w!w]w!w]w!wrw $ / "�bw * ��Io` [ `a����PR��PJHRPm�0PR���tNC`#\��s��`a��Qh�0��\��+qb�#U [ HJ�rI�Pm�0F�NC��Io���e�:Qb`.T���� w!w]w!w!w]w!w]w!wrw $ / �

Page 15: Data Structure and Algorithm by Y. Narahari

� � ��� � ��� �

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

��� ������������������������� "!�#%$'&��(%��)�*+��,-(.�/&0���1&�2���)��3�4#5�����(5�760�4&����8��&�9:(5�;�/&72=<>&0*"?9:�@��;���A�4(%�����B�0C3�D ��E�F�����B���������G7�� H�#.$'&7��(I��)�*+�3 ��J�B���'���7#K��&"��)��J ��BL'��#.&�9@?*M�4�'�N&�2O$'&A&P MQP�:�#.(%�SRT�4&�*M9:�@��4��9��&�$0���*+�;CVU-)��4(.�/��&�#.�G(5�/W���&���$')��N&0�@�X�;#.��7�#%R(.�Y��)���2Z&�#5#5&\[](.��$^ �(_7$���7* `Z!�)�&�6:ab&79c�B��&72d��6�7�� feb#.#5*g��h`ji4k0l�m�n�n�C

o ��)��B? !]W:�F�������� �D ��*g ��(.���# prq �� �� psq ���������������4�o &A ��4# �tR@9u�v ��2Z&7��*+�# wN�j�4�� �&!�#%$'&��(%��)�* prq xs���$'�:7$�� psq wy��&7$0���* (5�

wy�&�$���7* <z&��G{'�L7"&���C5C.CU-)��Jwy�&�W:#.�4* �A&0#IL�(.��$Mwy�&P�;�4���-(5�f<>&0*M9:�@��4�-�A�;(.�4���;�

|8}j| ~-��� � �z�s�����t���S�����

� �19��&\L@(5 ���WO�4#5&\[�(5��2�&��*g�#� ��B����(%��(5&0����&�2OD2��B[�(5*M9O&��j�������6��4&�*+*+&0�J��&7��(5&0�����): �>[3��[](5#.#c2d��4QP�����'��#%R����j��(5����)�(.�-#.�4�B����������&7��4�;C

���b��� n `b]_asc�� r\��� C�! ����(%��Y���4QP�������B��&72G(5���F���������(5&0���;6��\7��)�&�21[])�(.��)�):����;#.��7��*E�\���(.��$�7�� h��7�hWO���B @���;�@��� ¡[](I��)hY����(I���E�*M&0�����D&�28�;¢c&��j��(5�

Page 16: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � $

����(I��D��(.*M��C

� []):����BL'�;����)��1(5��9:�@��L7�#5���4�;6P7�M�#%$'&��(%��)�* [](5#.#@ ��B����(%���#IR ��;��*M(5�: ��>72 ��4��� @���;�@��(5��$E"����(I�����P��*^WO�;�1&�2 (5���F���������(5&0���;C

���b��� �pY r Y �����Nd C��D �� �SRA9O��&�2D¡L77�(57W:#.� (5�^��)��f�j�;�M&�2bL77#5���4�"��): ����)��L7 ��(57W:#.�D*g�R��������*M��C

� ���(5�� : �� �SRA9O�4�-(5� < �

� � [ r � � Y c @a_Y r a o�� `bd

� ���(5�� : �� �SRA9O�4�-(5�fw�����4�# �

� � [ r d ]sd c ced Y\` � � Y c � a a `bd Y\[

���b��� n��^qPr ceY � r �EY r Y������ d�� n ����� �:!���!���U (.�-E�j�B�G&�2��4#.�4*M���'���8[](I��)��;&0#.#.�4�B��(5&��Y&72V[3�4#5#K ��B�����4 f&�9O�;�� ��(5&0���;C

� U-)��H&�9O�;�� ��(5&0���"�4�� ������H��M&79O�;��7�� ��M��&7�+&0��#%R (.���F��7���;�4�M&�2]��)��!D��U�W:�@�-&7��)��4�3�tR@9u���-&72�&�9O�;����� ��1&��1(5���F������;�4�1&�2 & ��)��;�1!���U-�;C

� �A(5*+(.#_7�#%RE��������#I���3���4�4 ���&7�-Wu��(5���F������;�4�1&�2 ��)���!���U� !3�8#.����F�X&0���G&79O�;��7�� M&�����)��-���4����#%�8(.�N&�2O��)��G!D�bU �SRA9O�G(.�MQP�����F��(5&��=C

� W��F�4����? &��(.�4����4 M#_7��$'�:7$0�4�X������)Y��-<���� ��� �{'�L7 9��& L@(5 ��G�� �9:#.(5�;(%������9�9c&7���2�&��1�� @9���4����(5��$�!D��U-�1W�R *M������3&�2 �"!$#&%'%)(*%�C+  ��*M9:#%����&�2�!���U-�-(5���;#5�� ���#.(5�F��6:�F����'�O6�QP��������6����B��6�����;�06@$0��79:)=6@�B����C

���b��� �pY r Y , r c o-� r o ced q ��!�� (5*E9:#.�4*M���'�� ��(5&7�h&�2b�� !D�bU (5�� ��������#_ ��(5&��(.����&"�F�� ���*M�4�'����&�2 "9��&�$0���*+*+(.��$�#_���$'�: $0�06

� ��)��� ��4�4#57�� ��(5&0���X��): �- ��B����� ^L77�(57W:#.����&"WO��&�2 ��): �1!D��U �tR@9u�� ��)���&�9u�4�� ��(.&0���> ��B�����4 �&0�Y��)���!D�bU `Z����(5��$�9���&P�B�� ������4�1&�2V��)���9��& ?$0���*+*+(.��$T#_7��$'�:7$0� n

Page 17: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � #

!b�¡!D�bU (5*E9:#.�4*M���'�� ��(5&7����)�&P&0�j������ #�� #�%������ ����� (G��&g���;9���4�j���'����)��"!���U�C+ ���)E : ����F��������������-(5�yW:��(.#%�8��9E2d��&�* ��)��-W�7�(.�- : ����SRA9O�4�N&�2O��)��G���� ��;��#IR�(.��$9��&�$0���*M*+(5��$�#_7��$'�:7$0�b����(5��$"��)���\L77(5#_ W:#.�b : ��"�F�����B�����(5��$ 2 7�4(.#5(%��(%���;6A������)��17�����R@�;6@��4�;&�� ��J`Z�j�������������4�3(.�H<-n�6�9c&0(.����;���;6A��#%���;6��j�;���;6��;���7C���RY � � `bd �b! �� ����4����,�(.����¡!���U [])�(.��) �4�� WO�� ��;�����4 ��DY�j�4QA���4���;��&�2�4#.�4*M�4�����][](I��)¡&�9u�4�� ��(5&�����������) ����P��#5# `� �n�6O�4*M9��SRr`� �n�6:����QP��������`  =6� �n�6r��� ��4QA���4����`� �n�C�U-)�(5�-�4��YWO��(5*M9:#%��*E���'��� g����(5��$E : ��"�j�������������4�1������)f��

� ����R� ��(.��$'#%R�#.(5���0�4 �#.(5�F�� �&���W:#%R�#.(5���0�4 �#.(5�F�� �;(.��;��#_7�37�����R

k���k�� k �^a o c+� o [ Y � d [ r Y\`8�EY r Y , r c o-� r o ced qU-)��G2�&0#5#.&\[](5��$�2�&0���X : ����F�������������4�X7���]���j�� g��W:(.QA��(I��&0����#%R"(.�E��)��b ��4���;�(%9���(.&0�&�2c�#.$0&��(%��)�*+� ��� E���;�jL'�]��yW�7�(.�1W:��(5#. �(5��$�W:#5&P�'�A�y2�&��y�����#5(���(.��$�*+&����1�;&0*M9:#%�B  : ��^�F����������������;C

� �P�4QP�������B��� ` �#.��&��4�#.#.�4 ���1#.(5�F����n� �b(5����(.&0�:7�(.�4�� wy�(.&��(%�SR� ��������4���� ��79:)��

��(.�B��(.&0�:7�(.�4�"��� 9���(.&��(%�tR�QA���4�����M���� Wu�f�4#5�����(%�:�4 ����� ��;�+hW��&'� ��;���������?$'&7��RY�4�#.#.�4 ������ #���� � % (�� %0CX!�#.�&�6:W:(.�:7�jR ��� �$0�4���4���#c����4�4�G7����L'�4�jRY9c&79:��#_7�W:��(.#5 �(5��$"W:#.&A�'�A�32�&��-(.*M9:#.�4*M�4����(.��$ �(.�B��(5&��:7�(.�4�3��� 9���(.&��(%�tRgQP�������4�;C

|8}� ! ��� "$#S�&%b�t��' �)(+*,#.-8�0/:�t�21�� �

v �T(.��L0�4�jR¡�4&0�'L'�4��(.�4������&��;#_7���(%2dRh�#%$'&��(%��)�*+�GW���j�� &0�h��)��M���4#_ ��(IL'���*+&0���'�&�2r��(5*M��&��3���4#_ ��(%L0�D�*M&0�����>&�2V�j9���;�D��)��BRg����QP��(.����7�� �j9O�4�;(.2 Rg��)��D$0�&\[-��)�&�2

Page 18: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � /

��(5*E��� �j9���;������QP��(.���4*M�4��������J 2���������(.&0�h&�28��)��M(.��9:�@�J�(��4��C+U-)P���46s[>�E):\L0���)�����&7��(5&����1&�2 �

� � � � d�� a � � ` d��V� r � ���-������(.��$���(.*M��&�28��)��E9��&�$0���* �� �2���������(5&0� &�2��)�����( �;��&�2�(.��9:�@�

� ,��^Y � d�� a � � `bd �V� r � ��!�*+&0���'��&�2X�;&0*M9:�@��4��*M�4*+&��jR����4QA��(%���� �����(.��$��)���9��&�$0���* �B @���;�@��(5&0�=6�7�G�2������B��(.&0� &72V��)��J(.��9:�@�G��( �;�

k�� lc� k X�� ]�� � a r Y r � a_[

� ! �;&0�'L'�4��(.�4���r[-�RD&�2� ��4��B�(.W:(.��$1��)��y$0�& [-��)��� ��N&�2�-2���������(5&0����� J)������B���)��D��(5*E���4&�*M9:#.�� �(I�SRM&�2 ����#.$'&7��(I��)�*fC

x=�;�3�YWu�D��)��D��( �;��&�2=��)���(5��9:�@�1��� ��` �Vn�6��K` �VnXWO� 9c&0��(I��(IL'�]2Z��������(5&0���8&�2V�=C� ����� XE�b]�� � C���`��Vn>(.���M`��K` �Vn�n>(.2���� f&0��#IRY(.2���)��4������ �(.�j���GE�����# 6�9O&0��(%��(%L'��;&0���F�������� ��� f^9c&0��(%��(IL'��(5�'��4$��4�����G�����) ��): �

��` �Vn������K`��Vn � � �!� �

�#" &7�����): ���E`��K`��Vn�n�(.�G��;#_7��-&72 2������B��(5&����4C� U-)���, � )�,���&7�� ��(5&�� �j9O�4�;(%�:�4�G��FR�*M9���&7��(.�b��9�9u�4�-WO&0���� ��� �E`ji\nJ���42d�;���^��&h�;&0���F��7���"��(5*M��C$�E` �Vn"(5�� �(.������4�^#5(.���\ �"��(.*M�&%'�M` �)(4n ` ��� @�4 un]��;2d�4��b��&Y9c&0#IR���&0*M(_�#=��(.*M�*%+�E` #.&�$,�Vnb(.�����#.#.�4 h#5&7$�7�(%��)�*+(.����(.*M�&%�E`.-0/7n����;2d�4��>��&"�B @9c&0���4�'��(5�#O��(5*M��6A�B����C

k�� lc� l � ��Y � � ` d q� x=�;�12�`Z�un1p �21 � � � 3ACyU-)��4�

� 2�`Z�un�(.� � ` �21�n� 2�`Z�un�(.� � ` �54�n� 2�`Z�un�(.�-��&7� � `Z�un

� x=�;�12�`Z�un1p m6/

Page 19: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � �

� 2�`Z�un�(.� � `�� / n� 2�`Z�un�(.�-��&7� � `.- / n

� v 2�2���`Z�un�(5� � `�$���`Z�un�n���� �2 1 `Z�un�(.� � `�$ 1 `Z�un�n�6A��)����� 2 � `Z�un � 2 1 `Z�un�(5� � `Z*g� s`�$ � ` �un�6�$ 1 `Z�un�n�n

k�� lc��� n [ � ��Y � � ` d�� � a � � `bd�� � r � a�� d ce]sd q asc ro �4��$0�4��&��j�8(5��� �(%L@(5 ��b��� g�;&0��QA���;���#%$'&��(%��)�*f607�X&0�@��#5(5���4 MWu��#.& [JC " & ���-��): ���)���2������B��(.&0� � ( �� (*%���� �8�4�#5#.�3(I���j�4#.2 � ( � � � % ����( ! �OCyxr�B�G���3���RM��&� ��B���;�*+(5���]��)����(5*E�D�;&0*M9:#.�� �(%�SRM&�2 ��)�(5�1�#.$'&7��(I��)�*fC

� ��$ � Us��\�^a����`a\��]� ��� $ � ¦�� � ��� Q'�����!� �)Q � � ��� � � �� � �)¦u�

� � $ � �n [ HJPJ��¦�PRQh�0`c�kIo`�F-�SHJva���{¦����#Q�T�¦ ��� � � �� � �CUW��\�^a�W�CUW��\�^a����`a\e�]�¥¦��@��� � �+�u�)Us��\�^a����`a\��]�)¦ ����� � �����

xr�B�^U `Z�unbWO�+��)��E��������(.��$���(5*M��&�2 o �;��$0����&��j�J&0�����(5��9:�@� #5(.�j� &�2>��( �;�g�=CU-)��4�=6

� ` �Vn � � � `Z(.2 �Hp i\n ` � � (5�-��4&����j����'��n� - � � � -��� � � !�t[1&^���4�4�����(%L'� ��7#5#5�

� � 1 �� �"� !�;&0�F� &�2�*M�4��$'(.��$`Z(.2 �$# i\n

v 2 � p - ( 2Z&7�-��&0*M� �O6�(I�G�4�� Wu� ��)�&\[]�Y��): �� ` �Vn ��- ( � `ji\n ��� 1&% - (

U-): �1(5�;6 � `��VnX(5� �E` ��#5&�$,�Vn�C

Page 20: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � *

100n

5nn /22n 3

2

n

T(n)

��PR^a��\�� �aw �"H r\�`�I��0F�\0�S������`#N���`aUs��NC��Q��+�0PR`#Q��

dX�>q.PRUc��U��\�`a��HJ��U n�PR´�����F-�S���M�SQX�6�r��`aHmva��T�PRQ�!�)Q'� � �"� ���,�"� � �"�"�"�

��PJUW� Q�PJ��� ��PJUW� Q�PJ��� ��PRUs� Q�Pm�0����"�jQ � � � ���"�

�cQ � � � / / �Q��@ª $ " � $ $ "$ � ! � � ��#

���#��HJ� �aw �,H r\�`�I���FX\��S�0�r`#NuNC��Q��+�0PJ`aQ��

Page 21: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � "

k�� lc��� ��a_` d�a r\� d ��a_[ qPr Y\[ rU-)��H�;&0���F������Y< ��): �Y79�9u�\ ���M(5� ��)�� ��B����(%��(5&0� &�2���)�� ��FR@*M9���&7��(5�Y��9�9O�;�WO&0���� ��/(.� L0�4�jR (5*M9O&��j��7����C v �y ��49u���� ��/&0�T��)��1�#.$0&��(%��)�*f6\*g���)�(5����67�;&0*M9:(5#%�4�46�B����C v �"(5�J��&fWO����& ���4 ��):�� ��)��gW:(.$ , � )�,H��&7�� ��(5&0�h$0(%L'�4� &0��#IR���FR@*M9���&7��(5��;&0*M9:#%�B �(%�tR'Cr!��N������)=6�D9c&0#IR���&�*+(_�#'��(5*M�3�#%$'&��(%��)�* [](%��)��#57��$0�>L77#5���-&�2���)���;&0���F������]*+\RY������f&0�@�b��&+Wu�^*"����)f#.�4���]���g�;(.�4���G��):�� ��f�� �9O&0�����'��(_�#=��(5*M��#%$'&��(%��)�* `d[](%��) ��*g�#.#>�;&0���F�������n�2�&��^��)��������$0� &�2b(5�'���;�����F�E&�2G��)���(5��9:�@�L7�#.�����;C8�P�;����(.$'�����Mi7C_i���� ��#5��&�U 7W:#.�Mi C i7C

k�� lc� g � asc qPr � Y q d� n� d ceY ]sd � Y q d� Y\[ n � a_c r � � d � a � � `bd�� � r �� � a_c qHr � Y q d�� o [ [�� [^] � � � d �MU-)��gWO�4):�L�(.&��T&�2>��)��Y7#.$'&��(I��)�* [](%��)���4�j9O�4�B�r��&3��)���[1&7���F�=9O&0���(%W:#.�y����j�X&72P��)��N(.��9:�@� (.���F��7���;��CVU-)��/[3&���F�j? ��7����������(.��$"��(.*M��&�2 7�f�#.$0&��(%��)�* (.�G�����9�9O�;�-Wc&����� �&0�Y��)����������(5��$"��(5*M�2�&��y��'R"(5��9:�@��C�����&\[](5��$�(%�y$'(%L0�������XD$'�:7����'��4����):��/��)��G�#%$'&��(%��)�* [](5#.#���BL'�;�D����0�E��'R¡#.&0��$0�;�4C"U-)��;���M(.����&����;�� h��&�*g&�0����h�4 ����� ��4 ¡$'���4��� Wc&0�@�>��)����������(5��$"��(5*M��C

� n� d ceY ]sd � Y q d�� o [ [�� [^] �T� � d ��U-)����� @9O�4�B��4 Wu��):�L@(5&��T[])��4����)��(.��9:�@�-(.�3����� �&0*+#IR+ ����[]�Y2d�&0* ^$'(%L0��� �(5�F���(%W:�@��(5&0�=C�U-)����L'�;�� $0�B? ����j��������(.��$D��(.*M�>&�2K��E�#%$'&��(%��)�* (5�X7���4�F��(.*g ���&�2u��)��1�������(.��$D��(.*M��2Z&7�X��,0\L0�4��7$0�4,f(5��9:�@��C�<>&0*E9:�@�����(.&0�h&�2]�L'�;��7$0��? �4��j�+�������(5��$H��(.*M�+�4�����(.#5��A��&\[](5��$��#5#�9c&0����(.W:#%�+(5��9:�@� �j��QP���4���;�4�;6 ��)��E9���&7W�7W:(5#.(%�SR �(.�F���(%W:�@��(.&0�h&�2&P�;�4�����������B�N&72A��)����j�X�j�4QA���4���B���;6�7�� ���)��N�������(5��$-��(5*E���K2�&��s��)��X(.�� �(%L@(5 ��:�#�j�4QA���4���B���;C � 2 ���4� (%� (5�Y�������*M�4 ��): � �#5#b(5��9:�@����&�2J�$'(%L0��� ��(��4�h7����4QP�:�#5#IR�#5( �0��#IR'C

� nY� a_c r ��� d � o [ [�� [^] �T� � d a]�;�� ��)�����(.*M�����4QA��(%��4 ���& 9u�4��2�&��* �j�4QA���4���B�f&�2"`Z���4#_ ��4 un &�9O�;�� ��(5&0���"(5�M�L'�4��7$��� �&\L'�;�M�#5#>��)��f&79O�;�����(.&0���9u�4��2�&��*M�4 =C/!b*+&��j��( �;�� Y��:�#IR���(.�3�4���WO�J���j�� ���&���)�& [���):��1��)�� �L'�;��7$0��;&0�F�8&�2r7�+&�9O�;�� ��(5&0��(5�8��*g�#.# 60(%2=&0���b\L0�4��7$0�4�y&\L'�;�8����4QP�������B�]&�2=&�9O�;���?��(.&0���;6'�BL'�4�E��)�&0��$')g���(5*M9:#%�-&�9O�;�� ��(5&0��*+(%$')��/WO�]�� �9u������(%L0�0C�!�*+&��j��( �;�4 7�:�#%R@��(5�>$0�:7�������;���8��)�� �L'�;��7$0�D9u�4��2�&��*g����B�D&72 �\7��)�&�9u�4�� ��(5&�� (.� ��)��[3&���F�-�4��j�0C

Page 22: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � !

i C ��&��/�B ��*M9:#%�060�;&0����(5 ��;�/��)��-9��&�W:#%��* &72O���� �(5��$���)��G*+(5��(.*"��* �4#.�4*M�4���y(5�"#5(.�F�G&�2 �4#.�4*M�4�����;C

� &���j�-����j�Tp � `Z�un!]L'�;��7$0���4��j�Tp � `Z�un

-PC ���(.�'����&��j�� &���j�-����j�Tp � `Z�21�n!]L'�;��7$0���4��j�Tp � `Z��#.&�$��un

m@C o �;�$�� �A&��j�\6�aG�\ 9 �A&��j�� &���j�-����j�Tp � `Z��#5&�$��un!]L'�;��7$0���4��j�Tp � `Z��#.&�$��un

��C � ��W�W:#.����&��j�� &���j�-����j�Tp � `Z� 1 n!]L'�;��7$0���4��j�Tp � `Z� 1 n

3PC � (5�:7�jR��P��7���) U ��;� �8�P�\ ����) 2�&��-7����#%��*E���'�� &���j�-����j�Tp � `Z�un!]L'�;��7$0���4��j�Tp � `Z#.&�$��un

k�� lc� h X�� ]�� � d ]sY2Y\[ X�� ] � � d r Y a r Y r �ba [ qU-)�� � ��& �����(.&0���j9O�4�4(I�:���G��FR@*M9���&7��(5�b#5&\[3�;��Wc&0���� ��;C� �����mX�� ] � � d ]_Y C���` �Vn (5�N��(. "��&�WO� � `��K` �Vn�n�(%2��ED9c&0��(I��(IL'�3�����#��;&0���F��7���< ��� f^9c&0��(%��(IL'��(5�'��4$0�;� ���G�����) ��): �

��` �Vn �����K`��Vn � � �!���

!b��!�#I���;��: ��(%L'���b�;����(I��(5&0� ����` �Vn�(.�]��(. ��&EWu� � `��K` �Vn�n�(%¢���E9c&0��(I��(IL'�����\7#�;&0���F������]< ������) ��): �

��`��Vn � � �K` �Vn 2�&��1(5�@����(%��4#%R�*+���RML7�#5���4�1&�2+���

Page 23: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � �

U-)���� ��&7�� ��(.&0� ��4���;�(%WO�4�-��FR�*E9���& ��(.�]��(.$0)��>Wc&0���� ��;C� �����_X��b] � � d r Y C �/` �Vn/(.����`��K`��Vn�ny(%¢ �+9c&��(I��(%L'�G���\7#O�;&0���F��7�����3< � 7�� �< 1��� ��9O&0��(%��(%L'�D(5�'���;$0�;�1� � 6�������) ��): �

� � �K` �Vn�����` �Vn ��� 1 �K` �Vn � � � � �

k�� lc��� n [ � ��Y � � ` d��x=�;����` �Vnyp -6�)1�� �&� ��i���C!��` �Vn8(.� � `Z�21�n�C ��&��46

�/` �Vn��zm � 1 � � ���

U-)A���;6u< p m���� ���>p��

!b#5��&�6�/` �Vn�� �*� 1 � � � �U-)A���;6 � p �+7�� � � p �

��` �Vn8(.� � `Z� 4 nv ��2Z�����6�(.2 ��` �Vn8(.� �M` � ( n�2�&��-��&0*M� % 6:(I�G(5� �E` � n�2�&���� # %

��` �Vn8(.�-��&7���E`��Vn�C�A��9�9c&0�j� ����;&0���F������]<z������) ��): �

-6� 1 � �&� ��i � ��� � � � � ���U-)�(.�1��7��WO�������(5#%Rg���;�4����&�#.��� ���&EE�;&0�'���7 �(5����(.&0�=C U-)P���46@[>��):\L0����): �"���` �Vn8(.� � `�� 1 n3��� #��` �Vn8(5����` � 1 n

|8}�� ��� ��/���� � ���$/��21D� /

U-)��G2�&0#5#.&\[](5��$�Wc&P& �A�89��&\L@(5 ��]��+�� ��B�4#5#.�4�'�N���� ��*M�4���N&�2c��)��]��&�9:(.�4�X �(.���4�����j�� (.�¡��)�(.����):79���4�4CMU-)��E���\� ��;����)�&���#5 �#.�&��j���� @R �S[3&�&7��)��;���0�;R ��&�9:(5�;�)��`ji\n�1�4�4�����(5&0�)%s`.-0n �-�4�;������4���;� �1�4#_ ��(.&0���;6@2��&0* ��)��4�j�J��&0����B���;C

Page 24: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � ���

i C !b#.2d���� �� !b)�&�6u{0&�)�� + Cua]&�9c�B�&�2 ��6�7�� f{��;¢O���;R�� eb#.#5*g7�=C�� #�� #�� ����� ���� � � ( % #�� �� ! ����� �� � %0C�!� � �(5��&0�A? � ����#.�BR06Vi;k0l0m�C

-PC � (5#.#.�4� � ������7� ��� w/7��# � �����#%�;R0C � � � � #�� ( � � # ! % �� ���! ����� �� ��� � %�Cwy���4����(.�;��?ta�7#5# 6Ji4k�k ��C v �� �(_�� + �(%��(5&�� 9:��W:#.(5��)��4 zW�R wy�����'��(5�B� a�7#5#D&�2v �� �(_@6ri4k0k0l�C

m@C U-)�&�*g��>a C�<>&��*M�4�=6:<>):7�#.�4� + C:x=��(.���;���&0�=6���� ��b&0�:�#5 �xyC �-(%L'�4�F��C�� ���� � � ��� ���� ��������� ! ����� �� � %0CyU-)�� ofv U + #%������(5�4�# + ��$'(.���4�;�(5��$E��� <>&0*"?9:�@��;�b�A�;(.�4���;� �P�;�(.�4�46si4k�k ��C v �� �(_7� + �(%��(.&0�Y9:��W:#.(5��)��4 �(5� i4k0k0k�C

��C o 7� ��!�#.#.�4� � �4(5���;C�� #�� #�� ����� ����� (*% #�� ���! ����� �� � ��� # ! �&%�� % � �������bC� ���&�j�*M(5�A?F<>��*+*M(.��$'�;6�i4k�k �:C v �� �(_7� + �(%��(.&0�Y9:��W:#.(5��)��4 �(5� i4k0k0l�C

3PC ��C xyC � ���):�*�67�TC + C ���P�@��)=60��� � C�w� �����)���( �OC�� ��� ��� (�� (�� #����( � #���� � %0C!b � �(5��&0�A? [>�4�#%�;R06 �-��� �(.��$:6�i4k�k ��C v �� �(_�� + �(I��(5&0��9:��W:#5(5��)��4 TWPRJ!b � �(5��&0�A?� �4��#.�BR�xs&0��$'*+��=6Ki4k�k0l�C

|8}�� ��/�� �$#t��� �

�#w{� ������UWPJQ�^X��F-�S� � PR�]� [ `�IK��\c`#N $ �y�+q [ \������c��F���`a�.� [ �b�E`#N��0Fb�WNC`aHJHR`�I�PRQ�^ [ \�`a^a\��#U PRQ����\�UW��`#N �yw

�! #"%$'&)(*",+.-�&0/1�! #"2 435 �! 6"8769#:<;>=@?*A� #"'9#B<CD@E �.F.+G/�7IH� 43 5 7�JK9#:<CL=@?MA� #"6N�N6O-6+."@A6-. P=@?*A# #"�C

O

$ w:n�F�`�I �0F��S���0F���NC`aHJHR`�I�PRQb^c���0�S�0��UW��Q~���:�S\��_�0\����,H�)�h� �KQ �KR �TS� PR�VU�� � � ��C�'��U��>q}� � � � � � � � ��PJ�VUZ� � � ��C���XW ��ZY � �\[�PJ�VUZ� �][_^ � ���SQ�Ta`r� �][_^ � �+��NC`a\�PJQ~����^a��\cb�CT'��i$Nedu�gf��rPR�c�SQ~Lhb �� T���^a\���� [ `aHJL�Q�`aUsPl�SHzI�PJ�0F&� [ `a��Pm�0PJv#�WHJ�M�#TbPRQ�^X��`��jis��PJ��Qh�M�z��F���Q

du� �}��PJ�VUZ� �][����#Q�T�`r� �][M�+w#.w�xFbPR�2F�NC��Q��+�0PR`#Q�^#\�`�I��{N)�S���0��\_k

�)�h� �4lnmpo � �u�)HJ`a^ �p� �

Page 25: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � �"�

�C�'��HR`a^ � [ �|�)HJ`a^ �p� [�C��� � lnmpo lnmpoKlnmpo � �u�)HJ`a^ �p����CT'� � � � ���mw

/ w{i$N�� �+� �p��PJ�VUZ��� �+� �p�����SQ�T�� �>� �}�KPR�VU���� ��� �}���KI�F���\��� �K�#Q�T� � �#\�� [ `a��PJ�0Pmva�_NC��Qb���0PJ`aQ���`#N������Fb`�I �0F-�S����F���NC��Q��+�0PR`#Q�� ��� �}� ��� �>� �p�KPJ� U��)UW�>q���� ��� �p� ��� ��� �p�����@w

��w{i$N�� ��� �}�uPJ�<UZ��� �@� �}�����SQ�T�� �>� �p�|PR�<U���� ��� �p���pI�F���\���� ���SQ�T�� ���S\�� [ `a��PJ�0Pmva��NC��Q��+�0PR`#Q��y`#N ����e�2�S����I�F�����F���\ �M�#�2FX���2�>�0��Us��Qh� ����HR`�I PJ���0\��b�]`a\�N)�#HJ���Swoi$Nz��F��!���2�>�0��Us��Qh�{PR����\����a�CN)�#HJ�����@�^#PJva�r� [ \�`.`SN��)��`#��Qh�0��\��k�@q��SU [ HJ���@w�)�h�Z��F��!NC�bQ�����PR`aQ���� ��� �}����� ��� �p���.PJ�VUZ�CUWPJQ¨��� ��� �p� ��� ��� �p�����@w�C�'����F��!NC�bQ�����PR`aQ���� ��� �}����� ��� �p���.PJ�VUZ�CU��>q6��� ��� �p� ��� ��� �}�����+w

*.w ��\�`�v#�]`#\�T�PR� [ \�`�va� H�i$N��z� �p�KPR��� [ `a��Pm�0PJv#�_NC��Q��+�0PR`#Q�`SN �����0F���Q��z� �p�KPJ�VUZ���y� � � ���+w"�w{��Fb�E\��bQ�Q�PRQb^��0PJUW��� `#Nt�SQ8�#HR^#`a\�Pm�0F�U�� �#Q�T��s��`aU [ ���0PJQ�^Z�SHR^a`a\�PJ��F�U�� ��#\��ET�������\�PR�6��T�hLZ��F��r\�������\�\���Qb�����

� � �p� � # � � � $ � � ��� � � �p� �! � � � / � � �

\���� [ �����0Pmva��HJLaw!�:������UsPRQb^ � � ��� � � � ��� � �a�}�SQ�T � � / [ NC`a\:��`aUs� [ `#��PJ��PJv#�cPRQh�0��^a��\ b��Tb���0��\�UsPRQ��_��F���vS�#HR������`#N� WNC`a\�I�F�PJ�2F�� pPR���#�eL�U [ ��`#�0PJ�M�#HJHJLsN)�#������\��0F��#Q"�Ew!.w:n�`aHJv#�_�0F���NC`aHJHR`�I�PRQ�^E\�������\�\���Q��������6I�F���\�� � � ��� � �!�#QbT � � �}�oNC`a\ �$# $ �0�S��PR� �����4H

�)�h� � � �p� � # � � � � � � ��C�'� � � �p� � # � � � � � � � ��C��� � � �p� � # � � � � � � � ��CT'� � � �p� � / � � �

� � ��C��� � � �p� � / � � �

� � � ��CN0� � � �p� � / � � �

� � � ��C^~� � � �p� � � � � � � � ��CF'� � � �p� � $ � � � � � �µHR`a^ ��)Pl� � � �p� � $ � � � � � � � ��¢�0� � � �p� � $ � � �%� ���&� ��)�.� � � �p� � $ � � �%� ���&� �

�.w:n�F�`�I �0F��S���0F���NC��Qb���0PJ`aQ � � �p��T��A�-Q���TG�hL � � ��� � �]�SQ�T

� � �p� � � � �%�'��� � ��

NC`#\ �'# $ F-�S����F��r��`aU [ HJ�+q.PJ�kL UZ�)HJ`a^ �p�@w

Page 26: Data Structure and Algorithm by Y. Narahari

K � ��� � �� ��� ± � � ��� ��� � �!� � � $

���.w ��\�`�v#�]`#\�T�PR� [ \�`�va� H�N�� #�����Q'�KPR�{�O�CN�� $ ����Q-����"�#w:n�`aHJv#�_�0F���NC`aHJHR`�I�PRQ�^E\�������\�\���Q����E\���Hl�>�0PR`#Q�H

� � �}����� � � $�%� �

�KR ���ZY �� � �k�

I�Fb��\����_PJ���O��`aQ��e�2�#Qh�M� �$# $ �-�SQ�T � � $ �KPR���~Q�`�I�QX��`O���!�j��`aQb���2�SQ~�� �@w

Page 27: Data Structure and Algorithm by Y. Narahari

� � ��� � ��� �

� � � ���

! ! � % �Z60�#.��&��4�#5#%�� ^ % (�� � ( � � (�67(5�/��;&0�'��7(5���;�s���: �/�F��&7��4� �4#.�4*M���'��� (5�"b�;�;�j��7(5�#.(5����7�8&�� ��4�46'[���(5���+(.�>(.*M9c&����4 MW�RM�����b&�9O�;�� ��(5&0���N9u�4��2�&��*M�4 =C U����]W����(5�b&�9@?�;�� ��(5&0���s���9�9O&��j��� ^ ��X���B���(%�;L@(5��$�6�(.���j�4�j��(5��$:6 ��� ���4*+&\L�(.��$]�� �4#.�4*M�4���V$'(%L'�4�(I���G9c&��(I��(5&0�=CD�P9O�4�4(5�#s�SRA9O�4��&72y#.(5�F����(5���;#5�� �� %�� # ��� %-��� ��� (�� (*%�6�[����4���^(.���j�4�F?��(5&���� ��� ^ ���#%�;��(.&0��� ����TWu�1 �&0���>&0��#IR^ � ��������\� ^&7� �����8���(5#P&�2������1�j��QP���4���;��CU�����W����(.�������#5(��\���(.&0�g&�2��j�4QA���4���B���G(5�>WPR *M������3&72 7����\R@�17�� �#5(.���0�� #5(.�j���;C

-}j| �"�S�A� * ���A� / ���=� ������� � ' " �

! #.(5�F�G(5�G"�j��QP���4���;��&�2 �;�4�&�&��-*+&7�����#%��*M�4�'����&�2�^$'(%L0�����SRA9O�

� ��� � 1 � � � � � � / `�� � ��n� � � #%����$���� &�2V������#5(5�F�� � � � �:��F�G��#%��*E���'�1&72V�����J#.(5�F�� � / � #5��F�-��#%��*E���'�-&�2s������#.(5�F�� � p�� � �4*M9��SRg#5(5�F�� ��#%��*M�4�'�����4���WO��#.(5����7�#%R�&�� ��;���� ���4�;&�� �(5��$T��&^������(%�19c&0��(I��(.&0�Y(5� ������#5(.�F�� ����R ��� 9����4�;�4 ���� ����� ��6 ����� �82�&0#.#5&\[]� ��� 6u7�� ��� (.�- �-9O&0��(%��(5&����

xr�B�]���G�������*M��������2�&0#5#.& [](.��$ �

���

Page 28: Data Structure and Algorithm by Y. Narahari

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

x � #.(5�F�-&72 &�W��S�4�B���>&�2 �SRA9O���4#.�4*M�4�����SRA9O�  � 7��&�W��S�����G&�2V����(.�>�SRA9O�9 � &72V�SRA9O��9O&0��(%��(5&0�+ " �"` x n � ^2������B��(.&0�Y���: �3��B��������>������9O&0��(%��(5&��Y2�&0#.#5&\[](5��$ �����

#5��F�19O&0��(%��(5&0�Y(5�Y������#.(5�F�Gx�b�B������������2�&0#.#5&\[](5��$T&�9O�;�� ��(5&0���)�

i C v ���j�4�j�T`�� � � �"!$#

�&%('�)+*�,�- �/. -1032�)�45-6472�' � 48':9848)- !;&%=< �?>A@CB/D/E !$#"F 47'�)+*G,+- �/. -H- � *I*G'�J;&%=< ! J�2�*G)1'�2K- �L.NM *O032P)Q45-R482�' �SF ,�*N)�T�9�-148)1T�'�J�*VUW'�*NJ

X�Y[Z 2]\ . -Q* E � �"!$#

;:,Q*V-RT�,Q'�)H032�)�45-6472�'?2P< � 2�' !;:,Q*V-RT�,Q'�)1^$_a` E Z # 47< � J�2�*N)1'�2b- . 0�0c* . ,

deY[f *V-Q,R4�* M * Eg� �h!$#

;:,Q*V-RT�,Q'�)H*N9�*Nij*N'k- . -l032�)�4�-R472�' � 2�' !;mT�'�J�*�UW'�*GJm47< � J�2�*N)l'�2K-1*hn�48)-l2P, �?>A@CB/D/E !$#

o Y `p*N9�*�-Q* Eg� �h!$#

;mJ�*N9�*�-Q*O*G97*Giq*N'k- . -1032�)�45-6472�' � 48' !;mT�'�J�*�UW'�*GJm47< �?>A@CB/D/E !$# 2P,�J�2�*G)1'�2K-1*hn�47)-

r�Y _l*Vn]- Eg� �"!$#

;:,Q*V-RT�,Q'�)s- � *t0c2�)�4�-R482P'u47iviq*GJ�4 . -Q*G9�wx<y2�98972�zp48'�{|032P)Q45-R482�' �}eY[~ ,�* M Eg� �h!$#

;:,Q*V-RT�,Q'�)s- � *t0c2�)�4�-R482P'?0�,�* M 472�T�)�-R2 �� Y�� .K� *G'�T�989 E !$#

;m\ . T�)+*G) ! -R2���*N\�2�iq* . ':*Giq0�-�w�9748)- . '�J:,�*�-RT�,Q'�)H032P)Q45-R482�' @CB/D/E !$#

Page 29: Data Structure and Algorithm by Y. Narahari

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

�eY�� 4�,R)- E !$#

;:,Q*V-RT�,Q'�)s- � *IUL,Q)-10c2�)�4�-R482�'?2�' !�eY[~ ,Q47'�-R9847)- E !$#

;:0�,R47'�-H- � *O*G97*Giq*G'�-R)s2P< ! 47':2P,QJ�*�,12P< 2�\G\�T�,�,�*N'�\V*

������ ������������� ��������� ��!"�# %$'&

( 0�,Q2P{�, . i {k4 M *N'/�c*G982�z 48) 48'�J�*�0c*G'�J�*N'k-a2P< z � 47\ � J . - . )-Q,QT�\V-RT�,�* 48)aT�)+*GJ -R247iq0L97*Giq*G'�- - � *p9848)- ( `*) Y ) � 48)$48) . 'j*Vn . iq0L9�*12P<3- � *p'�2K-R482�'j2P<,+.-�/10325476�890;:�<>=?-47':2P� � *N\h-l2P,Q47*G'k-R*GJ�0�,R2K{�, . iviv47'�{ Y

��@A�CBD��!FE�G

) 2x*N9748iv47' . -Q* . 979 J�T�0L9848\ . -Q*G)H< ,R2Pi . 9847)-

H ��IJELK,G

MbY ^ 9�*Nij*N'k-R)s2P< 9848)- Z . ,�*I2P< *G97*Giq*G'�-s-�w]0c*X�Y <yT�'�\h-R482�'v) . ij* E � �ON�#"F z � *�,�* �:. '�J N . ,�* 2P< *N9�*Nij*N'k- -�w]0c* F ,�*V-6T�,Q'�) �F�C@AE

4�< �/. '�J N . ,Q*I) . ij* FQP ��RS!FE 2K- � *G,+zp48)+*deY � . '�J'T . ,Q*I2K< -�w]0c*O032P)Q45-R482�'

� G \�T�,Q,�*G'�-H032�)�45-6472�'?48' ZT G iv2 M *N) . � * . J?-R2|UW'�J:*FU�T . 9 *G97*Giq*N'k-R)

~ )+*GT�J�2]\�2]J�*I47'WV G

XY*Z\[�]^_D`baLcedf �]�hg5 `9Y;i5ZWjlkFmn`baLcoc XpqZWk�jsrt_u`hY;v?aLcedf ���bg5 `hpCi5ZWjlkFmn`baLcoc X�9w `h^ox1y jz`9]oj{_>]o|}j�~1jz`9Y;v�a�csv�]oj{_>]o|}j�~1jz`9pCvCa�ccocc

Page 30: Data Structure and Algorithm by Y. Narahari

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

mFj�� j{_>j `9p?v�aLc{d g���pqZWk�jsrt_D`9p?v?aLced�

Y*ZWk�jsrt_ `hY v�aLc d��

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

� . 'kw?48iq0L9�*Niq*G'k- . -6472�'�) . ,�*O0c2�)�)Q4��L97* Y ~ 2P0LT�9 . ,s2�'�*G)148'�\�98T�J�* G

MbY ( ,�, . we)X�Y[~ 2�47'�-Q*�,R) E )�48'�{k95w�9847' � *NJ F J�2PT��L9�w?9847' � *GJ F *�-R\ Y #deY VsT�,Q)�2P,Q) E . ,�, . w�)$zp4�- � 48'k-R*�{�*�,H0c2�48'k-Q*G,Q) #

�������� %������!#""� B R�EL� ELK��F� �����5K � P � ��!"��!

;%$l*G,�* F *N9�*Nij*N'k-R)H2P< 9748)- . ,�*I)-R2P,�*NJu48'u- � * E \�2�'�-R4�{kT�2�T�) # \V*G9898)H2P< . ' . ,Q, . w Y

; Z 48)-l47) . )-Q,QT�\V-RT�,�* zp4�- � -�zH2�ij*Ni|�c*�,Q) Yij*Ni|�c*�, M G . ' . ,�, . w 2P< *G97*Giq*N'k-R)ij*Ni|�c*�, X G RS� ! ��& 48'�J�48\ . -Q*G)s032P)Q45-R482�'?2P< - � *t9 . )-1*G97*Giq*G'�-H2P< - � *I9847)-

~ 2�)�4�-R482P'?47)12P< -�we0�*I48'k-R*�{�*�, . '�J �L. )H- � *O, . '�{�*('|-R2ji . n�97*G'�{P- �*) M

+-,�/.10� yzx�r2�}jlk437_65 ��78787��9k��:,� wv�;0K� j�� jly jlk.__=<tY?j1d?>A@ j�� jly jlk._o^ x7]oj | k._>j�33jl]^B@C>��9k��:,� wv���+�ED�F6� � | ^�_HG"_>xC3 X

j�� j�y j�k"__=< Y j j�� j�y j�k"_o^JI y xOrK� j�k431_L52M d�N0K� � x1^_ld� � | ^�_HG"_=< Y?j1d

Page 31: Data Structure and Algorithm by Y. Narahari

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

:0*,�� ����N0K� jlk�m `N�}| ^_ G"_=< Y jJ@��lY�cX]oj{_��]k `��Y�� � x1^�_� � c�

� 0]����+�������]��� ������ �;, | k�^jl]_ `9j��}jly jlk._o_=< Y?j r d �;0K� Y d � |}^_ G"_=< Y j @���YCcedX�N0K� ~?d�>A@ ]���k�k�|}k43 Y��3^|}_o|��3k @C>�9w `��Y�� � x1^�_�� Z y xOrK� jlk231_65:G � cj�]o]��3]�` � �}| ^�_ | ^�!"�4� ��#"c

g7��G�9w ``hY%$ 7 c'&(& `hY%�)��Y�� � x1^_� � cocj�]o]��3]�`hY��3^o| _>|(�3kqm*� jl^ k*�1_ jsrF|}^_ c g���w � � `hp Z+��Y�� � x1^�_ d�p�$ ZWY;v�p-,.,Ac��Y/� j�� j�y j�k._>^�I p0 � MLZ1��Y/� j�� j�y j�k._>^�I pAM�d

��Y/� � x1^�_ Z1��Y�� � x7^_� � d��Y/� j�� j�y j�k._>^�I YKM�Z\r�

2 g�h�+3���4�������� �;, m�j�� j{_>j ` �N0K� Y d � | ^�_HG"_=< Y?j @���YCcX

�N0K� p d >/@D]5��kFk�| k43 Y��3^o| _>|(�3k @C>�9w `o`9Y6�7��Y�� � x1^�_sc'&(& `hY8$ 7 ccj�]o]��3]�` �Y��3^|}_>|(�3kqm*� jl^ k*�1_ jsrt| ^_5#"c

g��� >/@D^L5�|9! _ j��}jly jlk._>^B@C> X��Y/� � x1^�_:,', dw � � `hp ZWY d�p�$eZ+��Y�� � x1^�_ d�p0 . c��Y/� j�� j�y j�k._>^�I pAM�Z1��Y�� j�� j�y j�k"_o^�I p; � M�

Page 32: Data Structure and Algorithm by Y. Narahari

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

header

null

a a a1 2 n

� | 3 ��]oj���� ��� ^| k438� < �}| k��7jlm � |}^_

� � F"�N�+ ����������N0K� �(�� lx7_>j,`hj��}jly jlk._ _=< Y j @ur d4�}| ^�_HG"_=< Y?j @��lY�c

X�N0K� p dw � � `hp Z 7 dFp�$ Z1��Y�� � x7^_ d�p; : �c�9w ` ��Y/� j�� j�y j�k"_o^�I pAM�Z Z'rKM��h� D��E0 `hptcAd

��h� D��E0 ` ��Y/� � x1^_ � c >/@D|(!�k*�1_ !"� ��kFm @C>�

������� � �*�5��K��FEn� ""� B RSEL� ELKJ��� ���S�JK � P � �S! �F!

; %='u- � * . ,�, . w�48iq0L9�*Nij*N'k- . -R482�' FMKY zH* . ,�*t\�2�'�)-R, . 47'�*NJ -R2jT�)+*t\�2�'�-R4�{kT�2�T�)H)+0 . \V*I48'?- � *tiq*Giv2P,+wX]Y %('�)+*�,�-R472�' F J�*N9�*�-R472�'?*G'k- . 489 ) � 47< -R48'�{x- � *O*N9�*Niq*G'k-6)

; ~ 2�47'�-Q*�,R)$2 M *�,Q\G2Piq*�- � * . �c2 M *a9748iv45- . -6472�'�) . -s- � * \�2�)-H2P<S*hn]-R, . )+0 . \V*a<y2P,0c2�48'k-Q*G,Q) Y

;��]47'�{k9�w Z 48' � *NJ Z 48)- %=iq0L97*Giq*G'�- . -R472�'( 9748)- ��� � ��� ��������� ��� 47)12P,�{ . '�4��G*GJ . )1) � 2�zp'u48' � 4�{kT�,�* X]Y�M

; Z *�- T�)S<y2�97982�z . \�2�' M *N'k-R482�'p- �L. -S0c2�)�4�-R482P' � 47) . 0c2�48'k-Q*G, -R2H- � * \V*N979 � 2�98J�47'�{- � *O0c2�48'k-Q*G,�-62|- � *t\�*G989 \�2�'�- . 47'�48'�{ � � F E <y2P, � > M � X ����������� # Y ) � T�) F

� ~ 2�)�45-6472�' M 47) . 0c2�48'k-Q*G,�-62|- � * � * . J�*�,

Page 33: Data Structure and Algorithm by Y. Narahari

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

Before Insertion

After Insertion

a b

p

p

a b

x

//broken

temp

� | 3 ��]oj ��� � ��� k�^jl]�_>|��1k |}k x ^| k43C� <��}| k��7jlm � |}^_

� ^ '�J E Z # 47) . 0c2�48'k-Q*G,H-R2|- � *I9 . )-l\V*N979 2P< 9847)- Z

; % < 032P)Q45-R482�'?2P< � � 48)1)�48iq0L95w . 032�47'�-Q*�,s-R2x- � *t\V*N979 � 2P98J�48'�{ � � F - � *N'� ~ 2�)�45-6472�' M zp479893�c*O- � * . J�J�,�*N)�)�47'u- � * � * . J�*�,� *N'�J E Z # zp48979 ��* . '�T�989 032P48'k-R*�,

; %='�)+*G,+- E n F 0 F Z # G ��*�* � 47{kT�,�* X]Y X

; `p*N9�*�-Q* E n F Z # G ��*�* � 47{kT�,�* X]Y d

��������� $ �5@�� R=! � ��K�5E� � �S! � ""� B RSEL� ELKJ��� ���S�JK

� i .K� *G)s)+* . ,Q\ � *N)H-�zp48\V* . )�*� \�47*G'�-� '�*�*GJ�) . ) i . 'kw:*hne-Q, . 0c2�48'k-Q*G,Q) . )p- � *|'�T�i|�c*�, 2K< *G97*Giq*G'�-R) E ��*G* � 4�{kT�,�*

X�Y o #�� \G2P'�)�*tU�T�*N'k-R9�wa48'�)+*G,+-R482P'�) . '�JtJ�*G97*V-R482�'�) . ,�*�iv2P,�* *Vne0c*G'�)�4 M *�48' -Q*G,Qiv)2K< 032�47'�-Q*�, . )�)�47{�'�iq*N'k-R)

Page 34: Data Structure and Algorithm by Y. Narahari

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

p

a b c

� | 3 ��]oj ��� ����� j�� j�_o|��3kq|}k x ^| k43C� <��}| k��7jlm � |}^_

a a a a1 2 nn-1

header

� | 3 ��]j ��� ��� m*� ���4� <�� |}k��1j�m � | ^�_����� ���������

;���- . \ � 48) . )�0�*N\�4 . 9 � 48'�J 2P<L9847)+- 48' z � 47\ �C. 979�48'�)+*G,+-R482P'�) . '�JCJ�*G97*V-R482�'�) 2]\�\GT�,. -l2�'�*O*G'�J F \ . 989�*NJ�- � * ���5B Y

;���- . \ � ( `*) 48) . )+0�*N\�4 . 9�\ . )+*u2K<H- � * Z 48)- ( ` ) Y % -�48) . 97)�2 \ . 989�*NJ . ) .Z % ��� 9847)+-12P, . 0LT�) � J�2�zp'm9748)- Y

;\)$w]0L48\ . 9 ��- . \ � ( `*) � 0c*�, . -R482�'�) GMKY i .K� *G']T�979 E � # \�,�* . -Q*N) . ':*Giq0�-�wv)+- . \ �X]Y -R2P0 E � # ,�*�-RT�,Q'�)s- � *I*N9�*Niq*G'k- . -H- � *O-R2P0:2P< - � *t)+- . \ � Y

� . iq* . )�,Q*V-Q,Q47* M * E UL,Q)+- E � #"F � #d�Y 0c2P0 E � # J�*N9�*�-Q*G)H- � * -62K0:*G97*Giq*N'k-12K< - � * )- . \ �

� . iq* . )1J�*N9�*�-Q*G) E UL,R)- E � #"F � #o Y 0LT�) � E n F � # %('�)+*�,+-l*N9�*Niq*G'k-�n . -�- � *O-R2P0m2K< )- . \ � � Y

� . iq* . )l%('�)+*�,�-R) E n F UL,Q)- E � #"F � #r]Y *Giq0�-�w E � # ,�*�-RT�,Q'�) �F�C@AE 47< �?47)H*Nij0�-�w . '�J P ��RS!FE 2K- � *�,+zp48)+*

;���- . \ � 47) . ' . -RT�, . 9PJ . - . )+-Q,QT�\h-6T�,�*[-62H48iq0L9�*Niq*G'k- )�T���,R2PTe-647'�*�2K,S0�,Q2�\�*GJ�T�,�*\ . 9798) . '�J:,�*N\�T�,Q)Q472�' Y

;���- . \ � %(ij0L97*Giq*N'k- . -R482�' G ( ,�, . we) F ~ 2�47'�-Q*�,R)[\ . 'q�c*pT�)+*GJ Y ��*�* � 4�{kT�,�*N) X]Y r

Page 35: Data Structure and Algorithm by Y. Narahari

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

01

maxlength-1

top element

second element

last element

top

}

}}

}unused spacein the array

stack

� | 3 ��]j ��� ��� k x1]o]ox�<z| y Y4� j�y j�k._ x7_o|��3k !"�1]�_65�j ^_>x � ����top top element next to top last element

NULL

� | 3 ��]oj ��� ��� �}| k��7jlm � | ^�_ | y Y4�}jly jlk._ x7_o|��3k � !L_65�j ^_>x � ����

. '�J X]Y }

; ~ 2�47'�-Q*�,1%=iq0L97*Giq*G'�- . -R482P' 2P< ��- . \ � ) G ) � *t<y2�98972 zp47'�{�\G2�J�* 0�,Q2 M 48J�*G)H<yT�'�\��-R472�'�)�<y2P,l48iq0L9�*Nij*N'k- . -R482�'v2K< )- . \ � 2P0�*G, . -R472�'�)�T�)�48'�{v0c2�48'k-Q*G,Q) Y ��*G* � 4�{��T�,�*G) X]Y � . '�J X]Y}� <y2P, . ' 479897T�)+-Q, . -R482P' 2K<�0LT�) � . '�J 0c2P0 2P0�*G, . -R482P'�) 2�' .9748' � *GJ?)+- . \ � Y

��9k��:,�"w����� D*F6� k �tm�j�� _>xC3 X| _>j�y�� _=<tY?j | k !"�qd�(�+�ED�F6� k*�tmFj�� _>xC3#@ k�j{r _�d� k*�tmFj�� _=< Y?j d

��9k��:,�"w����� D*F6� ^�_ x �� _ xC3 Xk �tm�j�� _=< Y?j @ _5�3Y d� ^_ x ��� _=< Y j d

^_>x �� _=< Y?j ^�_ x � d >/@Dm�j{[�k�j x ^�_ x � @C>

Page 36: Data Structure and Algorithm by Y. Narahari

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

^_>x �� _=< Y?j @ ^oY*Z�� ^�_ x � d >A@ Y��3| k._ojl]�_� ^�_ x � @C>k*� m�j�� _=< Y j @Ok�Y d >/@DY��3|}k._>jl]�_5� x k �tm�j @C>

>/@Dy x �1j�k*�tmFj x � ���� xO_>jl^Jjlk*� �2385 ^Y�x �j:!"�1] x k�j��'k*� m�j�x1k�m | kF|}_>| xC� |��lj�^5| _ @C>k*� m�j�� _=< Y j @,y x �7jlk*� m�j `h| _>j�y�� _=<tY?j |}_ojlyzcXk �tm�j�� _=< Y?j @OY d�9w `o`9Y Z `hk*� m�j�� _=< Y j @1cJy xC� �(�� D`h^|��lj � !

`9k*� m�j�� _=<tY?juccoc Z Z 0 DLgbg cjl]]5�3] ` �j{rK5�x �F^_>j�m*y jly �3] < #"c d

g��� XY/� | k !"� Z\|}_>j�y dY/� k�j{r _AZ 0 DLghg d�

]j�_5��]ok `hYCced�

>/@DY*��^ 5�k*� m�j Y ��^L5�j�^ex k*� m�j��3k._� _65Fj _5�3Y � !L_65�j � |}k��1j�m ^�_ x � @C>��� �;, Y*��^ 5�k*� m�j `hk*� m�j�� _=< Y j @OkFY;v�^_>x �� _=< Y j @O^YCcX

�9w `9k�Y*Z Z 0 DLghg cj�]o]��3]�` �oxO_o_>j�y Yt_ _� Y*��^ 5 x,k*�3k�jsrt| ^_ojlk._ k*�tmFj #"c

g7�� XkFY�� k�j{r _eZ ^Y�� _�3Y d^Y�� _�1Y*ZWk�Y�

I5�J� 032P0L'�2�J�* E '�2]J�*�� -�we0�* � � '�0 � )+- . \ � � -�we0�* � )+0 #X

�9w `h^Y � _�3Y Z Z 0 DLgbg cj�]o]��3]�` �j�y Yt_=<q^_>x � #"cAd

g��� X@OkFY*ZW^oY�� _5�3Y d^Y�� _�1Y*Z `=@Dk�YCc � kFj{r _�d�

Page 37: Data Structure and Algorithm by Y. Narahari

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

being pushednp

sp top old top of stack

new node

X

� | 3 ��]oj ��� ����� ��^ 5��3Y?jl]ox7_>|(�3kq| k x � |}k��1j�m ^�_ x �sp top

old top of stack

np

new top of stack

� | 3 ��]j���� ����� �3Y/�3Y?jl]>xO_>|��1k0�3k x �}| k��7jlm ^_>x �

� � 0LT�) � �(i .K� * . '�*Vz '�2�J�*Izp45- � 4�-Q*Gi . '�J:0LT�) � 45-l2�'k-62�)- . \ � � ���� �N, Y*��^ 5 `9|}_>j�y�� _=< Y jW|}_ojly d�^�_ x �� _=<tY?j @O^oY�cXY ��^L5�k �tm�j `9yzx �7jlk*� m�j `h| _>j�y csvF^oY�c d�

>/@DY��1Y:G Y��3Y x k �tm�j�!9]��3y _L5�j ^_ x � x1k�m ]oj�_5��]ok |}_o^ |}_ojly#@C>��� �N, Y��3Y�`h| _>j�y�� _=<tY?j @D|}_>j�y vF^_ x ��� _=< Y j @O^oYCcXk �tm�j�� _=< Y?j @Dk�Y dY��3Y�k �tm�j ` � k�Y;v�^YCcAd@D|}_ojly Z k�Y/� |}k !"�qd!9]jlj `hkFYCced�

Page 38: Data Structure and Algorithm by Y. Narahari

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

a a n

headerfront

rear

PointerImplementation

1

� | 3 ��]j���� ����� ��j ��j�| y Y4�}jly jlk._ x7_o|��3k ��^o|}k43 Y��1| k._>j�]o^����� ��� ��� ���

; ( U]T�*GT�*j48) . )+0c*G\G4 . 9 � 48'�J 2K< . 9848)- 48' z � 47\ � . 979�45-R*Giv) . ,Q*j48'�)+*�,+-R*GJ . -2P'�* *G'�J E \ . 989�*NJ:- � * ��En� � 2P,1- � * �A�� � 2P,l- � * �F���R # . '�J/J�*G97*V-Q*NJ . -p- � *2b- � *�,H*G'�J E \ . 989�*NJ - � * P ���5KJ� 2P,s- � * �AEn�� #

;/T�)+*�<yT�9 47'

� )Q47ixT�9 . -R482P'� ��,Q* . Je- � � UL,Q)-1)+* . ,Q\ � 47':{�, . 0 � )� -R,�*�* . '�J:{�, . 0 �:. 97{�2P,Q4�- � iv)

;\) � *�aT�*NT�* ( `*) 47) . )�0�*N\�4 . 9c\ . )+* 2P< - � * Z 48)- ( `*) F zp4�- � - � * <y2�97982�zp48'�{-�we0L47\ . 932P0c*�, . -R482�'�)MKY i .K� *G']T�979 E #X]Y <y,Q2�'k- E # � ,�*�-Q,Q47* M * E UL,Q)- E #"F #d�Y *N' U�T�*NT�* E n F #�� 48'�)+*�,�- E n F *G'�J E #"F #o Y J�*FU�T�*NT�* E # � J�*N9�*�-Q* E UL,Q)+- E #"F #r]Y *Niq0�-�w E #

; %=iq0L9�*Niq*G'k- . -6472�' G ~ 2�47'�-Q*�,Q) F Vs47,Q\GT�9 . , . ,Q, . w F Vs47,Q\�T�9 . ,s9847' � *NJu9847)+-

����� �� �*�5��K��FEn� ""� B RSEL� ELKJ��� ���S�JK

��*�* � 4�{kT�,�* X]Y �eY

Page 39: Data Structure and Algorithm by Y. Narahari

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

Maxlength - 1

0

1

Front

Rear

Queue

Elements

� | 3 ��]j ��� ��7���� |}] �2� x1] x1]]>x�< |}y Y2� jly jlk._>x7_>|(�3k � ! x,p �Fj ��j

����� � � � ��� �n@ RS� �% ����� !#""� B R�EL� E�KJ�F� ���S�5K

��*�* � 4�{kT�,�* X]Y�M ' Y

; f * . ,12P<S-���* U�T�*NT�*t47)�)�2�iq*Vz���*G,�*O\�982�\ � zp48)+* < ,Q2�i -���*t< ,Q2�'k-;\) 2p*N' U�T�*GT�* . 'C*G97*Giq*G'�- F zH*siv2 M *$,�* . , 2�'�*H0c2�)�4�-R482�' \G972]\ � zp47)�* . '�J zl,Q45-R*

-���*O*G97*Giq*G'�-�48'?-�� . -�032�)�4�-R472�';\) 2�J�*tU]T�*GT�* F zs*t)Q47iq0L9�wviv2 M * < ,Q2�'k-12�'�*O0c2�)�4�-R482�'u\G972]\ � zp47)�*; aT�*GT�*tiv47{�, . -Q*G) 48' . \G972]\ � zp47)�* J�47,�*N\h-R482�' . )Hzs*O*N' U�T�*GT�* . '�JmJ�*FU�T�*GT�*;&*Giq0�-R48'�*G)�) . '�J?<yT�9898'�*G)�)s-R2j��* \���*N\ � *NJu\ . ,�*�<yT�989�w Y

����� ��� � ��� �n@ RS� �#� �K��E� � �S! � ""� B R�EL� E�KJ�F� ���S�5K

; ( 9748' � *GJj9748)- 47'�z���48\���-���*l'�2]J�* . - -���*�- . 489�2P<c-���*l9748)- F 47'�)-R* . Jj2P<�� .NM 47'�{. '�T�989 0c2�48'k-Q*G, F 0c2�48'k-R)p� . \ � -R2 -���*x'�2�J�* . - -���*���* . J 2P< -���*|9748)- Y )�]T�)�c2K-��u*G'�J�)12P< . 9848)-l\ . '?�c* . \G\V*G)Q)+*GJmT�)�48'�{ . )�48'�{�97* 0c2�48'k-Q*G, Y��*�* � 47{kT�,�* X]Y M;MKY

; % <Szs* 47iq0L97*Giq*G'�- . U�T�*GT�* . ) . \�47,Q\�T�9 . ,Q9�wj9748' � *GJ�9848)- F -���*G' zs*O'�*�*NJ?2�'�95w2P'�*O032�47'�-Q*�,�' . iq*G9�wq- . 489 F -62j982�\ . -R*a�32K-��?-���*I< ,Q2�'�- . '�Ju-���*O� . \ � Y

Page 40: Data Structure and Algorithm by Y. Narahari

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

Tail

� | 3 ��]oj ��� ��� � � | ] �4� x7] � |}k��1j�m �}| ^�_ | y Y4� j�y j�k._ x7_o|��3k � !Qx,p ��j �Fj����� � � ������� � ��� ��� � �

MbY ( 97< ,�*NJ�� ( ��2 F�� 2 ��'&^ Y $p2P03\V,Q2P< - F . '�J � *��c,�*�wm` � 9798i . ' Y�� 0;: 0��J:��36�/��:S6��7+34�0?-��! 8#" =$�3<o:�%'& 4 Y ( J�J�48)�2�' �)( *N)�97*Vw F M �;��d�Y

X�Y )��2Pi . )�$ Y Vs2P,Qiq*G' F V � . ,Q97*G)�^ YLZ *N47)�*�,Q)�2�' F . '�Jm` 2�' . 98J Z�YLf 4 M *G)- Y+* -,�:-�O=.�?6�/F:�<>=?- : =/ 8#" =$�3<o:�%'& 4 Y )��* � %{) ^ 9�*N\h-Q,Q48\ . 9 ^ '�{k47'�*G*�,Q48'�{ . '�JWVs2�i �

0LTe-Q*�, �]\�47*G'�\�* ��*�,Q47*G) F Mt� � ' Y %='�J�4 . 'm^ J�4�-R472�'?0LT��L9748) ��*GJm48' Mt�;�;��YdeY[f 2P��*G,+- Z�Y10 ,QT�)+* F32 ,QT�\V* ~ YcZ *NT�'�{ F . '�J Vs982 M 48) Z�Y ) 2�'�J�2 Y4� 0;:>0��J:��36�/��:S6��7+34 0?-��657�O=8"$��0$& �n+.47<9"?- <S-;: Y ~ ,�*N'k-R48\V* $ . 979 F Mt�;��MbY %('�J�4 . ' ^ J�45-6472�'0LT��L9748) ��*GJu��w ~ ,�*G'�-R47\�* $ . 989 2K< %('�J�4 . F Mt�;�;�eY

o Y�� . , � ( 9797*G'6( *G48)�) Y<� 0;: 0=�J:��16�/F:�6>�7+.4 0?-?�! *8#" =$�1<>:-%'& -�0;8A@?41<S4 <S-B:�CC Y2 *N'$D . iq48' � VsT�iviq47'�{k) F Mt� � o Y %='�J�4 . 'm^ J�4�-R472�'?0LT��L9748) ��*GJm48' Mt�;�;��Y

r�Y ` T . '�* ( Y 2 . 4797*Vw YFE 0$G 0H�J:��36�/t:�6��O+.4JI � 0;: 0H�J:��36�/F:�6>�7+.4 <�- E 0$G 0LK"=$� :�%Q+57�3<S- /.< 2 8h+M�!5N�O=8"O�O0$&L&#+P� Y$� \.Q , . z ��$p489893%('k-Q*G,Q' . -R482P' . 93^ J�45-6472�' F Mt� �;��Y

}eY ^ 979847) $ 2K,R2�zp45- � . '�J � . ,+- . � � . ��'�4 YSR 6 -�� 0$&#+.-J: 0;8}4%=TK � 0;: 0 4":��36�/F:�6>�7+.4 YQ . 9�{k2K-R4 . ~ T��L9748\ . -R482�'�) F _l*�z ` *G9 ��4 F Mt� � o Y

� YVUxY�Z . '�{k) . i F � Y � Y ( T�{�*G'�)+-Q*G48' F . '�J ( Y � Y ) *N'�*G'�� . T�i YW� 0;: 0X�J:��36�/��:S6��7+34 6 47<�-�"Y: 0?-��Y:+CC Y ��*N\�2�'�J&^ J�45-6472�' F ~ ,�*G'�-R48\V* $ . 989 F Mt�;��}eY %='�J�4 . '^ J�45-R482�' 0LT��L9847) ��*NJ:��w ~ ,�*N'k-R48\V* $ . 989 2P< %='�J�4 . F X ' ' ' Y

�eY � . ,�- . D � . ��'�4 YZ� 0;: 0L�J:��36�/F:�6>�7+.4M[V *8#" =$�3<o:�%'& 4M[D0?-��\ 2 2 8}< /70;:�<>=?-�4q<�- E 0$G?0 Y� \.Q , . z ��$ 47989 $ 47{ ��*G,l^ J�T�\ . -R482P' F X ' ' ' Y

�eY )��2Pi . ) ( Y ��- . '�J�48) � Y]� 0;:>0�J:��36�/F:�6��O+.4 <S- E 0$G 0 Y ( J�J�48)�2�' �^( *G)�97*Vw F Mt�;�;��Y%='�J�4 . 'm^ J�4�-R472�'?0LT��L9748) ��*GJu��w ( J�J�48)�2�'�( *N)�97*Vw Z 2�'�{�i . ' F X ' ' ' Y

Page 41: Data Structure and Algorithm by Y. Narahari

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

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

� � � |}k��1j�m �}| ^_ 5�x1^Djsr�x �_6� <���k*� m�j�^ � � 5�jzj�� j�y j�k"_o^ |}k�_L5�jl^jzk*� m�jl^Dx1]oj ^oj�� j �_>j�m3!9]5�1y_L5�je^j�_ X 7��� �!!"!�� � � � � 5�j�]oj x1]jek*�Dm*��Y4�}| xO_>jl^5| k _65�jB�}| ^�_ � � j�^o| 33k x1k�# `��;c ���3]^_ lx1^oj_o| y j xC� 3 �3]|}_65Fy _5� [�k�m � 5�| 58�3kFj � !5_L5�j,j��}jly jlk._>^ !9]��3y _L5�j x ���u~3j ^oj{_ | ^ y | ^o^| k43z| k_L5�j 33|}~1jlk � |}k��1j�m � | ^�_ �

���%$�]o| _>j x Y�]��� �jlm*�F]oj _65�xO_ � | � �t]oj{~3jl]^oj x�� | k��1jlm��}| ^_ � 5�| �}j�_>]oxu~1jl]^o| k23�| _��3k4� < �3k� lj � _�_L5�j �3k� �����^|��3k;v j x 5 k �tm�j ^ 5*� �4�}mqY��1| k._J_5� _65�jAk �tm�j _65�x7_ ��x1^ YF]oj�~ |(� ��^L� <z| _>^�YF]ojlmFj lj�^o^��3] �_L5�j�5�jlx1m ^L5*� �2� m Y��1| k._�_� _L5�j k*� m�jA_65�x7_ ��x7^�!"�3]oy jl] � <zx7_�_65Fj�j�k�m;v�x7k�mq_65�j k*� m�jA_L5�x7_�Jx1^ !"�3]y j�]L� < [�]^_ ^L5*� �4� m 5�x ~3j x,k �2� � �}| k�� �

& �(' � � ��� �4� m �3k�j |}y Y4�}jly jlk._ x p ��j �Fj |9! _L5�j j�� j�y j�k._>^,_65�xO_zx7]ojq_� �?j Y2� x �jlm �3k _L5�jp ��j ��j x1]oj x1] ��|}_o]>x1]H<��}jlk431_L5 ^_>]| k431^�)*' � � ���3k23 m �tj�^ | _�_ x �1j _� jlk�p ��j ��j x,^�_>]o|}k43+)

, � a j{_.- �?j x1k x7]o]>x�<8� !5^o|��lj/� v �1k"_>x1| kF| k43 Y��3^o| _>|}~1j �3] k�j�33x7_>| ~3j | k._>j�33jl]^lv � |}_L50- I � M�$- I � M $ !!! $1- I2� M � � jl^| 33k x1k j�3 l|}jlk._zxC� 3 �1]o|}_L5�y `h^ 5*� �4�}m �?j y �3]jqj�3 l|}jlk._ _L5�x1k#z`��;coc�_� [�k�m x1k*45^5�� 5 _L5�x7_(- I24;M�Z54JY�]���~ |}m�jlm ^��� 5 x1k*4Jj{rt| ^�_>^ �6$ 5�x7_e| ^ _65�j ���3]^_ lx1^oj� �3y Y �F_ x7_o|��3k�xC� �3y Y2� j{rt| _=< � !*< � �F] x � 3 �3]|}_L5�y7)

� � � �1k�^o|}m�jl]5x1k x1]o]ox�< � !;^o|��lj6� �98��1j�_ 5 x1k:# `��;c xC� 3 �1]o|}_L5�y _5� ^ 5�|(! _5xC� ��|}_ojly ^�| k _65�j x1]o]ox�<; Y4� x �jl^ <� �� | xC� � < � ��k._>j�] ����� � � |}^oj �9<4� � x1]ojexC� �(� �5jlm _� ��^j��3k4� < �1k�jAj{r _o]>x �(�� lx7_>|(�3k_5� | y Y4� j�y j�k"_J^ �Jx1Y�Y�|}k43 � ! | _>j�y ^ �

� � � k ^5�3y j �3Y j�]>x7_o| k43 ^H<t^�_>j�y ^�vt_65Fj�=?>A@CBEDGFH>�I�>EJKD�=MLONPBQ>AR `ba�SUTec�x � 3 �3]|}_L5�y |}^���^jlm !"�1]�Y�xC33j]jlY4� x lj�y j�k._ � � 5�jz|}y Y4�}jly jlk._ xO_>|��1k%� ! ^5�� 5 x7k xC� 3 �3]o| _65�y � | � ��|}k"~ �8�}~1j _L5�j !"�8� ��� � | k23�1Y j�]>x7_o|��3k�^��3k*x �8� �}j �_o|��3k0� ! k*� m�j�^ �

VWN+BQ> x,k*� m�j �VWF�>YXZ=[@�I�>A_65�j�a�SUT k*� m�j �/<qx kFj � k*� m�j �

8 �43833j�^_ x 3 �;� m m�x7_>x ^�_>]��� �_5��]oj:!"�3] | y Y4�}jly jlk._>|}k43D^��� 5 x �8� � j �_>|(�3k � !�k*� m�jl^ �� � p ��j ��j%\ �3k._>x1| k�^�_65�j�| _>j�y ^^]`_ � ]Pa �!!!�� ] bFv1| kD_L5�x7_ �1]om�j�] � |}_L5c]`_QxO_ _65Fj�!9]5�3k._Qx1k�m/] bxO_Q_65�j ��x � � � _�| ^Q]jlp ��|}]ojlm,_5�A_>]>x7k�^�!9j�]Q_65�j�^oj |}_ojly ^ �3k _5� xA^�_ x �cd `9| k�| _>| x � � <ejly YF_=<Fc ^5�_L5�x7_�]`_ |}^5xO_�_L5�j _�3Y � ! _L5�j ^_>x � x1k�m _65�j �3]omFjl]4� ! xC� �*�1_L5�jl]�|}_ojly ^ | ^�Y�]oj�^oj�]~3j�m���T ^o|}k43j�k�p ��j �Fj x1k�m m�jlp ��j ��j��3Y?jl]>xO_>|��1k�^�!"�3]�_L5�jep ��j ��jAx7k�m Y*��^ 5qx1k�m Y��1Y �3Y?jl]>xO_>|��1k�^�!"�3]�_L5�j^�_ x �Cv�� �F_L� | kFj x1k*jE3 �| j�k"_e# `f� c xC� 3 �3]o| _65�y _� x �3y Y4� |}^L5q_65�j x ���u~3j _>x1^ �Cv-��^| k43 �3k4� <x �3k�^_>x1k._ x1y � ��k._ � !Qx7m�m�|}_o|��3k�xC� ^�_�3]oxC33j �

� � p ��j ��j | ^ ^j�_4��Y | k x l|}] �4� x1]Qx1]o]ox�<Og I 7`![! � , � M � | _65ihjFHkCJKD x1k�mlFH>A@mFAm�j{[�k�j�mzx1^��F^5��xC� � ^o^���y j _L5�x7_n�:, � �(�� lx7_>|(�3k�^ | k,_L5�j x1]o]ox�< x7]oj x ~1x7| � x �4� j4!"�3]�^_�1]o| k23 _L5�j j��}jly jlk._>^e` � | _65_L5�j:�1_65Fjl] j��}jly jlk._ � j�| k43 ��^jlm _� m�j�_oj �_ !"�4� � >7j�y YF_=< �1k�m�|}_o|��3k�c � � jl]|}~1j x !"�3]y �4� x !"�3]_L5�j k ��y �?jl] � !�j�� j�y j�k._>^ | kq_L5�j p �Fj ��j�| kq_>j�]oy ^ � !oFH>A@mF vmhjFHkCJKDsvCx1k�mp� �

� � a j{_Gqr_sq�a !"!! q�b �?j xD^_>x ���]j xC�}|�� x �4� j Y j�]oy �t_ x7_o|��3k � ! � � !!! � �n8:5*� � _L5�x7_5_65�j�]ojAm*�Dk*�1_jsrt| ^_ |}k�m�| ljl^%4 $ut $ ; ^5�� 5 _65�x7_vqPw $0qKx�$yq`z �

Page 42: Data Structure and Algorithm by Y. Narahari

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

��7 �%$�]o| _>jA]j ��]o^|}~3j xC� 3 �3]o| _65�y ^�!"�1]�_65�j�!"�8� ��� � | k43DY�]5� �2� jly ^ �`hx.c � �3y Y �F_>j _65Fj�k ��y�� j�] � ! �3y ��|}k�x7_>|(�3k�^�� !G�8� ���j �_o^ _>x �1j�k�� x7_ x _o| y j �` �CclS j{~3jl]^ojDx��}| k��7jlm � |}^_ �` uclS j{~3jl]^ojDx1k x1]o]ox�< �`9mCc��J| k�x7] < ^j x1] 5��3k x1k x1]]>x�<0� !�^o|��lj � �`9juc � �3y Y �F_>j 3� �m/� !L_ ��� k ��y �?jl]^(� x7k�m�� �

� � � � �1k�^o|}m�jl] _65Fj:!"�C� ��� � |}k43D]j �F]o^o| ~3j�m�j�[�k�|}_o|��3k �� `�4 � t c Z 4 `[t Z � c ` ��� � c� `�4 � t c Z t `f4LZ � c ` ��� �3c� `�4 � t c Z � `�4 , � � ttc �� `�4 � t., � c�j�� ^oj ` ��� & c

� j�^o| 33kDx7kO# `�� � c |}_ojl]>xO_>|}~1j�xC� 3 �1]o|}_L5�y _5� �3y Y �F_>j� `� � �;c � 5�j�]oj�� x1k�m��zx1]oj�Y��3^o| _>|}~1j|}k._>j�31jl]o^ �

� ��� � �1k�^o|}m�jl] Y��8� < k*�3y | x � ^4� !�_L5�j�!"�3]oy �

qL`�� c�Z� Q_������ � Ea������ !!! Q_������td� 5Fjl]oj�� _����a !!"! ���"b�� 7 � 8 �� 5 Y��8� < k*�3y | xC�}^ lx1k �?j ]oj�Y�]oj�^oj�k"_ojlm �A< x �}| k��7jlm �}| ^_o^|}k � 5F| 5 jlx 5 lj�� � 5�x1^ & [�j�� m�^ � �3k�j !"�3]�_65�j � j�3 l|}jlk._ v �3k�j !"�3] _65�j j{rtY��3k�jlk._lv�x1k�m �3k�jY��3|}k"_o| k43 _� _65�j k�jsrt_ �j�� � �G$�]o|}_oj Y�]5�� lj�m*��]jl^ !"�3]`hx.c m�|�� jl]jlk._>| x7_>|}k43�v` �Ccq| k._>j�33]>x7_o| k43Fv` uc x1m�m�|}k43�v`9mCcqy �4�}_o| Y4� < | k43^��� 5 Y��8� < k*�1y | xC� ^ � $ 5�xO_D|}^ _L5�jz]���k�k�|}k43 _>| y j � !J_L5�jl^j Y�]��� �jlm*��]jl^Dx1^Dx !"��k� {_>|��1k3� !_L5�j k ��y �?jl] � !L_>jl]y ^ |}kq_65�j Y��8� < k*�3y | x � ^�)

�Q& �e8 ��Y�Y��3^oj _65�j k �Fy � j�]o^ � v �tv & v , v � x1kFm � x1]]o| ~3j | k x7k | kFY*�F_ ^�_>]j x1y | k _65�xO_ �3]m�jl] �$ 5F| 5 � ! _65�j !"�8� �(� � |}k43 ^oj�p �Fjlk� �jl^ x1k � j ]ojlxC� |��ljlmzx1^5_L5�j � �F_>Y*�t_�� !�` � c ^_ x �?v�x1k�m ` �3cm � ���4�}j jlk�m�j�m*p ��j ��jQ)x.c � � & , � ��Cc � � , & � � uc � , &�� �l�mCc �D� � , &��juc �.& � � , �

Page 43: Data Structure and Algorithm by Y. Narahari

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

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

������ � BA� ��!FE � � ���C��� �*�� �Q� ��E

^ < � � y | 385._ xC� ]j x1mK< � k � � v ^Y�x1]^oj y x7_>]| �jl^ x1]oj _65*�1^oj | k � 5F| 5 y �3^_ � !e_65�j j�� j�y j�k._>^x1]j �ljl]�� ` _65�x7_ |}^lvn_65�j k ��y �?jl].� !Jk*�3k � �ljl]�� j�� j�y j�k"_o^ |}^A~3j�] < ^oy xC� � c � a | k��1jlm � |}^_>^ x7]oj ~3jl]H<��^j !"�4� |}k ]jlY�]jl^oj�k._>| k23 ^oY�x7]o^oj y x7_>]| lj�^lv5^o| k� lj _65�j < j�� |}y |}k�x7_ojz_65�j k�j�jlm _5��]jlY�]jl^jlk._ �lj�]5�j�k"_o]o|}jl^�| k _65�j yzx7_o]o| r � � y Y4� j�y j�k"_5x�Y�x �OxC33j _65�xO_�!hx �| �}|}_ xO_>jl^ jE3 l| j�k._�x1mFm�|}_o|��3k;v.^����F_o]>x {_>|��1k;vy �2�}_>|}Y4� | x7_o|��3k v x1k�m'�1_65Fjl]L| y Y��3]�_ x1k._Lx1]|}_L5�y j{_>| ��3Y j�]>x7_o|��3kF^ �3k ^oY�x7]o^oj5yzxO_>]o| lj�^lv ��^o|}k43 �}| k��7jlm�}| ^_�]ojlYF]ojl^jlk._ xO_>|��1k/� !L_65 �3^oj �

����� � �*�5R=!eKA�5� ����R �C� ��� � E;��� �

� �8� < k*�3y | x � ^e|}k.~ �8� ~t|}k43q]ojlxC� ~7x1]| x �4�}jl^ x7k�m ]oj x � � ~7xC�(��jlm �tjE3 l| j�k._>^� x1k�xC�}^5� �?j ]jlY�]jl^jlk._>j�mjE3 �| j�k"_L� < _L5�]5� �2385 �}| k��7jlm �}| ^�_>^ � ^o^���y | k43 ^o|}k438� j,~7x1]| x �4�}j Y��8� < k*�3y | xC�}^lv;m�j�^o| 33k x ^5��| _ x �4�}j�}| k��7jlm��}| ^_J]oj�Y�]oj�^ojlk._>x7_>|(�3k0!"�3]JY��8� < k*�1y | xC� ^�x1k�mqmFj�~3j����3Y x Y�x �7x 33je_65�x7_ | y Y4�}jly jlk._>^�~1x7]o|�� ��^Y��8� < k*�1y | xC���1Y j�]>x7_o|��3k�^J^5�� 5*x1^ x1m�m�| _>|��1k;vF^����F_>]ox �_o|��3k v�y �4�}_o| Y4�}| lx7_>|(�3k;v"x1k�m m�| ~ | ^o|(�3k��

������� � � �B � �S! �F!

^ �"| Y �}| ^�_ |}^ x1k�j�3 l|}jlk._��}| k��7jlm �}| ^_ � ��x7^ojlm m�x7_>x ^_o]5�� {_��]j*_65�xO_qx7__>jly YF_o^ _5� | y Y4� j�y j�k._��|}k�x1]H< ^oj x7] 5 �3k �}| k��7jlm �}| ^�_>^ � S j x1m _L5�j !"�8� ��� � | k23 Y�x1Y j�] � $%| � � | x1y � �43C5���8��"| Y an|}^_o^ � Y�]�� ��x �F| � |}^_o| qxC� _>j�]ok�x7_o|}~1j _5� ��xC� x1k� ljlm _>]jljl^ ����k����cN�J�� IA@mD�� kCJ`B*k hlD��K>������ v�� �8�(��y j & & v ��y �?jl] � vnY�Y�� �C��� � � �C� v ��� �87 � �}^5� ]ojlx1m _65�j ^j �_o|��3k%�3k08��"| Y�a | ^�_>^ | k � 5�x7YF_>j�] , � !�_65F| ^�}j �_5��]ojzk*�1_>j�^ � � j�~1j����1Y YF]5�833]ox1y ^ _� |}y Y2� jly jlk._ ^ojlx1] 5;v�| kF^ojl]�_ v�x1k�m mFj�� j{_>j �1Y j�]>x7_o|��3k�^D| k^ � |}Y � | ^�_>^ �

����� � ! @�B!"� ! ! �FEL� ! � P � EL� �5�4! RRS� � � ���S�JK

� 5�j � ���j �_o|}~3j � !5_65�|}^ x1^o^| 33k�y jlk._�| ^ _5� �3y Y�x1]oj _L5�j Y?jl]�!"�3]oy x1k� �j � !5_L5�j >$#�XKkCJr>EJKD%��@m=5x1k�m_L5�j�&'��(EkCJZ@�I�I�� � ��m�m2< ^H<t^�_>j�y ^�� !Qy jly �3] < xC� �(�� lx7_>|(�3k�� � �3] y �3]oj m�j{_ x1| � ^ �3k �*��mFm2< ^ < ^_ojly ^lv]j !9jl] _� _65�j ��� ��� � � �3k�xC�}m*),+ k �F_65 �-&rN�JZRP@.� >EJKD @m='�e=0/�kCF1�sD2�3��B3v4� �8�(��y j � � ! � 5�j ]_� ! � �1y Y*�t_>jl] � ]��833]ox1y y | k23�v m�m�| ^��3k � $ j�^L� j <3v ���C��� v98tj �3kFm5) m�| _>|(�3k;v ��� �m& � � �3k�^| m�j�],x1kjsrFY��3k�j�k._>| x � �*��m�mK< ^ < ^�_>jly � | _65 _L5�j !"�8� �(� � | k43*xC� �(� �Jx �4�}j �4�(�� � ^o|��lj�^ � � v ��� v & �tv � , v � � � v��� �tv ��7 � , v�� 7 , � v;x7k�m , 7��8� ��a j�_e_65�j xC� ��� �Jx �4� j �4���� � ^o|���jl^ !"�3] _65�j � | ���1k�x �|�^H< ^_>j�y � j � v�Q& v � � v & , v �3� v ��� v � , , v � &m& v & � � v �`��7 v � � � v ��� � � v � � � , v�x1k�m , ����� �0<4� ��] _>x1^ �"^ x1]j _L5�j!"�8� ��� � | k23��

� �76 jlkFjl]>xO_>j x ]>x1k�m �3y ^ojlp ��j�k� lj � ! xC� �(�� lx7_>|(�3k�^ x1k�m��}| �?jl]ox7_>|(�3k�^ �p8"_ x1]�_ � |}_L5 x1k j�y Yt_=<y jly �3]H< x1kFm lx1]o]H<0� �F_ x,^oj�p �Fjlk� �j � ! xC� �(�� lx7_>|(�3k�^5[�]o^_lv�^5� _65�xO_ _L5�j y j�y �1] < �?j �3y jl^

Page 44: Data Structure and Algorithm by Y. Narahari

������������ ������������ &87

x7m�jlp ��x7_oj�� < �3y y |}__>j�m�� � � 33j�k�jl]ox7_>j,x ^jlp ��j�k� lj � !�xC� ���� x7_o|��3kF^ x7k�m�� | � j�]>x7_o|��3k�^ |}k �_ojl] � j x ~1jlm ]ox1k�m*�3y � < ��<4� �zy x�<,_o] < � | _65 ��787 �1] � 7C7 �3]�j�~1jlk ��7C787 ^��� 5qxC� ���� x7_o|��3kF^ x1k�m�}| �?jl]ox7_>|(�3k�^ ��$ 5�| �}j�33j�k�jl]ox7_>|}k43 _L5�jDy jly �3]H< ^o|���jl^ ]ojlp ��j�^_ojlm !"�3]Ax � ���� xO_>|��1k�^lv2< � � y x�<�F^oj�x,]oj x7^5�3k�x �4� j m�|}^_>]| �*�t_>|��1k�� � �3] jsr�x7y Y4�}j1v*�1k�j _=<tYF| x � ^ lj�k�x1]|�� | ^ �S x1k233j:� ! �2���� �z^o|��lj � ]�� ��x �F| � | _=<

� G ��787�� 7 � ���787 G �C7C7�� 7 � ��C7C7 G ��787C7�� 7 � ���7C787 G�� 7C787�� 7 � �� 78787 � , ���`��� 7 � �

���e8 | y �4� x7_>j�_65�j,y jly �3]H< xC� ���� x7_o|��3kF^ex1kFm(�}| �?jl]ox7_>|(�3k�^ !"�3]A_65�j x ���u~3j ]ox1k�m*�3y ^oj�p �Fjlk� �jl^ � _n~7x1]|�� ��^ |}k._>jl]y j�m�| xO_>jQY��3| k._o^lvOY�]o|}k"_ � �F_n_65�j�m�j{_ x1| � jlm ^�_ x7_oj4� !t_L5�j5y jly �3]H<3vu| kFm�| lx7_>|}k43_L5�j xC� �(�� lx7_>j�m Y��3]�_>|��1k�^lv?x ~7x1| � x �4� jeY��3]�_>|(�3k�^lv?x1kFm _65Fj.4 �=� |}^_o^ � T ^oj FH>�IEN�FHB����m> x � 3 �3]|}_L5�y ^!"�1] xC� �(�� lx7_>|(�3k�^Jx1k�m � | � j�]>x7_o|��3k�^ � � _ ��� �4� m �?j j{r� lj�� � j�k._ |9!�< � � | y Y4� j�y j�k._�~3j�] < 33j�k�jl]oxC�x � ���� xO_>|��1k x7k�m � | �?jl]ox7_>|(�3k xC� 3 �1]o|}_L5�y ^lvC_65�x7_ � | � � ���3] � !"�3] x1kA< x7] ��| _>]>x7] < �3]omFjl] �*��mFm2<^H< ^_>j�y �

& � � �1y Y*�t_>jA_65Fj:!"�C� ��� � |}k43 Y?jl]�!"�1]oy x1k� lj y j x7^5��]jl^ !"�3] j x 5 ]>x7k�m*�3y ^jlp ��j�k� lj �V ~3j�]>xC31j.!9]oxC33y jlk._ x7_o|��3k �V � �1_>xC� k ��y �?jl] � !�^oY4�}|}_o^ �V � �1_>xC� k ��y �?jl] � !�y j�]L33j�^ �V ~3j�]>xC31jA^o|��lj � !nxC� � � | k��1jlm�� |}^_>^4��^jlm |}kzy x1| k._ x7| k�|}k43A_65�jex ~1x7| � x �4� j �4�(�� �,|}k !"�3]yzx �_>|��1k��

V ��y �?jl] � ! �4�(�� �"^ _65�xO_ x1k�k �1_ � j� �1y ��| kFjlm � |}_L5 � ��m�m�|}jl^ �V ��y �?jl] � ! �1k"_o| 3 � � ��^ �4�(�� �"^ _65�xO_ex7]oj k*�1_ �*�Fm�m�| j�^ �

, �(S jlY?j xO_ _L5�j*jsrFY?jl]| y jlk._>^ !"�3] ^oj{~3jl]oxC�e]ox1k�m*�1y ^jlp ��j�k� lj�^ x1k�m�YF]o| k._ � �F_ _65�j*x ~3jl]oxC33jY?jl]�!"�3]oy x1k� �j y jlx1^5��]jl^ � <4� � yzx�<��}| �1jq_5��]jlY?j x7_ _65�j j{rtY?jl]| y jlk._ x7_o|��3k �3k m�|�� jl]jlk._mF| ^_o]o| �*�F_>|(�3k�^�� ! ]jlp ��jl^�_e^|���jl^ �

Page 45: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

( �?<>/F:S< =?-�0$� @������ \���� �!�"�#��$&%'�)(*$&+#$Gi,$&� �-�.(/%0��i �1�-�)�!�"+#+�w��"%QJ�$�%0$GJ|T2�2� M $&%0�3$4���5�6���T�7278�)%9�-�:����$ �;�"�9�8\<�"7*$&%-�6�-���"�2�=�)(>�#�2�9$�%3�-����{ � J�$&+#$?�-����{@$&+#$Gi,$A�B�-�C�"��JD�3$E�)%Q\ �2�#��{(F�"%G��{B� M $A�H$A+I$NiJ$A�B� Y�K �L���2����\��5�)7��0$&% F z4$M72%0$&�3$A�B� % 0?4 %':>0 Nt8h+.4 z��2�8\ �H72%0� M �8J�$�"�O$ v\&�I$A�B�P�7i,75+��7\&�Q�'%9$E�"+#� �A�6�-�����R�)(S�tJ2�7\?�-�#���5�)%+w Y ^ v\&�I$A�B��$VnT75+��7\&�Q�P�8iJ75+#$Gi,$A� ��!�6�-���"�2�M����\�+8T�J�$q�5�#�5�)%+wU�3$A�)%Q\ �U�0%0$�$&�V�"��J �;�"+��"��\?$NJW�3$A�)%Q\ �U�-%9$�$A� Y )��$A�3$X�)%9$�0%9$E�Y�-$GJZ�#�&J�$��!�"�#+[�#� V �5�)7��0$&% o Yz� �#%0�\� F z4$V�#� �0%0�]J�T�\?$]����$^�b�5�3�0%-�P\_�pJ5�6�!�`��wT7*$� E;� z��2�8\ �L����\�+8T�J�$&��J2�8\_�-�����5�6%-�I$A� F 72%0�#�"%0�I��w U]T�$GT�$&� F $?�R\ Y �)�a�QT��c\&+��"�9�3$A� Y

� �3b ��� ���

c ( �3$����#�@�u\���+�+I$N\_�-������"( z4$A+#+ J�$�U;��$GJd$&+#$Gi,$A�B�-� Y )��$�i,$Ni|�*$&%0�e�)(C�L�3$?��6%0$��)+�+ J2� �f$&%9$&� � Y

c ( �3$?� ( `*)A\&�"�?�f$ J�$�U;��$GJL�-�j\���i,72%0�#�9$<����$�(F��+#+���z<����{^�"7f$�%-�6�-�����2� GMKY �1�2���"� E ( F�2pF VagX]Y'K �B�0$&%0�3$N\_�-����� E ( F�2pF Vagd�Y `e� �f$&%9$&��\�$ E ( F�2pF Vago Y � $�%�{�$ E ( F,2pF Vagr]Y � �#��J E n*g}�Y � $Gi|�f$�% E n F ( gh�"% �i$A�)%Q\ � E n F ( g� Y � � � $A��T2+�+ E ( g

&`�

Page 46: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� & �

��Y ^ U]T5�"+ E ( F,2 g��Y ( �9�9�7{B� E ( F�2 gM ' Y K �2�3$�%9� E n F ( gM;MbY `1$A+I$��0$ E n F ( gM�X�Y[� �#� E ( g E �#( ( �#� �"� �"%QJ�$�%9$NJH�3$��_g

c��i$?� �7i,75+#$Gi,$&� �!�6�-���"� G ~ ���9�0���5+#$IJ5�6�!�R�\�0%RT�\_�RT�%9$A�G�#��\&+7T�J�$ G

� 2 �I���:$G\?�-�"%� ( %9%-��w� Z ��� � $NJ Z ���\�

� �1�2�9�"%3�0$GJ� ���"%3�0$NJ

� ��� � � � ����� ���]� �����

c ( J2�7\?�-���"�5�)%+w ��� ��Jew��5�KiX�8\1�9$?� ( ` ) z<�I��� ����$��"7*$&%-�6�-�#���2� GMKY � � � $A��T2+�+ E `@gX]Y'K �2�3$�%9� E n F `@gd�Y `1$A+I$��0$ E n F `@go Y �i$E�)%Q\ � E n F `@g

c �<�3$&(yT2+B�����8i,75+I$NiJ$A�B�-����{4�+wei|�8��+6� �b�5+#$&� F �0$Vn��.%9$?�0%-�I$ M �)+"�w��\�0$GiX� F J5�6�!�K�;�)�9$�wT�\�-$GiX� F 7;�K{"$ iX�)7275����{^�!�K�5+I$A� F $?�6\ Y

c K i,75+I$Ni,$&�B� �Y�!�#��� GMKY � �gn�$GJ Z $A��{"���Z�)%9%!�NwT�X]Y Z ��� � $NJL+����\�-� G �9�"%3�0$NJ F T2�2�9�"%3�0$GJ F � � �#7 � +#���\�-�d�Y $e�"� �')'�K�5+I$A� G �"7f$&� F \&+#���3$NJo Y ).%0$�$&�

� 2 �#�5�)%+w �i$A�)%Q\ � ).%9$�$A� E^2 ��)a� g

Page 47: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� & &

� 2 �)+ �"��\?$NJ 2 ��)a�� ( � Z ).%9$&$&�� f $NJ � 2 + �K\ � ).%9$&$&�

� �i75+ �Nw%).%9$�$A�� � T2+I�-��zG�Nw �i$A�)%Q\ � ).%9$�$A�

� X � d ).%9$&$&�� 2 ).%0$�$&�

� ).%0�#$&�c Z $��G�?�*$]����$M�]T�i|�*$&%4�"(>$&+#$Gi,$&� �-�C��� �|J2�8\_�!�#���5�)%+wv` Y )��$M(F��+�+#� z<�#��{V�#�a���T�iviX�)%+wX�"([����$M7*$&%9(F�"%Qi �"��\?$]�)( �9��i,$ �;�"�9�7\M�8i,75+I$Ni,$&�B� �Y�!�#���qiJ$����2��J2� G

$3�1]o^_ lx1^oj �1y Y4�}j{rt|}_=< � !8tj x1] 5 � j�� j{_>j � k�^oj�]_ y |}k

]]>x�< � `9kCc � `hk�c � `9kCc � `hk�c

8;�3]�_>jlm a | ^�_ � `9kCc � `hk�c � `9kCc � ` � c

T k�^��3]_ojlm a | ^_ � `9kCc � `hk�c � `9kCc � `hk�c( iX����{^����$&�9$ F ����$��9�"%3�0$GJZ+��#�\��5�"� ����$I�f$&�\�1� M $&%-�K{�$a\A�)�9$@7*$&%9(F�"%Qi �"��\?$ Y

c K �����2��� \ �5�)7��0$&% F z $ J2�#�Q\�T2�9�>��z � J5�Y� �a�\�0%QT�\?�RT�%9$A�[( �)% J2�8\_�-�����5�)%0�I$A� F �5�Pi,$&+�w$1�"� � )'�K�5+I$A�G�"��J � � �#7 Z ���\�-� Y

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

c ( �V$hnT�0%9$NiJ$A+5w]$��8$G\?�-� M $=�"��JV72%-�P\_�!�7\A�)+Kza�Nw��"(5�7i,75+#$Gi,$&� �-�#��{�J2�8\_�-�����5�6%-�I$A� Yc ���uM g �!�7i,$](F�"%a�3$A�)%Q\ �������2�3$�%3���5�"��JuJ�$A+I$��0$@�#�L����$ � I5En��� �5E � � !FE Yc ��� �*gS�-�8i,$:���V����$�z �"%0�\� \&�"�3$ � ��wC\&�)%9$�(�T2+�J�$&�9�7{B���bz4$�\A�)�|i � � $:����$=72%-�K�;� �

�5�#+��Q��w����5�Y� iX�)%0$=���5�"�x\&���2�\�!�"�B���-�7i,$G�#��%9$FU�T2�#%9$GJ^�!�O�*$<�)%��5�I�0%-�)%0��+�w���i �)+�+ Y

c%$1�"� � )'�K�5+I$A�� � 7*$A� �)%l^[nT�0$�%0�5�"+� V4+����3$GJZ�"% K �B�-$�%0�5�"+

Page 48: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� & ,

� � � �� ��BDELK�� � !�� ��KA�

Z $�� G

c �A�*$�����$IT2�2� M $&%0�3$@�"( � $VwT� G

� ���B�-$�{�$�%0�� \ �5�)%-�P\_�-$�%G�\�0%0����{B�� \&��iJ75+#$hn��5�I�a7;�Y�0�0$�%0�2�

c 2 ����$X�9$?�V�"( �5�)� � M �"+7T�$A� � �"+��9�m\&�"+�+I$NJd����$v�LT�\ � $��-���"%I�5���2�!g YuZ $���� �� '�� M � ����� � � M � z���$�%0$� � '`��� �`78���9�Q�!���B$M�#� �0$�{�$&% Y

( �5�"� �Z(��2��\_�!�#��� � G � � 2 �"�9�9��\&���6�0$A������\ � $?�!� � �5�)� ���)�"+���$&�!gC�-� � $VwT� Y)Hz �xi �"���H���9����$&� G

MbY � �5RR���!F���5KA!K (�n � �"��� n � �)%9$^��z ���2� �8$�%9$A�B� � $VwT� �S�I�M���]78�"�0�9���5+#$R���5�6� � � n � g�� � � n � g Y)�2�#�@���t\A�"+#+#$��W�m\���+�+#���9����� Y V4��+�+#���9���"��%9$A�9��+��T�-���������M����$qiX���\�@�7i,78�"%3�!�"�B��#�9���$@�#� �5�"� �L�!�K�5+I$M�8i,75+I$NiJ$A�B�!�6�-�����2� Y

X�Y � � !F��� @ K � �����5KA!V �2�i���9����{�� �5�"� �,(��2��\?�-�#���`���5�6�$iX���2�7iX� ��$A�.����$ ����ix�*$&% �"( \���+�+#���9���"�2�:�"����)+��9� �5�"� ��$A� �2�2�I( �)%Ri,+�w �#�a�"�2�)����$�%�\?%0�I�-�8\&�"+ ���9����$ Y

� � gbg����� � 0"!��� � gND���� � 0$# 9 �����K�;0��N0�%

c ~ �T� �"+�+8����$@$A+I$'&,$&�B�!�C���5�6� �5�"� �Z�-�`����$��0�(&,$)�)�"+���$���� �`+��#� � $'�Z+����\�'* �i$�$� ��{+��%9$-,.* M *

/ ��� 0y��g�21

�i$�$ � �43+��%9$5,.*768* V4���2�9����$&% ����$ � $:9���' � M �+; � � � M�< �.6>= �8, < �?; � � < ; � ��M � M ' '.*A@ $?�����$ �5�"� �Z(��2��B_�!�#���u�*$ G

Page 49: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� &.�

0

1

B-2

B-1

{h(x) = 0}

{h(x) = 1}

Lists of elements in individual buckets

Bucket Table (Hash Table)Headers

� | 3 ��]oj & � ��� � �8� � |}^o|��1kz]oj�^5�8�(�F_>|(�3k �A< 5�x1|}k�| k43

NULL

NULL

NULL

0

2

3

4

5

6

1

0

1

4

49

36

16

25 81

100

64

2

� | 3 ��]j & � � � �AY j�k 5�x1^L5�|}k43 � k jsr�x7y Y4�}j

Page 50: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� &8�

� ��� g � ��� �

c 2 ��B���$?�a+#���\�-�� �2�2�0�)%9�0$��Z+#���\�-�� �0�)%9�0$��Z+#���\�-� � ����$&�3$��)%9$��f$?�9�-$�% g

c K �2�3$&%3� �� � )1gK �2�3$&%3� � �6� ����$ ��$A�(�Z�)('+����\� )� � � ��$:9 �� g9g �

c��i$A�)%B � �� � )1g�i$A�)%B �D(F�"% �"�Z$&+#$�&,$&� � � ���L����$@+#���\� )� � � ��$:9 �� g0g �

c��<$A+I$��0$ �� � )1g�<$A+I$��0$ � (/%-�(& ����$�+#���\� )� � � ��$:9 �� g0g �

( �"%0�\� B&�"�3$-B&�>&J75+#$ � �Q� 9,�"('�"+#+ ����$&�3$@�"7f$�%-�6�-�����2�4��� ��� �*gK �L����$�� ��$&%-� 3�$ BA�)�9$ �T����$�%�2�2�2�#�.3O�-��&J$]��� ���uM�� � g ������$�%9$

� � +����(�H( �(B_�-�"% ��� ����$�%0$ � ,.* M g

� � ����&��*$&% �"(.$&+#$�&,$&� �-� �\�-�"%9$�� � ,.* 6�g � ����&��*$&% �"( �5�"� � �)�)+���$&�G�"%�����B��"$��-�

K �M�#�]�"�9����&,$�� ���5�6�1����$ �5�"� � �)�)+���$ � � �2g B&�"���*$ B&�(&,7��T�0$'� �#� ���uM g4�!��&,$(* K (�D��� ��� &Hg �B����$e�'�B$&%-� 3"$ BA�"�3$ B&�>&J75+#$ � �Q� 9`�"( ����$&�9$1�"7*$&%-�6�-���"�2���f$�B&�>&J$A� ���uM g��

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

c ( +�+8$&+#$�&,$&� �-�G�6%0$@�\�-�"%9$��Z���D����$ �5�)� �H� ���5+#$@�I�-�3$&+#(c ( � �����2�C7f�����B�0$&%0� � ���2+�9 B��>&,7��T�0$&�P����$e�9$tU���$A��B?$M�"(>�0+#�)�-�C�-���*$]$ � �(&X�#��$'� *c V4�"+�+��#�9�����2�4�)%9$ �5�"���2+#$����?9 3�$&��$&%-�6�-���.3O�`�3$FU���$&��B�$��"( ��EL�A� !�� �)�"+���$&� * G !"$#%'&�2�2���B$&%0�3$@�"(.72%0��& �)% 9(��$:9T�

) � '.� M � 68� � � � �" #% &72%0�*�*$@�8��&+�*$&%� � '.� M � 6�� � � � �� � M2�

Page 51: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� & �

c�Q]�4��$A�Z����$:9 � �;�Q� �5�"� � �5�"� � �)�"+���$ � �� � ' gC�"��� �`�3$��<�"(>%0$ �5�"� � �)�"+���$A�� �� � M g � � �� � 6�g � * * * ��� �� ��& � M g

c ( $@%9$tU8�2�I%0$]���5�6� (F�"%G$:�B$&% 9 ��$:9 � �2����$M72%0�*�f$��3$tU8��$&��B�$� � �� � ' g � � �� � M g � � �� � 6�g � * * * � � �� ��& � M g �

�*$��`7*$&%& �T�!�6�-����� �"( � ' � M � *�*�* �.& � M � *)�2�#��$&�2����%9$A�@���5�Y��$:�B$�% 9 �5�"� �W� ���5+#$O78���9�I�-�#���W����$ �B$&�B� �5�)+�+49 B����2�9����$�%9$'��)�a�J�9+��6�a(F�"%G�\�-�"%0���.3J�O%9$�B&�)% � �<�I���Z� ��$:9 �)�"+���$ � *

�r+���EF �1��� ��� �

c��i$A�)%B � �<�#+�+ B&�"� �-������$��2� �-�#+A9 �(���;���W����$O$A+I$'&J$A�B� � � ����B B�$&�9�3( �2+ �9$A�)%B �*g�)% �"�L$�&,7�� 9D�9+��)� � �2�2����B B�$&�9�9(��2+S�3$E�6% B��*g *

2 g�P�Q3������� �

c�<�$��$&+#$?�0$@�#(>����$��3$E�6% B��Z��� �2�2����B B�$&�9�3( �2+ *c K ([����$M�3$A�)%B �H��� ����B B�$&�9�3( �2+ ������$A�D7��T� ����$M+�� �f$&+���� ������� � �2� �f$&%9$&� �4(/%-�(&�)�L$�&,7�� 9D�9+#�)�_g *

� 0^����Q��������� �

c�<�J��$�$��L�-�J�#�2�9$�%3� �#([����$��3$A�)%B �Z�#�a���B B?$A�9�3(��2+ *c K (T����$=�3$E�)%B ����� �2�2����B B�$&�9�3( �2+ �"���2�3$�%3� �6�.����$��5%0�\� 78���9�Q�!�#�����<�I���^����� ��������!� 3�*

��������� �#EL�A� !�� ��KA� � E;���A� !

�1$&�2�)�0$ � �� � ' g ��9L�9��&,75+�9 � �� g *M * @ ����$A�)% 72%0�*�5�#�.3

��� ��� g � � ��� g � � g &X���

Page 52: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� &��

6�* �5�(��%-�6�-��B�� %0�*�5���.3 ��� ��� g � � ��� g ��� � � ��� � � � g &X����

����$�%9$ � � �"��� � � �)%9$ B����2�\� �)� �-� *,�* �1�>� �5+#$($1�"� �2���.3

��� ��� g � � ��� g � � �� ��� g9g" #�% &�)�2�)����$&%�5�)� �(��2��B_�-�����

&,�8��

� � � 00�^���C��� � 0 � w !�����K�"�^�N0�%�� P��� � ,��

an|}k�j x7] � ]�� ��|}k43 y m�| ^�_>|}k� �_ Y�]�� �?j � ]o|}yzx7] < �����^�_>j�]o| k23^jlp ��j�k� lj�^

� ��x1m�]>xO_>| � ]�� ��|}k43 y m�| ^�_>|}k� �_ Y�]�� �?j � Y�]| y x1] < ��(��^_ojl]| k43�d^jlp ��j�k� lj�^ �*�t_ ^j �3k�m�x1]H< ��(��^_ojl]o|}k43

� � ���4�}j 'ex1^ 5�| k23 y a m�| ^�_>|}k� �_ Y�]�� �?j � Y�]| y x1] < ��(��^_ojl]| k43^jlp ��j�k� lj�^ � ^j �1k�m�x1]H< ����F^_>j�]o|}k43

������� � K � � ��� B R�E��

( �0����&,$ +��#��$E�)%�72%0�*�5���.3 �<�Q���^����$a(F��+�+#� �<���.3 �5�)� �2�#�.3��"���J%9$ �5�"� �2���.3M(��2��B?�-�#���2� G ��� � ' g � � � � ��� ��� g � � ��� �C' g � � g � �

� �!�)%3� �<�I���Z�)�Z$'&J7�� 9X�!� �5+I$>*

Page 53: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� &��

K �2�3$�%9� � 6?' �Q)1g ' M ;K �2�3$�%9� � , ' �Q)1g M $�&,7�� 9K �2�3$�%9� ��� �Q)1g 6 , 'K �2�3$�%9� � ;�= �Q)1g , �

K �2�3$�%9� ��M ; �Q)1g ; ;�== $�&,7�� 9< 6?'

�i$E�)%B � � ,?= �Q)1g ' M ;�1$A+I$��0$ ��� �Q)1g M $'&J7�� 9

6 , ', ��$A+I$��0$��; ;8== $'&J7�� 9< 6 '

�i$E�)%B � � ;8= �Q)1g ' M ;�i$E�)%B � � =>6 �Q)1g M $'&J7�� 9�i$E�)%B � ��� � )1g 6 , 'K �2�3$�%9� � ;�= �Q)1g , M 'K �2�3$�%9� ��M ' �Q)1g ; ;8=

= $'&J7�� 9< 6 '

�1$A+I$��0$ � ;8= �Q)1g ' M ;K �2�3$�%9� ��M < �Q)1g M $�&,7�� 9

6 , ', M '; M�<= $�&,7�� 9< 6 '

Page 54: Data Structure and Algorithm by Y. Narahari

��������������� 2 �;Fm��� � 0��`� �f�� , 7

��������� � KA�����AEn� � � ��� B R�E��

@S$�� & �f$M����$��8��&+�*$&% �"( �9+��)�-� *( �9����&,$ G c $:�B$&% 9 $:�B$&� ����&��*$&%9$��L�9+#�)� ��B�B ��75�#$�� �"���L$ �B$�% 9H�8���

�8��&+�f$�%9$'�H�9+��)�G$'&,7�� 9c �"�+9 �5�"� � �)�"+���$ �f$?� �4$&$&� ' * * * & � M �#�G$FU��5�"+�+�9D+�� ��$&+49�!���f$ 3�$&��$�%!�Y�-$�� *c +��#��$E�6% 72%0�*�5���.3

$'&J7�� 9�8B B ��75�#$��$'&J7�� 9�8B B ��75�#$��$'&J7�� 9�8B B ��75�#$��$'&J7�� 9�8B B ��75�#$��

� � 7f$�B?�0$��Z����&��*$&% �"( 72%0�*�f$&� (F�"% �O����B�B?$A�9�3(��2+[�3$A�)%B � � M� � 7f$�B?�0$��Z����&��*$&% �"( 72%0�*�f$&� (F�"% �)� �2�2����B�B?$A�9�3(��2+[�3$A�)%B �

� ���6�� � � g � ���6�� � 6�g� ��� =

� � � ����������� �������������������� �6�a��� �"3B����� � �)� � ( �2��B_�-������

c"! � �(�2+��Z�0�6�-�#�9( 9X� � $��9��&,75+I$��2�2�#(F�"%& � �"� � �#�.3J72%0�"7*$&%3� 9>*@ $?�$# � �2�2�4�B$�%0�3$@�"( ��$:9��@ $?�G� � $ � �"� � �)�"+���$A� �*$&% � � � * * * � &(' �

Page 55: Data Structure and Algorithm by Y. Narahari

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

@S$�� �2�:�)�0����&,$=� � �6� $E�(B � ��$:9R�#� ��%-� �<�R������$�7f$&����$A�B�-+49�(/%-�(& # �(B B&�)% �2�#�.3�-�J�`72%0�*�;���5��+��Q� 9 �2���\�0%0� ���T�-����� � *5� * $>* �T( �)%��! #

" �$# g � � %0�*�;� �5��+#�I� 9J� � �6� # ��� ��%-� �<�% � $&�Z�9��&,75+#$��2�2�I(F�"%& � �"� � ���.3O%0$'&��2�#%9$A�C� � �6�

()+* ,'-.)�/10�2

" �3# g � � ( �)% $A�(B � 4 � %.� � � � � � � � �� � �6�G��� ��$E� B � ����B���$?� �#� $�&��5�"+#+49H+�� ��$&+49X�-���f$��8B B ��75�#$�� *

c � � �(&,75+I$ �)(5� � �)� � (��2��B?�-���"�@� � �6�.�-�Y�!�#� �5$A�.�9��&,75+#$ �2�2�#(F�"%& � �"� � ���.3 72%0�"7 '$�%3� 965!8��727f���3$J� � $ ��$ 9T���)%9$ ���2� �<�d�!���f$,%-�"���2�(& %9$A�"+ ����&+�f$�%-� # �#����$&7*$A� '��$&�B�!+�9H�"��� �2�2�I(F�"%&X+49 �2���\�0%0� ���T�0$'�H���H� � $M%-�"�.3"$( % � � g *

�$# g � 7 # 98�0�6�-�#� �5$&�4� � $@�9��&,75+I$��2�2�#(F�"%& � �"� � �#�.3J72%0�"7*$&%3� 9>*: �5�"+#�I�!�6�-�4��$ ����(F�"%& �6�-���"�J���8�>�T� " ���=�"( �0$A���2�3$�( �2+f���X� � $���$A�9�43B� 72%-��B?$A�9� *; �"% $ � �(&,75+I$ �+B����2�9����$�%C�-B��>&,75�#+#$�%'< � � 9�&+�8��+T�!� �5+I$ ����� � ��B � � � $ ��$:9T�C�)%9$�6% �5�Q�0%!�6%�9 B � �)%-�(B_�0$&%4�\�0%-�#�.3B�4%9$�72%9$A�3$&� �-���.3O����$A�B�-� �5$�%-�4���Z�`72%0�(3�%-�(& * K �<���B��>& &,���J(F�"% B�+����3$&+49X%9$&+ �6�0$�� � 9.&+�8�"+�� �i�0�'9X7�� ��7��-� �T7��9� �i�-�`�)727f$A�)%=��� � � $�0�(&J$ 72%0�(3�%-�(& *>= 3������ � �)� � (��2��B?�-���"�+� �>�2+��$&X�#�2��&X�@?&$:� � $ B � �)��B�$G� � �6�����B � �)�)%0� �"�B�-� � �"� � �-�R� � $��0�(&J$M�9+��)�'*

cA= B��>& &X���@�67272%-���(B � �#�>�-�5��$�%0�4�B$4� � �"� � �)�"+���$=���^� �G�'9M� � �Y�'���.$ � 7*$'B_�0$'��-���f$�������$�7f$&����$&� � �)( �"�?9D7;�Y�0�0$�%0�2�=� � �6� &X�43 � � $ � �#�\� ���D� � $-�5�6�!�.*B % � $ �2�4�T���9�#��� &,$?� � �8� B��>&,7��T�0$&�e� � $ � �"� � �)�"+���$,�"�M� � $J%9$�& �"������$�%� � $A� � � $ ��$:9 �#� �2�4�T����$�� ��9 �^72%-��&,$<�8��&+�*$&%�* #1�2+#$&�9�C� � �6�472%0��&,$1����0�(&,$ � � � %9$&+ �6�0$��d�-� 7;�6�9�-$�%0�2�@���W� � $ �2���\�0%0� ���T�-����� " �.� � ���-&,$?� � ���3B�4�B$&� 3B�i���L%9$A���2+Q�!� *

Page 56: Data Structure and Algorithm by Y. Narahari

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

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

�A= ���:9���� &! #"$"%���&�('*),+-+�'.�/+10 & �32�+#),� �$�3��'.3-) � �40 �$'�B5),��+�' �6 #.798 # &!+;:=<

�?>@�'&BA$�DC3���@+1'$249� -�E�('.3F2(�4:$�HG.�(�3��+�'JI � �K'�BL�40M 1�N)�O< � � +�A$2(:&'$+#) ��� 5

B -"%+ �P�LC@+10 6;I.�E�('�BL�/�D0Q< 8 65R1IS) � ��' 6 #.7 �(�UTNA$�V)W) � �WX�2�+ �P���N)@+1CE:.�KC�Y�D),�@+10 #

B ="Z+ �P�KC4+#0 � %.I�3�('�BL�[) � ��'\) � � � 1� � 0�A$'�B5)]�(+�'^:$+*���4'$+#)_:.�K"���'$:`+�' 12�2Z) � �4:.�'BL��&! 12a:$��3F�H),�W+10 #B 6 Rcb � * de0 # ���� B � #C, (B5)E�KCf�N)ECE��'.3g��'F),�LC3"$C3�L)E�K:h��'hC, 1:$� � 6 R Ii) �W+�V)ECE��'.3��J) � j)k #C3�l��:.�K'*),��B� 12j� � B��K".)Q0M+#Ck W)EC] #'$�3"%+��3�D),��+1'_+10B) �@+m 1:jTV (B��K'*)B � #C, (B5),�LCE� �n�(2�2 � 1� � ),+[) � �4�E (&o�pG# 12�A.�(*

�\qp+;+B:fG# 12�A.�K�@0�+1CW<B "$C,��&r�K�W'$+#)@),+;+$BL2�+1�3�p),+-� � (B5)i"Z+ �P�KCE�@+#0 68*

������� � skt����Mukt��wvFxS�y�w %�z� ������ J�% � �LC3�/ #C3�p) �W+c�N)E�L"Y�'5�j{9| A$2D),�D"Y2D}p) � � ����} # �;}~ ��L+�'$�N)] 1'F)k����'�) � ��C, 1'.����% � � � � 1'$:����B)EC] #��)) � �_0wC, 1�5)]�(+�'Y 12%"� jC3)@+10 # �� {9| A$2D),�D"Y2D}!) � ���P0�C, 1�5),��+�'Y #2%"� #CV)��*}=< #'$:�)] ����) � �_��+B+#C {

�6 #.7�8 7w< 6 # � �!+B: � 7 8� � �LC3�

# � �!+;: � 8 # � b 7 # � 8 �6 #.7�8 7�< 6 # � b 7 # � 8 7 8

Page 57: Data Structure and Algorithm by Y. Narahari

�������������� ����������������������� ����A=�:SG# 1'F) j���c+10P) � �!�o�L) � +;: ���/) � j)4) � �rG# 12(A.�!+10 < ���/'$+#)~�LCE�H)]�(�� #2 { � �) }S"Y�(�� #2�2D}!� � +;+��V�4�D)@),+��%�� c"%+ �P�LC@+10 � 5

< 8 � R0�+1C@�E+1�r�4��'F)E�K���LC XO�E+c) � )��W�/�K 1'�) � �K'��� 1�3�(2D}=���o"Y2(�K�r��'F)�) � ��0�A$'$�5)]�(+�'+1'&�!+��N)@�K+��o"YAS),�LCE�W #�@0M+12�2�+ �n��5!BA."$"%+��V�r) � �(�@+#C,:`�3��?L� 8 � { =��3�3A$�r�r) � j) # �$),�~�('*),+ �3��'.�F2D� �W+1CE: {; �DC,�N)@�cA$2H),�("Y2D} # �*} ) � � � ' �Y�H)i��'F)E�K�1�KC 7M� � ��� 8 { % � �_C3�K�3A$2D)i�(�m ��� ' �Y�D)G# #2�A.� �� � � � ��� � �LC3� � � ���l) � � � �D� � +1CE:.�KC��W+1CE:!+10a) � �n"$C,+;:$A$�5)@ #'$: � ����) � �p2(+ ��+1CE:.�KC�W+1CE: +10�) � �r"$CE+B:$A$�5) { % � �r:.���3�DCE�K:&X�' �Y�H) � 1� � G# 12(A.�!�L+�'$�3���N),��+10�) � �/X�r+��N)@�3�(��'$� ���K 1'*)��Y�D),�@+10 �� {

� � +#C��B��"$C, 1�5),���K 12�2H}��n�D) � #'*}^G# #2�A.� +10W� I��YAS)��W+1C��S���%��)E)E�LC��n�H) � �3+��r�G# #2�A.�K�l) � 1'r) � ��+#) � �KCE� { % � �p+1".),���! 12$� � +��(�L��:.�K"���'$:$� +�'r) � �p� � #C, 1��)E�LC�'�(�N)]�(�K�P+10�) � �4:Y j)] ������('.� � #� � �K: { � 'BAS) � CE�K�L+��!�r�K'$:$�

��� � � b �� 8 % ��� �� %"!#!"$ " &%�� � � 6 qp+�2(:.��'�>m j),��+ 7

�('��)'�� *��k�����,+yKxYt.-Ox$��k�M�0/% � �(� �('*GF+�2DGF�K��� � +;+��3��'.� � 1� � 0MA$'$�5),��+�'oC] #'$:$+��!2D}[��'= ��@ �}-) � j)P�����('$:.�K"���' ':.�K'*)p+10 ) � �1�1�L}S��) � j)p #C3�- 1�5)]AY #2�2D}��F+��('.�!),+2���-�N)]+#CE�K: { � �-�V��2D���5)�) � � � #� �0�A$'$�5)]�(+�'� j)iC, 1'$:$+�� 0wCE+�� c�K #C3�L0MA$2(2D}f:.�K�3�(�F'.�K:��L2 1�3�@+#0�0�A$'$��),��+1'$� {�43J�L)657�%�i 98�'$�D)E� �K+12�2(�K�5)]�(+�'/+10 � 1� � 0�A$'$��),��+1'$�) � j) � #" n�F�HGF��'�A$'$�DGF�LCE�V�# +10:�1�L}S�@��'F),+-) � �_C, 1'.���<; %>= � = � = � � � =3< b �@?;{�A5 ���~�� 12(2(�K: sk�k�w���&+y�xYt �(0W0�+1C��� #� � "� #�(C +#0@:$���N),��'$�5)B���L}S�1CD=�E F~Ik) � �';A$�<�%�LC~+#0 � 1� � 0�A$'$�5)]�(+�'$�HG 5 0�+1C�� � ��� � G 6 C 7 8 G 6 E 7 ��� "$C3�K�K�(�3�K2D}�'&;AY 12%),+ I 5 I

<

Page 58: Data Structure and Algorithm by Y. Narahari

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

� � �H) � ?0�A$'$�5)]�(+�'gC, 1'$:$+��r2D} � � +��V��' 0wCE+�� 5�I ) � �&� � #'$�L�=+10n \�L+�2(2����3�(+�'���L) �W�L�K' C 1'$: E � � �LC3� C �8 E=���W�5�$ 1��),2H} �� {

� �$ 1�r"Y2D�p+10U cA$'$�DGF�LCE�E 12a�K2� 1�3�@+10 � #� � 0MA$'$�5),��+�'$��53J�L)o) �Y2(�O�3��?L��< �%�O"$CE�(�r� {�� �K�K+��o"Z+��V� ����} C���'F),+ ��� � �;};)E��� { 6 � { � { I� � jC] #��)E�LC,� +1C�8.�S�K: ' �n��:S) � �Y�('Y #CV}f�N)EC,�('.�F� 7 { % � A$�

C 8 6 C =�C � = � � � = C� 7=��E�3A$�r��) � )@) � ���! �$�(�-A$� G# 12(A.�4+10 <�;};)E�p)]+��%��2(�K�3�W) � 1'�< {3���)� 8 6 =� � = � � � =� � 7 :.��'$+#)E�` �V�'&BA.�K'$�L�`+#0 ��� � ��2D���o��'F),�=� � +��V��'C, 1'$:$+��r2D}[0wCE+�� ) � ���V��) ; %>= � = � � � =E< b ��?;{�� � 8�'.�_ � #� � 0�A$'$�5),��+�' G�� 75 �*}

G�� 6 C 7 8 �(� 0 � C � �!+;:f<� �H) � ) � ���@:.� 8�'$�D),�(+�'JI 5 8�� � ;"G�� ? �K 1' �%�/� � +��n' ),+<�%�/A$'$�DGF�LCE�E 12 {�� +#)E�p) � j)�H) � 1�W< ��� � �r�K�����KCE� {

��� � �����! $����� �#"%$&� � ��')( *+��� ������,3�+F 1:�0M 1�5),+1C.-

-�/8 0< 8 1 +#0���2D���o��'F),�W�N),+1C3��:f) � �p)] �Y2D�),+#)] 12 1 +10k�K2(�K�r�K'*),� ��'�) � �_)] �Y2(�

=��3�EA$�o�_A$'$�(0�+1CE� � 1� � ��'.� { d '=) � �(�@�3� � �K�r��IB) � �4"$CE+#�%�4�V�'&BA.�K'$���2 G 6 # = % 7 = � � � = G 6 # =E< b � 7#3

0�+1CP�� #� � ����} # ���@�'&;AY 12�2H}f2�� ����2H}!),+H���� 1'*}f"��KCE�-AS)] j),��+�' +#02 % = � = � � � =E< b � 3

�('54('76 8 �*�skt �96;:�*&���s�vFvF�*�=< skt.>��*x +yvj�� % � �_�5�S"%�K��)E�K:�'BA$�<���KCW+10�"$CE+#�%�K�i��'& 1'�A$'$�3A$�L�L�K�3�30�A$2��V�� #CE� �@? ��!ACB

Page 59: Data Structure and Algorithm by Y. Narahari

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

� +y J < : d ' 1'`A$'$�3A$�K�����3�V0�A$2��V�� jC,� � IQ�LGF�LCV}\"$CE+#��� �YAS)/) � �!2� 1�N) #�K�����3�V�K� #' +;�K�LA."Y�(�K: �E2(+#)~) � j)~:$+*��� '$+j)[�L+�'*)] 1�('^) � �!:.���3�(C3�K: �1�L} 1'$: ) � � 2 #�V)�32(+#)@"$CE+#����:��(�W�K�r".) } {3J�L)�) � �9C, 1'$:$+��zG# #CE� �Y2D��� :.��'$+#)E� ) � �9'BA$�<���KC�+10B+B�L�LA."Y�(�K:/�32(+#),��"$CE+#����:���K0�+1C3� � �D)3),��'.�r 1'��K�r".) }=�32(+#) { � �� 1'&)] �1�4G# #2�A.�K� %>= � = � � � = 0 { d )����i�� 1�N}),+f�V�K�[) � j)�) � �[�5�S"%�K��)E�K:\';A$�����KC�+109"$CE+#�����_�('^ 1' A$'$�3A$�K�����3�V0�A$2U�3�� #CE� ��(� � ���� �� {X � 8 " ;~���$ 1�5)]2H} ��"$CE+#�%�K�i 1�L�����3�i+;�K�LA."Y�(�K:��32�+#),� ? =30M+#C�� 8 % = � = � = � � �0�+1C�� 3 0 = X � 8 %o�3�('$�L� �P�/�� 1'28�'$:O j)n�!+1�V) 0 +;�K�LA."Y�(�K:��32�+j)]� {% � A$�P) � �4���S"%�K�5),�K:&';A$�<�%�LC@+10k"$CE+#�����

8 � � �(� 0 ��X � 6�� 7

% +-��G# 12�AY j)E� 6�� 7 I.:.� 8�'.�� � 8 " ;j j)m2(�� 1�N)���"$CE+#�����m #�K�����3�i+;�K�LA."Y�(�K:&�32(+#),� ?

#'$:&A$�V�_) � �/�(:.��'F),�D) }65�(� 0 ��X � 8 �(� 0 � � �

% +c�L+��r"YAS)E� � � I �W�_"$CE+;�L�L�K:O 1�W0�+�2(2�+ �n��5� � 8 0<

�3�('$�L�/) � �~"$C,+ �� �Y��2(�D) } ) � j)n) � �B8YCE�N)�"$CE+#���- 1�L�L�K�3�V���� 1' +B�L�KA."Y�D��:?�32�+#)����0�� < {� �H) � A$'$�(0�+1CE� � 1� � ��'.�YI ��V�K�K+�'$:^"$CE+#����I��(0 '.�K�L�K�3�, jC3}�I�(�p)]+�+�'.�c+10l) � �C3�K� 1�('$��'.� < b � A$'."$CE+#�%�K:&�32(+#),�KI 0 b � +100� � ��� � #C3�4+B�L�LA."Y�(�K: { % � A$�

��� 8 � 0< � � 0 b �< b � ��3�('$�L� �W��� �1�n ~�V���L+�'$:!"$CE+#�%��+�'$2H}!�D0J) � � 8YCE�V) "$CE+#���� #�K�����3�V�K�W 1' +;�L�KA '"Y�D��:��32�+#) {

Page 60: Data Structure and Algorithm by Y. Narahari

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

d '&���K'.�LC] #2 I� � 8 � 0< � � 0 b �< b � ������� � 0 b � � �< b � � � �

? � 0< � � 8 - � �3��'$��� 0 b 4< b 4 ? 0<

% � A$�P) � �4���S"%�K�5),�K:&';A$�<�%�LC@+10k"$CE+#�����W��'O 1'�A$'$�3A$�K�����3�V0�A$2Q�V�� #CE� �8 � � �(� 0�� ��X �? � � - � - � � �����8 �� b -

�?d 'F)]A$�H),�DGF�pd 'F)E�KC3"$C3�L)] j),�(+�'f+10Q) � �/ �Z+�GF� 5� '.�@"$CE+#���i���9 12 �@ �}.� � 1:.�1I�n�H) � "$CE+#�� �Y�(2��H) }~ #"$"$CE+��$�(� j)E��2H} -\ _�V�K�K+�'$:"$CE+#���r�(��'.�L�K:.��:JI �n�D) � "$CE+#�� �Y�(2��H) }? #"$"$CE+��.��� j)E�K2D}�- � �) � �(CE:^"$CE+#���!���'.�L�K:.��:JIY 1'$:��3+o+�' {

�('54(' 8 �*�skt �� : ����K�&+��y�w %��?d '$�V�KCV),��+1'�+10k 1'&�K2(�K�r��'F)@C3�'&BA$�DC3���W j)m�!+��N) ��!ACB "$CE+#�%�K�i+�'O �GF�LC, #��� {���9CE+;+10*����+#�*G.�(+�A$�)�%�K�K 1A$�V����'$�V�LCV)]�('.�i .�1�L}�CE�'&;A$�(C3���J #'/A$'$�3A$�L�L�K�3�V0MA$21�3�� #CE� �0�+�2(2�+ �P��: �*}� c"Y2 #�L�K�r�K'*)W+10Q) � � ����}=��'�) � � 8YCE�N)i���o".) }f�32�+j)i0�+�A$'$: {

�('54('�� 8 �*�skt ��� : >s�vFvF�*K < skt >��;x +yvj�� % � �_�5�S"%�K��)E�K:�'BA$�<���KCW+10�"$CE+#�%�K�i��'& o�3A$�L�L�K�3�30�A$2��V�� #CE� � ���m j)i�!+��N)

�- 2�' �� b - � �- #�E�3A$�!�('.�&) � j)��� 1� � ����}`�('`) � �r)] �Y2D�!���/��&;AY 12(2D} 2(� ���K2D} ),+ �%�f�V�� jC,� � ��:0�+1C {= �V�� #CE� � 0M+#Ci <���L} # 0�+�2�2(+ �n��) � �_�E 1�r��"$C,+ �%�_�V�'&BA.�K'$�L�/ #�.�i #�P0�+�2�2(+ �W�K:� � �K' ) � �@��2D���o��'F)��n�D) � ���L} # �@ 1� ��'$�V�LC3)E�K: { % � A$�LI��(0 # �@ 1�k) � � 6 � � � 7 ) �

Page 61: Data Structure and Algorithm by Y. Narahari

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

�1�L}c�('$�3�LCV)E��:o��'F)]+p) � � � 1� � )] �Y2(�1I1) � �n�5�S"%�K��)E�K:!'BA$�<���KC9+10Z"$CE+#�%�K�l� 1:.��('� c�3�� #CE� � 0M+#C # �(�m j)m�!+��N)

�� b ��8 << b �

=mGF�LC] j�F��'.�-+�GF�LCm 12(2a) � � 0 ����}.�i�('�) � � � 1� � )] �Y2(�_�F�HGF�K�iA$�W) � �4�5�."����5)E��:1 +10Q"$C,+ �%�K�i��'O -�3A$�K�����3�V0�A$2�V�� #CE� � 5

�0�A �(� 0

<< b � 8 <

0�A �(� 0 �< b �

8 �- 6�� � b � � A �7

� � �LC3�� � 8

�(2 0 � �4 ���W) � � ��� ,�� #CE�!+1'$����';A$�<�%�LC �#n�3��'.�-) � � �P�K2�2(�S'$+ �n'2�Z+�A$'$:$�LI

2�' � ? � � ? 2�'�� � � =�P�4+#�.)] 1�('

�- 6�� � b � � A �7 ? �- � 2�'W< � � b 2�' 6 < b 0 7 8 �- 2(' <

< b 0� �-

8 �- 2(' �� b - � �-�('54('� 8 �*�skt �� :/���;t������� ��� � �S"%�K�5),�K: 1 +10k"$CE+#�����W��'O c:.��2D�L),��+1'

? �- 2�' �� b - � �-�9CE+;+10��(�i+#�*G.�(+�A$�W�3��'$���/:.��2D�L),�(+�'& #2 �@ �}S��0M+12�2�+ �n�W c�3A$�L�L�K�3�30�A$2��V�� #CE� � {

Page 62: Data Structure and Algorithm by Y. Narahari

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

Load Factor a

Cost ofOperation

cost of insertion

<= 1____1-a

cost of deletion

<= 1_a

ln 1____

1-a + 1_a

��������� � � ��� ������������������������ !��"���#%$&��"�$��!���; �(��A.CE� ! { ![:.�L"Y���5)]� ) � �_"��KC30�+1CE� 1'$���p+#0k�K2(+��V��: � 1� � ��'.�c0�+1Ci #2�2%) � �_0�+�A.Ci+1"��KC�' j),�(+�'$�W:$�(�E�LA$�3�V��:O �Z+�GF� {�(' *+����� ) �+* � ' ,�' � �.- ��� ���/- ����,� ��� �K'[ � 1� � )] �Y2D� � 1�k �2� #C3����';A$�<�%�LC�+10S��'F)EC,�D��� 6 �(� { I 2(��)UA$�k�E �} 010 � <�('-+1"%�K' � 1� � )] �Y2D�W+#C 010 % � $#< ��'-�K2(+��V��: � 1� � )] �Y2(� 7 Ij) � �i �GF�LC, #���l),���r�0�+1C +1"��KC, j),��+1'$� �K 1'��%�K�K+��o� &BA$�H)E�@�3A �Y�N) #'*),� #2 { d 'r�3A$� � �K 1�V�K�KI*+�'.�i�(:.�� 4���),+o�E�(�r"Y2D}���C3�� j)E�� !'.� � � 1� � ) �Y2(� �n�D) � �!+1C3�/';A$�����KC@+10 �YA$� ���L),� 6 �E �}) �n�����_+1Cm #'*}� #"$"$CE+1"$CE�� j)E�p2 jCE�1�_'BA$�<���KC 7 {

�?d 'r�3A$� � /�K 1�V��I�) � �m�KA.C3C3�K'*),2D} ���.���N),��'.�_�K2(�K�r�K'*),� �n�(2�2 � �GF�@),+ �%�n�('$�3�LCV)E��:�('*),+ ) � �/'.� � ) �Y2(� { % � ���i�! �}!�� #2�2a0�+1CB CE� � 1� � ��'.�o+10U #2�2%) � ���V� ����}fG# 12�A.�K�B ),C, 1'$�V0w�LCECE�('.�c 12�2%) � �4C3���L+1CE:$�

% � �(���32a+1CV)B�n��2�2 �%�f2(�K�3��) � 1' �D)~),+;+#� ),+ ��'$�V�LCV)~) � ��� �('*),+&) � � +1CE�D�F��'Y 12)] �Y2D� {

Page 63: Data Structure and Algorithm by Y. Narahari

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

�"!BA �Y�V�'&BA.�K'F)i:$���5),��+�'Y jC3}r+1"��KC, j),��+1'$� �n�(2�2 ���/�!+1C3����� �L�(�K'F)m 1'$:=�� #'&�!+1C3�) � 1'�� ����A."�0�+1CW) � �/+�GF�KC � �� 1:=��'&��C3�� )]�('.�[) � �/2� #C3���KC�)] �Y2(� {

��� ��� � � ��� ���8 ��� ' � �(2�2(� 1� ��A.� � { !,�B�(" 3���N),��5 = "$CE+#�� �Y�(2��(�V),�(�� 12H),�LCE'Y j),�DGF�=),+ �� 12� 1'$����:

)EC3�L��� {���������������� �"!#������$%�'&(!#)+*%,-�/. I+0�+�2�A$�o� !"!.I � A$�<�%�LC � I."$" { �"�# '� % � I � $"$ % {�"!,�B�("o2��(�N)]� A$�V�i"$C,+ �� �Y��2(���N),��� �� 12 1'$�L��'.��C] ) � �LCU) � #'r�N)EC,�(��),2H}~�K'.0�+1CE�L�K:H�� #2 ' #'$�K�('.� {

�A=�2D) � +�A.� � � �S�D" 2(���N),� � �G�� �� 1: �W+1CE�N) ' �� #�3� "��KC30�+1CE� 1'$����IP'$+ ��'."YAS)��V� '&;A.�K'$�L�~�K+�'$�3�(�V)E�K'*),2H}f"$C,+;:$A$�����i) � ���W+1CE�N) ' �� 1�V�4"%�LC30�+1CE� 1'$��� 6 2(� ��� &;A$��� � '�3+1CV) 7 {

�?d )��(�9GF�KCV}-A$'$2(� ���K2D}~) � ) /� �B�(" 2(���N) �n�(2�2 �����3�D�F'$� 8��K 1'F)]2H}[A$'&�� 12 #'$�L�K: { ; +#C�5�$ 1�r"Y2(�1I#�('c p:$���5)]�(+�'Y #CV}�+10��!+1C3�l) � #' � � %��K2(�K�r��'F),�LIj) � �@� � 1'$���@�(� ) � j) -�V�� jC,� � �n��2(2%)] ���4�!+1C3��) � 1' ![),�(�r����) � �/�5�S"%�K��)E�K:=),���r� ? � % A21 {

�"!,�B�("&2��(�V),� � �G�� �� 12 1'$���p"$CE+1"��KCV),�(�K�W�3���r��2 jC�),+[) � j)m+10k�V�� #CE� � )EC3�L�����YA$�(2D)�*}fC, 1'$:$+�� �('$�3�LCV),��+�'$�LIB}F��)m:$+r'$+j)iC3��&;A$�(C3�_�('$�3�LCV),��+�'$��)]+��%�/C, 1'$:$+�� {3 6 7 9 12 17

26 25 21 19

���������� � �4365 "������� 87� !���49���# ��!";:

< +�'$�3�(:.�KC� =�3�('.�F2D} 2(��' ���K: 2��(�V)_ 1�p�(' ; �(�FA.C3��! {8=Y{ � �-�!�D� � )�'.�L��:?)]+ �5�Y #�!��'.���GF�LC3}='$+;:.�4+10�) � �42��(�N)�� � ��'&�3�� #CE� � �('.�r -�3��'.�F2H}=2��(' ����:�2��(�V) {

Page 64: Data Structure and Algorithm by Y. Narahari

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

; �(��A.CE��! { � ���9 p�E+#C3)E�K:[2��(�V)�� � �LC3�W��GF�KCV}~+#) � �KC '$+;:.� � 1� 1'c 1:$:$�D),�(+�'Y 12F"Z+��('*)E�LCKI),+c) � ��'$+B:.�/) �W+r � �� 1:O+#0 �H)n��'&) � ��2����N) { � �KC3� �W� � �GF�_),+r���$ 1�!�('.�4'$+!�!+1C3�) � 1'�� � ��� � � '$+;:.��� {6

3 79

1217

1921

2526

���!������ � � 3��� ��;7 � : $��� �� #�� $���" ��� ��#�#�� :��������� � ���!��:���

63 7

912

1719 25

2621

���!������ � � 3�� � ��#7%"���������# �� #���$&��" �� ������:��� :�� ����$� ��# ����� :

d '�) � ��2��(�N)�+#0 ; �(��A.CE��! {�� IY��GF�LCV}��V�K�K+�'$: '$+;:.� � 1�n r"%+���'F)E�KC@) �@+r � �� #:O+109�H)����GF�LC3}!0M+1A.C3) � '$+;:.� � 1�i ["Z+��('*)E�LCP0�+�A.C@ � �� #:��D0��D) { � �KC3� �P�_'.�L��:=)]+[�5�Y #�!��'.�'$+c�!+1C3��) � 1'�� � � � � � '$+;:.��� {d ' ; �D�FA.C3�9! { % I 6 ��GF�KCV} 6 � � 7 � , '$+B:.� � 1�9 �"%+���'F)E�KC 6 � � 7 '$+B:.�@ � �� #: 6 � 8 � = � = � � � 7 �) � �K'o) � ��';A$�<�%�LC�+10J'$+;:.����),+B�����5�$ 1�!��'.�K:r�K 1' ����C3�K:$A$�L�K:r),+���2�+1� � 0 � � � ��2(�+�'$2H}=:$+�A �Y2��('.�[) � �4';A$�<�%�LC@+10k"%+���'F)E�KCE� {

63 7

912

1719 25

2621

���������� � � 3��� ��#7�� ��������� ��� #� $���" �� ���!��:��� :�� � ��� #�� � �!�"� ��� #���" ��$�����#��$#&% �('e�)'+*,*-*.�

�A= '$+;:.�~) � j) � 1� # 0�+1C �i jC,:�"Z+��('*)E�LC,�n������ #2�2(�K:? 0/ *21 * / # '$+;:.� { de09��GF�LCV}6 � � 7 � , '$+B:.� � 1�m ["Z+1��'F),�LC 6 � � 7 '$+;:.���m � �� 1:JIB) � �K'

Page 65: Data Structure and Algorithm by Y. Narahari

�������������� ����������������������� �'�

3 79

1217

19

6

21

25

26

��������� � � 365 " 93�-% !��";:

1 +10�2(��GF��2 � '$+B:.�K� � %��1 +10�2(��GF��2 � '$+B:.�K� � � �1 +10�2(��GF��2 !c'$+B:.�K� � � { � �

�"!BA$� � \:Y j)] �N)ECEA$��),A.C3�=�� 1' ����A$�V�K: 0�+1C-0M 1�N)c�V�� jC,� � ��'.�A�YAS)o�('$�3�LCV),��+�'$� #'$:r:.�K2(��)]�(+�'$� �n�(2�2 �%�n�5�S)EC3���o��2H} �LA$�<�%�LC,�3+��o��I��3��'$���m2(��GF�K2���+#0J'$+B:.�K� �n��2(2� �GF��)]+c� � 1'.�1� {

� ��� ) �W+�A$2(: � #"$"%�K' �(0U) � �~2(��GF�K2��m+10 '$+B:.�K� �P�LCE�/C, 1'$:$+��!2H}=� � +��V�K'��YAS)�('=) � �/�E 1�r�p"$CE+1"%+1CV)]�(+�'$� 6 ; �D�FA.C3��! { 7 B 2(��GF��2J+10k o'$+;:.���(�@� � +��V�K'&C, 1'$:$+��!2H} � � �K'�) � �/'$+B:.�/�(�@��'$�V�LC3)E�K:B = '$+B:.� < � � � , "Z+��('*)E�LC�I ��'$�N)E�� 1: +#0n"%+���'F),��'.�?)]+^ \'$+B:.�=) � j)c��� � � A �'$+B:.�K�m � �� 1:JI."Z+��('*),�P),+[) � �4'.�5�B)n'$+B:.�/+10k2D�LG���2 �l+1C � �(� � �LC {

B d ' ) � �(���K 1�V��IJ��'$�V�LCV)]�(+�'$�n 1'$:\:.�K2(��),��+�'$�9�n��2(2�'$+#)p� � 1'.���~) � �[2D�LG���2k+10 1'*}='$+;:.� {

B !B+��r�� #C3C, 1'.���K�r��'F),� +#02D�LG���2(� �W+�A$2(:r�F�DG��n"%+B+#C �5�S���LAS),��+�'o),�(�r���6�YAS)�D)m�K 1' ����� � + �n'=) � j)i�EA$� � #C3C, 1'.���K�r��'F),� #C3�_C] jCE� {!BA$� � o2(��' ���K:�C3�L"$C3���V�K'*)] j),��+1' ���i�K 12�2D��:& c� �B�("O2(���N) {

� � #� � �K2(�K�r��'F)-�(�cC3�L"$CE�K�V��'F)E��: �;} ^'$+B:.�f) � �&2D�LG���2P+109� � ��� � �(�o� � +��V��'C, 1'$:$+1�!2D} � � ��'\) � �c'$+B:.�o���4�('$�3�LCV)E��:JI(�n�D) � +�AS)_C3�L�* #CE: 0�+1Cp) � �c'BA$�<���KC+#0���2D���o��'F),�P�('�) � ��:Y ) [�N)ECEA$��),A.C3� {

�A= 2D�LGF�K2 �@'$+;:.� � 1� �P0M+#C��@ #CE:O"Z+��('*)E�LCE�KIZ�('$:.���S�K: � ) � CE+�A.� � � { % � �KC3�-���'$+c'.�L��:�),+c�N)]+#CE�p) � �/2(��GF�K2a+10 -'$+B:.�/��'=) � �4'$+;:.� {� | �.2(��GF�K2a���P) � �/� �.���-A$� 'BA$�<�%�LC@+#0U2(��GF��2(�W�('O o'$+;:.� {

B 3���GF��2J+10 -2��(�N) 8 | y�$2D�LGF�K2B 3���GF��2J+10k�K�r".) } 2��(�N) 8 �B 3���GF��2J+10 � �� 1:.�LC 8 | �$2D�LG���2

Page 66: Data Structure and Algorithm by Y. Narahari

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

�('��('76 ���k� �y�wxYtM���FxS���� �� :

=�'`�K2(�K�r�K'*) � d 3 ���� 12�2(+B�K j)E��:^ 1'$: �F�DGF�K' ����}\��C3�� j)E�KCp) � 1' 1'F} 2D�K�F 12 �1�L} {=�2�2U2(��GF�K2��p+10 #2�2U2��(�V),�4 #C3� )E�LC,�r��'Y j)E�K: �n�H) � � d 3 { = '.� � 2(���N)4���_�('$�D),� #2���?L�K:?�3+) � j)U) � �@2D�LGF�K2.+10�2��(�N) 8 � �.2(��GF�K2B #'$:o #2�2S0�+1C �@ #CE:~"Z+��('*)E�LCE� +#0�) � �@2(���N)�< � � �� 1:.�KC"%+���'F)W),+ � d 3� ��� �����

� �4�V�� #CE� � 0�+1C@ 1'=�K2(�K�r�K'*).�*} ),C, �GF�LCE�E�('.�~0�+1C �@ #CE:f"%+���'F)E�KCE�l) � j)i:$+c'$+#)i+�GF�LC�'� � +;+#)@) � �/'$+B:.���K+1'*)] 1�('$��'.� ) � �4��2D���r�K'F)��%�K��'.�r�V�� #CE� � �K:&0�+1C { ��� �K'�'$+!�!+1C3�"$CE+1��C3�K�3���K 1' ���o�! 1:.�- j)p) � �-�LA.C3CE�K'F)_2(��GF�K2k+10�0�+1C �@ #CE: "%+���'F)E�KCE�LI%) � �-�3�� #CE� ��!+�GF�K��:$+ �n'�),+n) � �P'.���B) 2(��GF�K2 { ��� ��'��P�P�� 1'[�! ����'$+p�!+#CE�l"$CE+1�1CE�K�3�U j) 2(��GF�K2� I �P�[�-A$�N) ���-���!�o��:$�� j)E��2H}f��' 0wC,+1'*)�+10 ) � �['$+;:.� ) � j)��K+�'F)] 1��'$�i) � �[:.�K�E�DC3��:�K2(�K�r�K'*) 6 �(0k�H)m���i�('=) � �/2����N) 7 {� � � �� ������� � �� � ��+����� ���

�?d '$�V�KCV),��+1'& 1'$:&:.��2D�L),��+1'& #C3�p) � CE+�A.� � �V�� #CE� � 1'$:��V"Y2��(�L�� A."%:Y j)E� � � %�K+1'*)] 1�('$�� /"%+���'F)E�KC )]+_) � �mC,�D� � )]�r+��N)9'$+;:.�n+10J2(��GF�K2 �k+1C � �(� � �KC) � j)@���W),+[) � �/2D�K0�)i+#0�) � �42(+B�K j),��+1'�+10���'$�V�KCV),��+1'�+1C@:.��2D�L),��+1' {

�?de0� 1' �('$�3�LCV),��+�'c����'.�LC, j)E���� �'$+;:.� �n�H) � �2(��GF�K2��1CE�� j)E�LC ) � 1'o) � �n"$CE��GS��+�A$��! �$�(�-A$� 2(��GF��2 ID�W�!A."Z:Y j)E�r) � �!�! �$�(�-A$� 2D�LG���2l #'$: �('$�D),� 12(��?L�o #"$"$CE+ '"$CE�� j)E�p"Z+1CV),��+1'$�W+10kA."%:Y j)E�/2����N) {

�A=n0�),�LC _:.��2D�L),��+1'JI�W�W� � �K� ��),+_�V�K�@�(0 �P� � �GF�W:.��2D�L)E�K: ) � �W� �.���-A$� 2(��GF�K2�K2(�K�r�K'*)W+10Q) � �/2��(�N)n 1'$:&�D0U�3+$I$:.����C3�� 1�V�p) � �/� �.���-A$� 2(��GF��2J+10) � �/2(���N) {

� ; �D�FA.C3� ! { $_"$C,+�GS��:.�K�� 1'r�5�Y #�r"Y2(�m+10�d '$�V�KCV)W 1'$: � �K2(��)E� { % � �m"Y�3�KA$:$+;�K+;:.�0�+1C@d '$�V�LCV)� 1'$: � �K2(��)E�4���i� � + �n' �%�K2�+ � {�� �������������������� �� ��������"!# �$&%�'

(*),+ ��������-.�" ��#/" ���'021 �3��� + ���4���5-6�7 �8# ��9'&�;:=<�'>��?@? % (

A �&�4�7 @�2BC- 021 � A ����/ED �GFH-I!# �$KJL�� ��������"!# �$&%

Page 67: Data Structure and Algorithm by Y. Narahari

�������������� ����������������������� � �)>+ ) - 0 1 � A ����/ D �GF '

)>+ ) - 0 1 � A ����/ D �GF '� 0 � ) - !# �$ + �� ��������"!# �$"% �� ����"�����2�����" % ����� �� ����"��� 0 �#���� #'

3 79

12

6

3 79

12

6

19 21

25

26

This is where 17 is to be inserted

NIL

This is where 17 is to be inserted

1719 21 26

3 79

12

6

This is where 17 is to be inserted

25

17

19 21 26

25

��������� � � 365 " 93�-% !��";:���&�� ����*�����������&�� ��������"!# �$&%�'(*),+ ��������-6�" ��#/" ��*'021 �3��� + ���4���5-6�7 �8# ��9'&�;:=<�' � ?@? % (

A �&�4�7 @� ) - 0 1 � A ����/ED �7FE- !# �$ J �� ��������&!# �$"%)>+ ) - 0 1 � A ����/ D �GF '

��� /&���� D �GF + )�

Page 68: Data Structure and Algorithm by Y. Narahari

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

)>+ ) - 0 1 � A ����/ DG< F '� 0 � ) - !# �$ + �� ��������"!# �$"% �� ����"��� ����!# �$ �#�7�� ��#/"$ �&�� ��� � ��� % ����� (

�" A�� �8# �� + ��� �&/ 1�� � �8# �� � %�'� 0 �" A�� �8# ���L��������-6�7 �8# �� (

021 �3��� + ���4���5-6�7 �8# ��� <�' � � �" A�� �8# ��9' ���=%��� /&���� D �GF + �������5- �" ��#/& ���'

)>+ � ��!# � 1 /" � �" A�� �8# ��9� �� ��������"!# �$&%�'021 �3��� + <�� ��� �" A�� �8# ��9'&���*% (

) - 021 � A ����/ED �GF + ��� /&���� D �GFH- 0 1 � A ����/ED �7F '��� /&���� D �GFH- 0 1 � A ����/ED �7F + )

� �

/" ��7 ��� �����������"�� ��������"!# �$&%�'(*),+ ��������-.�" ��#/" ��*'021 �3��� + ���4���5-6�7 �8# ��9'&�;:=<�' � ? % (

A �&�4�7 @� ) - 0 1 � A ����/ED �7FE- !# �$ J �� ��������&!# �$"%)>+ ) - 0 1 � A ����/ D �GF '

��� /&���� D �GF + )�

)>+ ) - 0 1 � A ����/ DG< F '� 0 � ) - !# �$ + �� ��������"!# �$"% (

021 �3��� + <�' ���L�������5- �� �8# ��9'&���*% (

� 0 � ��� /&���� D �GF - 021 � A ����/ED �GF��+ ) %� �� ���! '

� 0 � ��� /&���� D �GF - 021 � A ����/ED �GF + ) - 021 � A ����/ED �GF '�

0 �� � � ) %

Page 69: Data Structure and Algorithm by Y. Narahari

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

� �&���7 @���;���4���5- < %������������� - �" ��#/" �� - 0 1 � A ����/ D �4����� �7 �8# ��7F +���� � %�%

��������-.�7 �8# �� + �4�����5- �7 �8# ��� <

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

d 'O -���B�("Y2(���N)m+10�� � �K2(�K�r�K'*),�LI,�P�/� �} � �GF��4$[�K2(�K�r��'F),�@ j)i2(��GF��2���4![�K2(�K�r��'F),�@ j)i2(��GF��2 ��4![�K2(�K�r��'F),�@ j)i2(��GF��2 !�����K2(�K�r��'F)m )m2(��GF�K2 �� � '.�/���o"Z+1CV)] 1'F) &BA.�K�N)]�(+�'&�(��5 �� �LC3�[:$+ �W� �V)] #CV)�+�A.Cp�V�� #CE� � =�'Y 12D}S�3���n� � +��n� �W� � � +1A$2�:?�V)] #CV)�0wC,+1�2D�LG���2"! 6 0 7 � � �LC3� ! 6 0 7 8 2�+1� � 0d '&���K'.�LC] #2a�(0�XO���W) � �_"$CE+#�� �Y��2(�D) }!0wC, 1��),�(+�'JI

! 6 0 7 8 2�+#��#$ 0� � �LC3�4X �(�p) � �o0wC] #��),��+1'^+10l) � �!'$+;:.��� �n�D) � 2D�LGF�K2��m"%+���'F)E�KCE� � � ��� � 12��3+� �GF�p2(��GF��2 6 � � � 7 "Z+��('*)E�LC,� {

� � + �W��GF�LC�IY�N)] #CV)]�('.� j)n) � � � �(� � ���N)�2(��GF�K2�:$+;�K��'$+j)p #2D)E�KCi) � � ��� �L�(�K'$��}���' -�3�(�F'$� 8��� #'*).�i �} {

�A=�'$+#) � �KCW���r"%+1CV)] 1'*) &;A.���N),��+1'f),+o 1� ���(��5 �� )m� � +�A$2�: �%� | � 3���GF�K2 = �F+;+B:�� � +������4���

% &C&!('*)�'+ 8 ! 6�, 798 2(+1��#$ ,� � �LC3� , ���m 1'�A."$"%�LC��Z+�A$'$:�+1'�) � �4'BA$�<�%�LC@+#0k��2D���r�K'F)]� ���m -� �S�D"Y2��(�V) {

Page 70: Data Structure and Algorithm by Y. Narahari

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

� < +1�r"Y2(�5�$�H) }/+10Z�3�� #CE� � IF:.�K2(��),�1IF��'$�V�LC3)���� :$+��!��'Y ),�K:1�*}[) � �@),�(�r�WC3�'&BA$�DCE�K:),+-�V�� jC,� � 0�+1C�) � �/ #"$"$CE+1"$CE� j)E�n��2D���r�K'F) { % � �(�@��' ),A.C,'=���P"$C,+#"Z+1CV),��+�'Y #2Y),+) � �o2(�K'.�1) � +10l) � �r�V�� #CE� � "� j) � { % � �(�/�(�4:.�L)E�LC,�r��'.�K: �*} ) � �r"� )E)E�LCE'^��'� � �(� � ��2D���r�K'F)]� �n�D) � :$��2Z�LC3��'F)i2D�LGF�K2��@ #"$"%�� #Cm 1���P�p)EC, �G��KCE�V��) � �/2����N) {

�?d '$�V�KCV)~ 1'$: :.�K2(��)E�r�('*G*+12DGF�o 1:$:$�H)]�(+�'Y 12k�L+��N)/"$C,+#"Z+1CV),��+�'Y #2Q)]+=) � �o2(��GF�K29+10) � �4'$+;:.� �%�K��'.�o��'$�V�KCV)E�K:&+1Ci:.�K2(��)E��: {

�('��('76 �=��xYt�����wr ;<����Qu9�*v1���;�+>��*x +yvj���~ ��� �r 1'Y 12H} ?L�[) � �o�V�� jC,� � "� j) � �� 1� �&�@ #CE:$�KIZ)EC, �G���2(��'.�=A." 1'$:\),+=) � �o2(�L0w) { �"$C3��),�K'$:� 1�Q�D0B) � ��2(��GF�K2�+10Y i'$+;:.�����D�����('.�n:.�L)E�LC,�r��'.�K:/+1'$2D} � � �K'~�H)k�(�Q+#�Y�V�LC3G���:� � �(2(� �� 1� �;)EC, 1� �B��'.� ) � �4�V�� jC,� � "� j) � {� { ; CE+�� 2(��GF�K2��#I>�W�4CE���V�p),+c2(��GF��2 ! 6 0 7� { �/�!+�GF�p2(�L0w) �i jC,:! { �/�L2��(���=0wCE+�� ! 6 0 7 ),+r� y� 3J�LGF�K2 {=W)p r"� #CV)]�(�KA$2� #C@"%+���'F)���'�) � � �L2����<��I �W� #C3� )�) � � � � , 0M+#C��@ #CE:�"%+���'F)E�KCn+10

f'$+B:.�HC` 1'$:4�W� � �GF�-'$+2�S'$+ �n2D��:.���[ �Z+�AS)�) � �-2D�LG���2(�p+10l'$+;:.����),+ ) � �-2(�L0w)+10 C?+1C� �Z+1AS)n) � �~2(��GF��2�+10 C 6 +#) � �LC@) � 1'&) � j)m) � ��2(��GF�K2Q+10 C �cA$�N) ��� 0 � 7 {!;�L�/�E�H),AY j),��+�' 6 7 ��' 8Y��A.CE� {�A=��3�EA$�o��C�� �����i'$+j)@) � � � �� 1:.�LC {�?de0l2D�LGF�K2�+106C^��� �EIZ) � ��' �P�c #C3�[��' �E�H),AY j),��+�' 6�� 7 { d 0l2D�LG���2�+#0 C^��� 3 �EI)�P� jCE�4�('&�3�D),AY j),�(+�' 6�� 7 {

� " ��� � ;��P�/ #C3���('&�3�D),AY j),�(+�' � � ? 8 X� � #� � ),���o� �P�~ jCE�4�('&�3�D),AY j),�(+�' � I>�P�/�K2(���<�=A."O+�'.�/2(��GF�K2 {

3J�L) � 6 #.798 ���S"%�K��)E�K:&2D��'.�1) � +10U o�V�� #CE� � "� ) � ) � j)�K2(���<�Y�PA." # 2(��GF�K2��@�('O 1'&�('>8�'$�D)E�42��(�N)��

Page 71: Data Structure and Algorithm by Y. Narahari

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

% � �K' 5 � 6 % 798 %� 6 #.798 X ; �L+��N)m��'��3�H)]AY )]�(+�'f� ?6 � b X 7 ; �L+��N)n��'��E�H),AY j),��+�'2� ? �4����)

� 6 #.798 X ; � � � 6 # b � 7 ? � 6 � b X 7 ; � � � 6 #.7 ?� 6 #.798 �R �

� 6 # b � 7� 6 #.798 )R

� A.Cm 1�3�3A$�r".),��+1' ) � j)W) � �/2(���N)i�(�i��'>8�'$�D)E�4�(�@"%�K�E�3�(�!���N),��� { �� �K' �W� �YA$�r"f��'F),+/) � � � �� 1:.�LC ��'f+�A.C �� 1� �&�i jC,:o�K2(���<��I"�W���3���r"Y2H}r�L2��(�<�!�D)A." �n�H) � +�AS)W"��KC30�+1CE�!�('.�c 1'*}=2D�K0�) �i #CE: 6 � +1CE��?K+�'F) #2 7 �!+�GF�K�r�K'*),� {% � �(�W�F�DG����@A$�m #'�A."$"%�LC��Z+�A$'$:�+10

�� ! 6 0 7 b �X

��

� '!) � ���5�."����5)E��:f2(�K'.�1) � +10 ~"� j) � ) � j)P�K2(���<�Y�lA."f0wC,+1� 2(��GF�K2 �i),+[2D�LGF�K2�! 6 0 7�('� o2(���N)m+10 0 ��2D���o��'F),� { 6 �%�K�� #A$�3� ! 6 0 7 b �42D�LG���2J #C3� �%�K��'.�o�L2����<����: 7 {% � �_C3�K�V)n+#0Q) � �PTV+1A.C,'.��}=��'$�L2�A$:.�K�� { 2D�K0�) �i #CE:f�!+�GF�K�r�K'*),�LIF) � �/';A$�����KCW+100� � ��� � �����%+�A$'$:.�K: �;}f) � �/'BA$�<���KC+#0���2D���o��'F),�P+10U2D�LG���2"! 6 0 7 +1C � �(� � �LC { � ��� � #�m 1'��5�."����5)E��:=G# 12�A.� 8 �

R� { �o 12(�3+=�r+yG�� A."&�i #CE:$�n0�CE+�� 2D�LG���2�! 6 0 7 ),+ ) � �-� �.���-A$� 2D�LG���2k�(' ) � �2(���N) { X ; �! �$�(�-A$� 2(��GF�K2a��'�) � �42(���N) 3 # ?8 � b 6 � b X ) 7 �? 0 X )

Page 72: Data Structure and Algorithm by Y. Narahari

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

X ; 1'&�K2(�K�r��'F) � 1�m c2D�LG���2 3 # ? 8 X )8�� X ; 1'&�K2(�K�r��'F) � 1�i2(��GF�K2 ? # ? 8 � b X )8�� X ; 12�2 0 �K2(�K�r�K'*),� � �G��42(��GF��2 ? # ? 8 6 � b X ) 7 �8�� X ; j)m2(�� 1�N)m+�'.�4�K2(�K�r�K'*) � 1�i2(��GF�K2 0 # ? 8 � b 6 � b X ) 7 �� �S"%�K��)E�K:�� �.���-A$� 2(��GF��2 ? 0 X )8�� � �S"%�K��)E�K:�� �.���-A$� 2(��GF��2 ? ! 6 0 7 �

��!A R��AS)3),��'.�-+�A.CiC3�K�3A$2D),�P),+1����) � �KCKI,�P�_����)�5

% +#)] 12Z�5�."����5)E��:&�K+��N)@),+c�K2(���<�=+�AS)n+10U -2��(�N)m+�' 0 �K2(�K�r�K'*),�? � - � /R � �

R � � ��� � ����� 6 2�+#� 0 7 { �4�K 1'� #2��3+[�K+1�r"YAS)E��) � �p"$CE+#�� �Y�(2��D) }!�D0) � �4 1�5),AY 12Z�L+��N)i+10k -�V�� #CE� � ���.�L�L�K:$��5�."����5)E��:��K+1�V) �*}=�!+1C3��) � 1'& o�V"%�K�L� 8Y�K:&C, j),��+ {��� �� � @��

� { X 8 �� � 0 8 � � �X ; �V�� #CE� � �n�(2�2%)] ���42(+�'.���LCP) � 1' !-),���r�K� ) � �_�5�."����5)E��:&�K+��N) ? 8 � % 1� { X 8 �� � 0 8 = %"$ �X ; �V�� #CE� � �n�(2�2%)] ���42(+�'.���LCP) � 1' � ),���r�K� ) � �_�5�."����5)E��:&�K+��N) ? 8 � % �! { X 8 �� � 0 8 � % � =X ; �V�� #CE� � �n�(2�2%)] ���42(+�'.���LCP) � 1' !-),���r�K� ? 8 � % ��

� +�� :$+H�P�4� � +;+��V�@X � � ����C3�� 1�3�('.�_XO��'$��C3�� 1�V�K�PG# #CE� �Y��2��H) }r+10kCEA$'$'$��'.�[),���r�K� {�rX 8 �� �����K'.�KC, j),�(+�' +10_C, 1'$:$+�� 2(��GF�K2m�� 1' �%� :$+�'.�O0wCE+�� �N)EC3�� 1� +10C, 1'$:$+1� �Y�D),� {

Page 73: Data Structure and Algorithm by Y. Narahari

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

� � ����C3�� 1�3�('.�_XO:.����C3�� #�3�K� 1 +10k"Z+1��'F),�LCE�P"��KCm'$+;:.� {� � GF�LC � �� #:$�@ #C3�4C3��2� j)E��: ),+�! 6 0 7 C, j) � �LCW) � 1' � - � /R {�rX 8 �

� ���m"$CE+#�� �Y2H}=) � �B�%�K�V)�� � +��(�L�1I%A$'$2D���3�iG# #CE� �Y�(2��D) }=+10UCEA$'$'$��'.�r),���o����(�i 1'��(�3�EA.� {

������ ) � � -�� * ' ���/-����' -

� { =�2(0wC3��: 0 =�$+$I ��+�$' � {� +1"Z��CE+10�)�I� #'$:��1� 2%C3�L} � #�2(2�� #' {�� �"!���� !�� �����

! ��� * $ ������, /�� ��� � !#) ��$�{ =�:$:$���3+�'�� ���32(��}�I � $ ! {� { % $+1� 1�

�{ < +1CE�r�K'JI < Y #CE2(�K� � { 3J���(�3�LCE�3+�'JI$ 1'$: � +�'Y 12�: 3 { >i�DGF�K�N) {! �"�

!#� �$��� � !#����� !�� , /�� ��� � !#) ��$�{ % .� | d % � 2D���5)ECE���K 12 � '.�F�('.�K�LCE��'.�o 1'$: < +��%�"YAS)E�LC�&B�L�(�K'$�L�'&;�LCE�(�K�KI"��$#$)( { d '$:$� #' � :$�D),�(+�'="YA �Y2(���*.�K:���' ��$"$"$ {! {�� +�'Y 12�: � � ';AS)+ { , � ��� ��� *�� !�� / , /�� ��� � !#) ��$ I 0�+�2�A$�r��� +10 % .� =nC3)+#0 < +��o"YAS),�LC �9CE+1��C, 1�!�!�D'.�YI =�:$:$�(�E+1'�� ���32D�L}�I ��$ �" I�&;���L+�'$: � :$�D),��+�'JI� $ % ! {

=${ >i+#���KCV) 3 { � CEA$�V�1I.-lCEA$��� � { 3J��A$'.�$IZ 1'$: < 2�+�GS��� 3 { % +�'$:$+ {/� �"!��0� !�� �����! ��� * $ �����213� � � � ��� �2*�$ � � � � � �~{ �9C3��'F),�����

� 12(2 I(��$"$ � { d '$:$�� 1' � :$�H)]�(+�'"YA �Y2(���*.�K: �*} �9C3�K'*),�(�L� � 12�2a+#0Ud '$:$�� .I"��$"$"$ {�{9| #C�� =�2(2(�K' �K���3� {����"!��4� !�� ��� !#��� *�$����5��, /�� ��� ��! ) � ,�� � /76 $ � $%� � �98:8�{-���'jTV 1�r��'�� < A$�!�r�('.�F�LI���$#$ =Y{ d '$:$� #' � :$�D),�(+�'="YA �Y2(���*.�K:���' ��$"$ .{�S{ � 2(2��(� � +1CE+ �n�D) ?1I;&S #CV)] ?3&S �$'$� Iy #'$:�>m jTV 1�V���j jC] #' {<, � ��� ��� *�� !�� / $ �'&�� ���=�> �6! *?� , /�� ��� � !#) ��$�{ {

�{ ; C3�L���! 1'- 1'$: < +��r"� 1'F}�I���$#$ .{ d '$:$� 1' � :$�H)]�(+�'"YA �Y2(���*.�K: �*} q_ 12D�F+#),� ��A �Y2(���K j),��+�'$�LI � ()()( {

%;{�� +�'Y 12�: � { � 'BAS)+ {@� ��� ! �#� � �����A� * ��� ��) � � ��I�0�+�2�A$�r� ! +10CBD.� =�CV)c+10< +1�r"YAS)E�KC �9CE+1��C, 1�!�r��'.�YI�=�:$:$���3+�'�� �K�32(��}FI"��$ % ! { S{�� +�'Y 12�: � � ';AS)+ {E� *���� � � � *?� ��� � / , /�� ��� � !#) ��$�{ 0l+12�A$�r� � +#0!BD.� =nC3)+#0 < +��o"YAS),�LC �9CE+1��C, 1�!�!�D'.�YI =�:$:$�(�E+1'�� ���32D�L}�I ��$ � $.I�&;���L+�'$: � :$�D),��+�'JI� $ � {

Page 74: Data Structure and Algorithm by Y. Narahari

�������������� ����������������������� �(�

$ { � { 3 1'.�F�E 1�OI | { � { =�A.���K'$�V)E�K��'JI� 1'$: = { |`{ B���'.�K',�� #A$� {@� �"!�� � !�� �����! ��� * $%� $ �#� � � ����� �!8:8�{ &;���L+�'$: � :$�H)]�(+�'JI �9C3�K'*),�����

� 12�2 I���$"$ �S{ d '$:$� 1'� :$�H),��+�' "YA �Y2��(�*.��: �*} �9C3��'F),����� � #2�2J+10Ud '$:$� .I � (�()( {� ( { � A.CV) | � $2 $+1CE' { � ��� !#� � � ����� � * ��� ��) � � � { 0l+�2(A$�r� �4+#0 � �"!���� !�� ��� !#��� *�$

������, /�� ��� ��! ) ��$]{ &;"$CE��'.�1�KC ��09�KCE2 j�YI&��$ =Y{� � { �(2�2(� 1� ��A.� { &,�B�(" 3���N),��5 = "$CE+#�� �Y�(2��(�V),�(�� 12H),�LCE'Y j),�DGF�=),+ �� 12� 1'$����:

)EC3�L��� {���������������� �"!#������$%�'&(!#)+*%,-�/. I+0�+�2�A$�o� !"!.I � A$�<�%�LC � I."$" { �"�# �� % � I ��$"$�( {���� � � - � * � ' � �

! #" ����"��!#��� ���"���#: �!��� : $�� 9�� 7 " ! �%$ � �%$�� ! $�&�$ ! �%$ ����$ ! �%$&����$ � � ����: � � �� !��"���#%$&��"�$�: ��'� !���� !����� :�$)( % !*! ��"������ : $� ���� ��#7 $&��"�$��!��� ������� :������,+ �.- � %/- � � #0( 21 � !��";:� � :��:�$������"��� 8: �����!��"���;:������ : $��"�� 9�� 7 " ��"������� � �43 �!��� �� ���*'����� ��' �65 ����#� � : ��� ��*'��!��� � � :�$7+ � �.- � % ��+ �.- �98 # 8H� #.: � � � #;( ��� ��< ����'� !� $���"�$��!��� � �8: $ ���$���"�$��!��� ������ :������=+ � �.- � % �.+ �.- �>8 # � ! 8 - � � # ��(@?

! � � � � #0( � 5 �� ���"���# $&��"�$ : ��'� �� ����"��BA��C( ��" ��"���#�:�� ";: ����CD � : ��� " $ � $�����ED)FG(6H*I

� � � 5 "�"���� ����� ����!������ $&��"�$������ $ "�$�!� :�$&� : ���� # % ! ' I '+* *+* ' D $ :�$�� ��*'&��'��� !� : 7 :�$&� :: $�� # ��� ����"���#: ����� ��KJ3���!���" "#: ��!� :� 7 � ���� : $&���L- ����' ��" �!" � : � ��";:MION�P ��' �6Q $�� � : $�� : �����#�% ! ' I '+* *+* ' D $ :�$�� ����'&��'��! �� : 7�: $�� : : $�� # ��� ����"���;:������ ��KJ3�������"

� ���� : $&���7I ����RD ���*' ��" ��" � : � ��"#:SD N : � #" ����"��!#��� �+�� ���"���# $&��"�$�: ��'� !� � � : $6ITDU'�����9�� : " �VD)W �(�X$ ��� � !�'7 �!��� :�$�� $&��"�$ ������ : �!���+ �ZY � %[Y � � #;I�D ]\ $��!� $ ��� : $�� ���� � !� � ����� ���$&��"�$ "#: � : ��������" � ���� �#�7���� ���(���� ����#� $�7�^� � ��Q : �� : ��� 7 ! 3 + � �ZY � %0�.+ ��Y ��8 # � � � #;I�D ��' �6Q : �� : ��� 76I 3 + � �ZY � %0�.+ ��Y ��8 I # � � � #_I�D

& #` � � ��� � "�� : ��� � � �Ta ���+�� ��� � I ����� ��" ��� � � $&������ :����" � ��� $ ����#�: $&� : �� : � ����:�$&��� :�� � �&��� ��"�"#: ��#: � �8: $ : $�� " ��� � � $&�� ��� : �� $ �!"�� :� ��"�"��B'� !� : �Cb&��# � �� ���"���# $&��"�$����������� :������ :�$&� : �� �� � :���" ��� � $&��"�$%: ��'� ��+��� "��BA�� � � ^ � ��� $ �� !��� ����: ���6:�$�� $&��"�$ : ��'� !������c' � � "#: ��!��� ��� � � $&������ :����" ed $�� $&��"�$��!��� ������� : �!��� "�$����� !#���� � ��#�� ������ ����' ���"�$� :���"#: �!� � : � ��";: � : ��� � �����8: " � � : $����Xa $��f'�� : "��� $ �%$&��"�$��!��� ������ :������ �� ��� � ��#�����������: ��hg �Xa��� � �� �5 "�"��� � :�$&� : ���� 7 �� ��+� ��"�� �� -�$&��' � :���� � $&������ :����" ���� ��"���# ���

Page 75: Data Structure and Algorithm by Y. Narahari

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

����� ��"�����#�:�$&� : : $�� $&��"�$����� ������� :������ � ��� ' � ����� �� :���# ��� ������:���� ������� : e" ��� &�����"��������"#: ��!����" �� !"�� : � 9���" ����� :���� � �����8:

� #" ����"��!#��� �� ! :�� � � $&�� ��� : �� �&��� ��" � �8: $ � ��� $ � $&�� ��� : ���' ���!��� ������ : $�."�� : ��� '�� '�� '�� '�� '� '��'�� ' � '��< ��"��!��� ������� ���!����: $&��"�$��!��� ������� : �!����"���� $ : $&� :�: $���� � ��� �# ' � ��� ���� ! ���"������".��� ���"��� g:������ +5 "�"���� � � $&��"�$�: ��'� !� ����"��BA�� !*! �

� #Q � ��"�� : $�� :�� � ���� ��� � ����� 9�� 7_- :���"�� ���� $ ����.��� � �� ���"���# $&��"�$ : ��'� �� � �8: $� ��"��8: ������"�)' ! '+*+* * ' ( ? ! $ � $�����_( ��" 93��� � � : � ' � � � � �� ��� I 43 � :c+ ' � � $&��"�$ ������� :������ " ����"��!#��� : $������ � �� � �!��� "�� ���� $ "�� $��� � 3! �" ��� � : � #&% + �.- � ����#%"�� :���% � I � ��*' � ��� ��"�� : �!��� # Rd ���� ���&� : � � � : $�� ��KJ3���!���# � : ��� �!" �������# �� :�$&� : ��"�� : �!�����!"

��� : 7 � �Q � :���%0��� 8 ! � �,�;� ( ����# #&%��$# 8 � � � �;� ( �� � : ���� :�� Q : � 7I 5 ��" � �� : $������ � �� � �!���cJ3����"#: �!����" ����#�����";:��!� 7 7����� ���" � ���" � < � ��" : $�� �� !������8: $�� �Xa��� ���� � � ��;7 : ��'� �� ��"�� : �!��� ��� :�$�� � ���";: � ��"�� ^� S1 " :�$���" !�������� ���*'����� �� J3�&��#��� : �!� ��*'��!��� �� #�����'� �� $&��"�$��!��� �� �������^�� \ $&� : ��" :�$���#���"#: ���� : �3���c' �� ���&����' � "��KJ3���������" ^

� #` � � ��� � " 93� + !��"#:���� ! � �� !��� ����: " $ ����� �� :�� : $� �V' ��"#:.� ��"�� � � ������+��� � ��c' �� ��� ���*' ��"��KJ3���!���# ���� ��� ���"���������"�"����� �"������� $%��� � ��� $ � ��"��E' �� �� � 3� � � 5 � ��� #��" ��� : $� !��"#: ����� !� � �� & ��� #��"��' �4d $����� ���� ! & ��� #��" ���� �� � �� ! ����#LI+��� #���" ���� �� � �� ���� �4d $����� �!" ������ �� � �� & ��� #�� $ ������ �� � �� � ��� #�� $ ����#�: $������";: ���� !� � �� ! ��� #���"

� d $� ���� � !�!� �!��� ���"��� :�" $&� � ��' ����� �Xa) ������ ����: �� ! 7 �*'�"��� � ��# '�7 \ �� ! ������ � ����$ ��� $��"" 5 "�� ��#: �!�� �� ���/";9 �-/ ��!";: " $ � $��! �� ����� &�������� : $�� � � �� ����� � ��"��� �����������������+����" 93� !��"#: " $ " � ��7 : �����" $ �����%g ��������"�� � � 5�� 3 :������" $ ����# ��������"�� � � I g � : �����" � �� � ��#�� ����!��: ���8: � � ������"#: �fb�� � :������ ���� ����� $ ����:�$���"�� 3� � � d $�� �����%g ��������"�� � � 5�� 3 : ���� $&��" :�$�� !� ��"#: � � �� ����� � ��"�� ����� � �� a � : 7 ���� � #���� : ���Tg

�&��;7 "�� ���� $ �� �� � :��������' �4d $�� " 93� !��"#: ��� : ��������� " �� � � : $�� #&� : �+";:����� : �����" ���� ����"���;:������" ����# #��� �� : ������"��� �6Q � �7 :������" ��������� ' � : :��� : $���� I�g � : �����" ���� �!��"���;:�������"

Page 76: Data Structure and Algorithm by Y. Narahari

�������������� ����������������������� � I

������ � - � , -�c� � ����, ����� � ,��U� ' � ���

�(' 6 )' 6 -Ox������0/ :����Qu��&+ ���������xYt ���xYt �������d $�� �*' ����� : � � � ��� : $��!" ��"�"��!����� ����:+�!" :�� ����� ����� : $�� ����������������� ��� #���� �������: $&��"�$ : ��'� !�����������fA � :������" $ $&��"�$����� � � : $�� #�" $ ����# ���� ! ��!"����������"��� !� : �!��� : ��� $����BJ3����"

� %��O��������� � ����� ����

5 "�"��� � : $&� : 7���� 9�� 7 "����� � $&������ :��� "#: ��!����" ���� ������ :�$ ! � �*' : ��������#L'�7 "�� ������������ " ����g������ R" �� ! �:�$���"�����" : � 9����" < � b&��� � : � 9���� ��" ����7�";:������ : $&� : �� � ���" ' � :�� �����%"���������"�"�� � �� ����������������" ��� � ���� '���#�#��� � $&������ :��� $ � $���� : $������ '��!#�#���� "�� : ����� $��� ��� : ���" ��" ��� � ���6'�7 3 % �! '#" '%$ '%& '('�' � ' � '*) ' 8 ' ? ' *-' H '3-',++'.- ' W ' % ' ^ '0/ '21 ' � ',3 ' '54.' '&����93"� ���"�$ ' ����� � � ' " &����� 3

� a ��� : �!����" : � : $�� ��' � � ���� ������� 36 1 �������������7�:�$������ : $�� : �� � ���" ��" ����� � ����: � : $�� : ��" ' � :�� �����87!9 ����#:9;7 �6 1 �������������7�:�$������ : $�� : �� � ���"S' � :�� ����� #�����'� �� J3��� : ��"

d $&� : ��" $ ��� :�$��/��' � � � :�� � � ��"���" $ : $� � $&������ :��� ";:���!����" ���� ��� : : � ' � : � 9���� ��" : � 9����" 1 �+� "#: ��!��� $&��" ���"�" : $&��� ! � � $&������ :����" $ ��� 9�� � : � : � ! � � $&������ :����" '�7 ������ ���#��!��� ���������(�� � : ���3����' �� ��� :� ���! ��!���89�< " >= �-: $�� � :�$��� $&����# $ �!� :�$�� ���������: "#: ������/$&��" � ����:�$&��� ! � � $&������ :����" $ : ����� � :�� �8: : � $&� � � :�$�� b&�"#: :���� � $&������ :����" ���� 87

�&���� :�$�� ���#�� � ��#�&�� � $&������ :��� "#: ��!����" �������� ��!� ��� ���� � !��# ��" � � ? �� �+�X$ ������� � : �/� ��"��8: � � � ����: ������ �������� ��� � ��� � �� � ���# ��" ? !�9� � '�7 "���� � �!��� � : $�� 5 Q�">1 1 � �� �����" ��� :�$��� $&�� ��� : ���".��� : $�� ���;:������ ��2: � 9���� A@ "�� :�$���"�����: �������9�� 7 ��� : $�� $���"�$��!��� ������� : �!����" CB � � � � �� $���� ���c' �� :�$&� : : $� ����!�����&�� �:�� 9����%�!" � � $��� ��� : �� "#: ������ ����# :�$���" �!" : $�� ���� :��0' � "#: �����# ���:�$���$&��"�$�: ��'� ��

D � ��FE>� � �HG ����� � �2� � �R �JI � LK���� �

5 " #��"�����"�"���#%��� : $����� ��"�" $ : $������ � �� � �!���+�� !� � ��� "�� $���� ��" ���� : �0' ��� � �� ��&� :���# ! J= ��� � � :�$%#� � ��"������ � � :�$�� # ���� $���"�$��!��� ����# ����"���;:���#% ���"#: " ���� � $��������!���I J= ��� � � :�$%#� � ��"������ � � :�$�� # ���� $���"�$��!��� ����# "���;: ��# !��";:�" ���� � $&�������!���

Page 77: Data Structure and Algorithm by Y. Narahari

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

� J= ��� � � :�$%� �� :�� � !��� � : ����� � � :�$�� # ���� $���"�$��!��� ����# ����"���;:���#% ���"#: " ���� � $��������!���& J= ��� � � :�$%� �� :�� � !��� � : ����� � � :�$�� # ���� $���"�$��!��� ����# "���;: ��# !��";:�" ���� � $&�������!���� #" !��"���# � � : $ "��!� �� ������ ���"�����# $&��"�$������ #" !��"���# � � : $ ��!��� �� ����'������� #" !��"���# � � : $6J3�&��#��� : �!� ����'������� #" !��"���# � � : $ #�����'� �� $&��"�$��!���� #" !��"���# � �8: $ !�������� ���*'���������#�� �3� : $%g 5 �c' �� � � : $�� # ��� � 7 " � �8: $ "���� � $&��"�$ � �� !���

� ���� ��� #���"�������#��!�������#��� �! � #" !��"���# � � : $6J3�&��#��� : �!� ����'������ ���#�� �3� :�$%g 5 �c'� �� � � :�$�� #!*! #" !��"���# � � : $ #�����'� �� $&��"�$��!��� ����#����3� :�$%g 5 �c'� !� � � : $�� #

D � �������� K�� ��������� �

�&�� : $� " � 9��+��� �����!������ � : 7 $ �"���:�$�� ���� � �� � �!��� $&��"�$������ ������� : ������" ��� 7 1 ��: $�� ���� � !�!� �!��� $ (�!" :�$��+$&��"�$%: ��' �� "��BA�� � :�$&� : ��" $ : $� ��"�"��f'� �� $&��"�$ � �� �����" ���� $ ��' ! '+* *+* ' ( ? ! �X$ ����#LY ��" ����!��:������� 9�� 7 ! M��� I �V��V��� G O� ���;�

+ ��Y � % Y � �;� (

I �G K�� �V� ��V�*���������>G O� ���;�

+ �ZY � % �� �� �� �V( ) � ���� :������ �.- ) Y � �� $���� - % � ����� N��: $ :�$�� ` �� �#���� � � :����

� �� �V��O����� ��� � �V��+ ��Y ' # � %��.+ ��Y ' �2�98 # � � �;� ( + #&% �)'+*+*+* ' ( ? !

& �� K�� ���������V���E��� � �V���+ �ZY ' # � % ��+ �ZY ' �2�98 # 8 # : � �,�;� ( + #&% ��' *+*+* ' (/? !

� M�4��K�� � D � �������@ "��/: $� #� � ��"������ � � :�$�� # ���� + �ZY � ����# :�$����+�� 8: � ������ : �!��� � � : $�� # ���� +�� �ZY �(

Page 78: Data Structure and Algorithm by Y. Narahari

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

� ��� K9���c� �,������E��� � ����

d $�� ��"�"��B'� !� ��� � : " : � :�$�� ������ ��� ���� 36 ( 3 B ��"�$�: ��'� !� "��fA�� Q � � �� �� � �� �����" ������ !# ' � ��� � ��� $�����%����# : $�� � a� ������ ����: " ����:�� ' � �� � � : ��# ���� �� � � �� !����" " �����fb&��# 41 � �� : $��!��� ��"�" �����fb&��# $ ��"�"���� ���� � ����� ��;7�3����' ���"S' � :�� ����� � ���# � �

6 D 3 d $�� �!��� :�� �� �3���c' ������ ���"���#: �!����" :��6' � � ��#�� ���� "�� :;: �!��� � � $���"�$ : ��'� �� � �8: $ ����;:������ �� �����# � ��� : �� 6 � 3]d $��!" ��"+� "���'�"�� : ��� : $�� "�� : � ! ' I '+*+* * ' !�! 3 ����#��!� � :������ : $���"�� : ��� � � :�$�� #�" : �U' ��!� � ��"#: �!��� : ��#

6 � 3 d $���" ��" � #������!���� &�3����' �� �������� $���� $ � : ����&��;7 ";:���!��� �!" :���' � �������� � :���# ���&��� �� 7:�$��� ��#� aOg � �� ����"�����: � : �!��� ��� �)�( 1 ��: $��!" �� ���"�����: � : ����� $ ��"�"���� �/:�$&� : ���%�� ���"�����: ":�$�� �KO���T�T� �( ���� : �!��� $ ��� �� ���"�����: "/:�$�� �����KO� � �( ���� : �!��� $ ����#/���/�� ����"�����:�" :�$���� V � �( ���� : �!���

6 5 " ���������� $ ������ � $��!� $ : $�� :�� 9�����" ���� : �2' � �����9���# � ���� "�� : :������ �� ����# �Xa) ���� g� ����:������ � �8: $ : $���$&��"�$�: ��'� !�

� �����_�����K �=� ���� ��� � �T� � ���

! �&�� � ��� $%�� ���� ����: ����� ����# ���� ����� $ � �� !��� ��� ( $ #�� : $�� ���� ! �� � ����� I #Q � ���(: $�� ��� � ��� " ������ ��� ����# ��"/7���� "�� ��� $ ����"���;: :�$��2b&�"#:�D :�� 9�����" "�� �������# �!��: �

��� �!��� :�� �� ! 7 ��� : 7 $&��"�$�: ��'� �� � � � � "�������:�$�� ���"#: ����: $�� " ��������� :�� 9����7'�7 : � 9���� $ "������� $��!��� ���� � : �� ����"���#: ���� �8:

�� #�� �� : �!��� � : $ ��" #��!� : � : ��# '�7 : $�� ��#�� aOg � �� ����"�����: � : �!��� ��� � �� � : � : $&� : :�$�� � ��"#:"�������fb&������:c'��8: � :������8: ^ � ��" :�� ' � ������"��!#������# b&�"#:�� $��� !� #����!��� :�$���" ����#-7���� ��� ������#������ ��(� : : � �����$�: �!� : $� ��#�� aOg � �� ����"�����: � :������ �&�� � ��� $ ���#�� � ��#�&�� �( �� � : ����� $ 9���� :� ����9�����:�$����3���c' �� ���&���*' ��"

& #" ��� �� : � :�$�� � � �� ����� �3����' �� ��� ���*' ��" ���� � : 7 ��!� �� "���������"�"���� "�� ���� $ $ ���"���������"�"����� "�� ���� $ $ ����"���#: $ ���#%#��� �� : �

� � � � � : Q : � �" I $���$ ����# & ���� � ��� $ � �� !��� ����� ����# ����� $ � �� !��� ��� ( � �&�� � ��� $ ����#� � ��#����� �� � :�$�� #��!� � ��"#: ����� : ��# $ ��' : ���!��� : ��'� !�+: $&� : ���"#: "":�$���� � �������� �3���c' ��

���&��*' ��" ���� :�$�� ������ ����"���" ���� � ���������" � �� ����" ��� ( Rd $��/: ��' �� ����:������" � ���6' � ����:�$������ � �� � �!��� �������� : 3

B ��"�$�: ��'� !� "��fA�� 5 � �� ����� � ����' �� ��� � ��*' ��" ����@ "�� ���� $ Q "�� ���� $ 1 �"���#: < �� �� : �

Page 79: Data Structure and Algorithm by Y. Narahari

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

� �&�� � ��� $ ����#�� � ��#��&�� � �� !��� ���C( $ ��' : ���!� � : ��'� !��: $�� : !��";:�" :�$�� � � �� �����/� ��c' �� �����*' ��" ���� � ���������" � � :�$�� #�" Rd $��/: ��'� �� ����: ��!��" � ����' ������:�$�� ���� � !� � ����� ������ � : 3B ��"�$�: ��'� !� � � : $� # 5 � �� ����� � ����' �� ��� � ��*' ��" ����

@ "�� ���� $ Q "�� ���� $ 1 �"���#: < �� �� : �

�(' 6 )' >�������� ��� � � : � �����&+ ������ ��� � ������ ��

� � � �7 � � � ��! � � ������� /&����� ������� � ���"�� ��� �&�#��$��� ���" �� ���7 � � $ 1#0 �� �������� � � �&�� ������#� �&/ /" ��7 ��� 1 � �������� 1 � �1 � ��� �&/ 1�� �7$��# �" ������� �/@� ��� �"������� ���� 0 �&���7$ ����!# 5� � � 1 �#��� 1 � � � �#��� ���" �����#/" 1�� � ��� 8 1 �78# �/ ��� /" ������ � ������ �&/ � � � �7 � � �������C��! � � ������������� �#����/&���� ���" @ ) � ���� � � ���#�;�� ����&����� A �7���K��� 1 �� �� �78# � � � ���" ������������ � $ � �����4��� ��� ��� � �! ! � � � ��������"�� �&� 1 � � � �����������4�3�#�7�� �� �&�����78# � 1 � �#��� � � �/ ���� � ��#�%$'&�(�(�)+*-,/.10 2/,/& *�3&54�27698�:�$<; �=� 1 ��� � �> > � � � � � ���? � � �<�@? ? A �B?DC�? �<#E E�F %1�HG ����I� �>� �&/ ��������$ 1 �"� ) � ���� � � ����� 1� 1�� � ���� ���" � �� 0 1 � � � �&� 1#0 ��! ��� ��������� A �����C���&��� 1#0 �&�#���C��� � �� ����

Page 80: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

����� ��� ��!�"$#&%&'(�*)+",�

-/.102043657.10�890:.�;=<�3�0:>?<�@�57A�BDCFEHGJIK.�LM57A�LN57OP3QLR.R5KSTLRCFIUA�3HCFAWVXIUEHGP<YLZ02.\[]S2C^0:A�S20K_-a`*0b;c57.10dC^B*0e57@F@f;g31<�CfLZ04BhLRIi.Z02G�.1043�0:A�LRC^A*ji`�C^02.R57.ZSM`�CFS:[email protected]:@l5mLnC^IUA�31`�C^GP3o5KEpIKA*j0:@^0:EH0:A�LR3qCFA�5�<�A�Cr8902.R3�0K_tsvuNS2C^0:A�LwCFExGP@^0:EH04A9Ln5yLRCFI7A�3zIK> 57OP3QLR.R5KSTLwBP5yLn5dL{;YG|04331<�SM`i573�B�CFSTLRCFIUAP57.ZCf043}5KA�B�G�.ZC^IK.ZCfL+;d~]<*0:<*0:3q57.10�CFA98757.ZCl57OP@r;tCFA�LZ0:.ZEp3}IK>�OPCFAP5y.1;IK.�jU04A*[email protected]:0:32_

�������?� �\�������l�e�?�|�/�

� 0�31`P5K@F@��P.Z3QLaG�.1043�0:A�La3ZIKEH0qB*02��A�CrLRCFIUA�3�5KA�B\LR`*04A\CFA9LZ.RI�B�<�Sb0�Ln`*0q-/.1020����z-q_

��,� ���|�� _�� 31CFA*jU@^0qA�I�B*0�C^3a5�LZ.1020�5KA�B\LR`�CF3 A�I�B*0�CF3XLR`*0q.ZI]IyLaIK>/LR`*0�LZ.10:0K_� _v[]<*G�G�IU3�0��XCF3�5 A�I�B*0�5KA�B& ¢¡R£1 ¥¤b£4¦:¦4¦b£Z �§¨57.10�LZ.10:0:3�©ªCfLR`�.ZI]IyLn3��y¡n£Z�e¤b£:¦4¦:¦T£Z�e§m«.Z0:3�GJ0:SbLRCr8904@r;9«7LR`*0:A�©X0aS:5KAoS:IUA�3QLZ.Z<�SbL�5&A*02©cLZ.10:0,©ª`�IU3�0 .ZI]I7L�CF3��q5KA�B ¢¡R£Z ¥¤b£:¦4¦:¦2£1 ¥§X57.10 Ln`*0 3Z<*O*LZ.102043�I7>JLR`*0a.RI�I7L4_�-a`*0$A�I]B*0:3��y¡R£Z�e¤b£:¦4¦:¦2£1�e§57.10qS45K@^@^0:B6LR`*0�SM`�CF@^B*.104A6IK>/�]_

[�020­¬¨Cfj9<*.10¯®P_ � _�°}>±LR0:A(«�CfLoC^3�S:IUA9890:A�C^0:A�LwLnI�CFA�S2@F<�B*0\5KEpIKA*jLZ.10:0:32«vLR`*0�(²�³?³ LR.1020U«Y©ª`�C^SM`­C^3a5�LZ.10:0�©ªCrLR`­A�IoA�I]B*0:32_

´M´

Page 81: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� ´��

r

2r

1 TkT

1r kr

T2

"!$#&%�')(+*-,$.&/102(435%�')67!$89(:6<;=')%-35;=%-')(?>9@BAC;)')(4(

�EDGF �IH� 310:~�<*04A�Sb0 IK>�A�I]B*0:3GJ ¡ £�J ¤ £4¦4¦:¦b£KJ § «�31<�SM`tLR`P5yLLJNM�C^3$LR`*0�G�5y.Z0:A9LzI7>:JNMPO ¡>?IK.RQ?S � £ � £:¦4¦:¦T£�TVU � _v-a`*0&@^0:A*jKLR`\I7>/5 G�5yLR`¯CF3 � @^0:313,LR`P5KANLR`*0&A]<�E O|0:.I7>(A�I]B*0:3XIKAHLn`*0ªG�5yLR`(_v-a`�<�3�LR`*0:.10}CF3,5�G�5yLR`NIK>(@f04A*jKLR`XW20:.ZI�>?.ZIUE 5wA�I�B*0LRIoCfLR3�04@f>{_

�ZY �<[�³?���]\��-a`*0qSn`�CF@FB*.10:A­IK>�5xA�I�B*0�57.10qS45K@^@^0:B­31C^OP@^CFA*j93�IK>/045KSM`­IyLn`*02.:_

�_^ �]`9���2�4� �aF �]bD�­���-`9���]b����J�c >/LR`*0:.10qC^3a5oG�5yLR`6>?.ZIUE A�I�B*0edpLnIoA�I�B*0gf «YLR`*0:AdNC^3aS457@F@^0:B\5KA F �]`9���2�4� � I7>hffªCF3aS:5K@F@f04B­5 b�����`9�]�]b����J� IK>+dc >hd_iSjf «*LR`*04Akd¯CF3$5 G�.RI7GJ02.$5KA�Sb043QLRIK.a57A�BlfzCF3$5 G�.ZIKGJ02.aB*0:31S20:A�B*04A9L4_

�ZY ²+[�� � ���� 31<*O*LZ.10:0qI7>�5�LR.1020&CF3 5�A�I�B*0qCFA¯LR`P5yLXLZ.1020�LnI7jU02LR`*02. ©ªCfLR`­57@F@¥CfLR3XB*0431Sb04AnmB*0:A9Ln32_

�Eo ���p\�HJ�-a`*0ª`*0:C^j9`9L,IK>�5wA�I�B*0zC^A¯5�LZ.10:0ªCF3�LR`*0}@^0:A*jKLR`pIK>�5w@FIKA*jU043QL G�5mLn`p> .ZIUE LR`*0A�I�B*0�LRIp5�@^0457>{_v-a`*0�`*0:C^j9`9LaIK>�5�LZ.10:0qC^3�Ln`*0�`*0:C^j9`9LaI7>¨CfLR3�.ZI]IyLe_

� �\��q��IH-a`*0}B*02G*Ln`NI7>¢5�A�I�B*0}CF3 Ln`*0}@^0:A*jKLR`NIK>¥LR`*0z<�A�C^~]<*0}G�5yLR`H> .ZIUE LR`*0ª.RI�I7L LRILR`*0qA�I�B*0U_

Page 82: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� ´��

��,� ��� �X�IF�� � � � F ³-a`�C^3qCF3�5d3�;Y3QLZ04EN5mLnC^Sw©a54;�IK>XIK.ZB*0:.ZC^A*j\LR`*0pA�I�B*043�IK>�56LZ.10:0K_N-a`*0:.10H57.10LR`*.1020&G�IKGP<�@F57. 31SM`*0:EH0:3���EN5KA9;NI7LR`*02.a31SM`*04Ex043a5y.Z0&GJIU3131C^OP@^0�� �� _��.Z0:IK.ZB*02.� _ c A�IK.ZB*02. _��IU3QLRIK.ZB*02.�}@F@/LR`*043�0H57.10�.Z0:S2<*.R31Cr890 ©a54;Y3�IK>,@FC^3�LRC^A*j\I7.�8*C^3ZCrLRCFA*j­5K@F@�LR`*0xA�I�B*0:3��?045KSM`A�I�B*0&0 �P5KSTLR@f;6IUA�Sb0��

��������� D�� ��� � b�� ����� �/� � b�� ���?D �|�b�e� � b�� �� c >w5�LR.1020 C^3\A�<�@F@ «aLR`*0:ADLR`*0�04EHG*L{; @FCF3QL\CF3NLR`*0 G�.104I7.RB*02.:«aCFA�IK.ZB*02.4«ª5KA�BGJIU3QLRIK.ZB*0:.�@FCF3QLRCFA*joIK>¢ 

� c >¢  S:IKEHG�.ZCF3�043,5 31CFA*j9@f0&A�I�B*0U«]LR`P5yL�A�I]B*0qCrLR310:@^>�CF3,Ln`*0zG�.Z0:IK.ZB*02.4«�CFA�IK.ZB*02.:«57A�B\G�IK3�LRIK.ZB*02. @^CF3QL$IK>/ 

� °ªLR`*02.1©ªC^3�0� _�-a`*0�G�.104IK.ZB*02.ª@FCF3QLRCFA*jHIK>�  C^3ªLR`*0w.ZI�I7L}IK>� �«|>?IU@^@FIe©X04B­O�;dLR`*0�A�I�B*0:3IK>/  ¡ C^A\G�.104I7.RB*02.:«¥_a_ _a«P5KA�B\LR`*0qA�I�B*043$IK>/  § CFA\G�.Z0:IK.ZB*02.4_

� _�-a`*0qCFA�IK.ZB*02.�@^CF3QLRCFA*j IK>¢  C^3XLR`*0&A�I]B*0:3 IK>� ¢¡kC^A\C^A�IK.ZB*0:.:«]>?IU@^@FIe©�0:BpO�;Ln`*0�.ZI]IyLa�]«�>?IU@F@^Ie©�0:B6O�;¯LR`*0wA�I�B*043$IK>�  ¤ CFAtCFA�I7.RB*02.:«(_}_}_}«|5KA�B­LR`*0A�I]B*0:3aIK>�  § CFAdC^A�IK.ZB*0:.:_

_�-a`*0�GJIU3QLnI7.RB*02.$@FC^3QLnC^A*jHI7>�  C^3aLR`*0�A�I]B*0:3ªIK>¨  ¡ CFAtG�IK3�LRIK.ZB*02.:« _z_�_&«Ln`*0�A�I�B*043aI7>/  § C^A\G�IK3�LRIK.ZB*02.:«�5K@F@¥>?IU@F@^Ie©�0:BNO�;NLR`*0q.ZI]I7L��]_

����� F�� q�³ ��� 31020�¬�C^j9<*.10q®P_ � _��.Z0:IK.ZB*02. � « � « «��]«��Y«��*« �*« �"! « ®*«$#��IU3QLRIK.ZB*02. � « �*«��Y«$�]« �%! «��Y« «�#]« ®P« �c A�IK.ZB*02. � « � «��*«��]«��Y« « �%! « �Y«$#�« ®

�'& I7LZ0zLR`P5yL LR`*0qIK.ZB*02.aIK>¨57G�G|0e5y.n57A�S20qIK>�Ln`*0�@f0e54890:3�C^3�Ln`*0q3Z5KEx0qCFAd57@F@�LR`*0LR`*.1020q3ZSn`*04EH0:32_v-a`�C^3 CF3�LZ.Z<*0qCFA­jK04A*02.R5K@ _

Page 83: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� ´��

3

1

2

5

9 10

6

4

7

8

"!$#&%�'7(+*�,���/����-A�� �$(+>9@BA�#&(���(4')A� ;='7(4(

��������� � H/� �,� ��� ^ � �� LZ.10:0����}- S:5KA­OJ0�B*0b��A*04B6LnIoS2IUEHG�.ZCF3�0zLR`*0&>?IU@F@^Ie©ªCFA*j�IKG|0:.R5yLRCFIKA�3:_

� _�G�5y.Z0:A9L ��A(«�- �

� _¨@^EpIU3QLRSM`�CF@^B ��A(«P- �

_�.Z31C^OP@^CFA*j ��A(«�- �

®�_�.ZI�I7L ��- �

��_¨Ep5��U0:A]<�@^@���A(«�- �

�Y_¨`*0:C^jU`�L�� A(«�- �

#�_¨B*02G*LR` ��A(«�- �

�Y_¨Sb.10e5mLR0:C ���|£Z ¢¡Z£1 ¥¤b£4¦:¦4¦T£1  M �XSb.10e5mLR0:3XLR`*0�LZ.10:0q31`�Ie©ªA­C^At¬�C^j9<*.10&®P_

�������r� � F � F Y � � ²]`K�e² � ����� � �¯�X� �����N��q � ���:����� F �e�?�|�

-a`*0�BP5yLn5N3QLZ.R<�STLR<*.10�SM`�IU3�04A�31`�IU<�@FBOJ0x57OP@^0�LRI631<*G�G�IK.�L&0buNS2C^0:A�LR@r;­LR`*0����z-IKG|0:.R5yLRC^IUA�3,jUCf890:Ad57OJIe890U_�[]CFEHGP@f0&31SM`*0:EH043�CFA�S2@F<�B*0 �

� _¨�ª.1.n54;Y3

Page 84: Data Structure and Algorithm by Y. Narahari

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

V

1T 2T iT

"!$#&%�'7(]*�,��-/��l;=')(5(��2!$;��16)% �-;='7(4(46

� _�� CF3QLR3 IK>�Sn`�CF@FB*.10:A _��(0:>±LREpIU3QL�SM`�CF@^Bnm .ZC^j9`9L�3ZCfOP@FC^A*jo.102G�.1043�0:A�Ln5yLRCFIKA

¬�IK.�5­B*0bLn5KCF@f04B B�C^31S:<�3131CFIUAiI7>kBP5yLn5­3QLR.Z<�STLR<*.Z0:3zLRI­31<*G�G�I7.1L�-/.1020H�z�z- IKGJ02.R5 mLRCFIKA�3:«Y.102> 0:.�LRI LR`*0�OJI]I��NO�;\�z`�I*«��}IKGJS2.ZIK>±L4«�5KA�B��ª@F@^EN5KA � � � � �M_

����� ��)Q����!�� �x!������

�\�������l�e�?�|��� � OPCFAP57.�;�LZ.1020}C^3�04CrLR`*0:. � � q��! IK.kS2IUA�31CF3QLR3�IK> 5�A�I]B*0ªS:5K@F@f04B�LR`*0� �(��� LRIKjU0bLR`*0:.�©ªCfLR`oL{© I&OPC^AP57.�; LR.102043 S:5K@^@^0:BoLR`*0 ³?� � ���4²+[�� � ��� 5KA�BxLR`*0 � �p\�HJ��4²+[�� � ��� _

� c >#"lS `*04Cfj9`9LaIK>�5 OPCFAP57.�;NLZ.10:0K«Ep5 �%$ IK>�@f0e54890:3 S �'&Ep5 �%$ IK>�A�I�B*043GS � & O ¡ U �

� � OPCFAP5y.1;�LZ.10:0a©ªCrLn`H`*04Cfj9`�L("¯5KA�B �'& O ¡ U � A�I�B*043 ��IK. �'& @^0454890:3��¨CF3kS457@F@^0:B5 � ²�³�³R[��?� F�� � � ���

� ¬�Cfj9<*.10&®P_ ®o31`�Ie©ª3 3�028902.R5K@¥0 ��5KEHGP@f043,IK>�OPC^AP57.�;pLZ.Z020:3:_� -a`*0xA�I�B*043qIK>X5\OPC^AP57.�;LZ.1020xS:5KA O|0pA�<�E�O|0:.10:B C^A 5­AP5yLR<*.R5K@/©a54;U«¢@^0b890:@O�;6@^0b890:@ «*@f0:>±L LRI�.RCfj9`9Le_v¬�IK. 0 �P5KExGP@^0K«Y3�0:0w¬�C^j9<*.10&®P_��]_

Page 85: Data Structure and Algorithm by Y. Narahari

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

1

2

3

4 5

6 7

Full Binary Tree

1 1 1

1 1

1

2 2 2

2 22

3

3 3

3

4 5

"! #9%�')(+*�, *�/�� �-A�� � (56 >9@ �-! �IA9' � ;='7(4(56

1

2

5

98

4

3

76

"! #&%-')(+*�,���/�� (589( � � � � ( 8&( � ��% �#� (4'7! ��# >9@"A���! ��A9' � ;=')(5(

Page 86: Data Structure and Algorithm by Y. Narahari

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

� � OPC^AP57.�;tLR.1020�©ªCfLR`EJhA�I]B*0:3&CF3&3Z5KC^BLRI¯OJ0 `9� � q�³ �9�4� C^>kCrLqS:IKA�Ln5KC^A�3�5K@^@LR`*0o�P.R3QLgJ=A�I�B*043�IK>kLn`*0N57O�Ie890HA]<�E OJ02.ZCFA*j­3ZSn`*04EH0K_6¬¨Cfj9<*.10H®P_ �d31`�I ©ª30 ��5KEHGP@^0:3,IK>¨S:IKEHGP@^0bLZ0&5KA�B\CFA�S2IUEHGP@^0bLZ0zOPC^AP57.�;NLR.1020432_

� -�IyLM57@�A]<�E O|0:.�IK>�OPCFAP57.�;pLZ.102043 `P548YCFA*j JiA�I�B*043S A�<�E OJ02. IK>/3�Ln5KS ��m .1045K@FCPWe5yOP@^0ªGJ02.RE�<YLn5yLRCFIKA�3,I7>�@^0:A*jKLR`kJS A]<�E OJ02.}IK>�©X04@^@ m >?IK.ZEH0:B­G�57.10:A�LR`*0:310:3 � ©ªCfLR`�A @f0:>±L�G�5y.Z0:A9Ln`*0:3�043z5KA�B A.ZCfj9`�LXG�57.10:A�LR`*0:310:3 �S � ¡� O ¡�� �� � JJ �� V�5yLn5K@F5KA & <�E OJ02.

7

1

2 3

5 64

Complete Binary Tree

1 1

2 23

4 5

Not Complete

4

Not Complete

"!$#&%�')(+*-, ´ /�� �-A�� � (56 >9@n34>��� � ( ;=(���! ��35>��� � ( ;=(���! �IA9' � ;='7(4(46���P���-��������� � K� ��K�4���� � _ D�� ��� � b�� �� CF31CfL�.ZI]I7L4«78YCF31CfL�@^02>±Lk31<*O*LR.1020$CFAoG�.Z0:IK.ZB*02.4«78YCF31CrL�.ZC^j9`9L 31<*O*LZ.10:0$C^AxG�.10:IK.ZB*0:.� _ D �|�b�e� � b�� �� CF31CfLo@f0:>±Lx31<*O*LZ.Z020dC^AhG�IU3QLRIK.ZB*0:.:«v.ZCfj9`�Lx31<*O*LZ.10:0\CFAhG�IK3�LRIK.ZB*02.:«vLn`*0:AgLR`*0.ZI�I7L

_ � �/� � b�� �� CF31CfLz@^02>±Lq31<*O*LZ.Z020 C^A CFA�I7.RB*02.:«|LR`*04A�Ln`*0 .ZI�I7L4«JLn`*0:ALR`*0 .ZC^jU`�Lz31<*O*LR.1020�CFAC^A�IK.ZB*0:.

� ¬�Cfj9<*.10x®P_�#631`�Ie©ª3�3�[email protected];LZ.10:0:3�5KA�B Ln`*0oLZ.n548902.Z3Z5K@¨310:~�<*04A�Sb043�CFAG�.10:IK.ZB*0:.:«YC^A�IK.ZB*0:.:«�5KA�B\G�IU3QLRIK.ZB*0:.:_

Page 87: Data Structure and Algorithm by Y. Narahari

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

1

2

3

3 5

1

2

1

2 2

2

2 2

2

1

1 1

1 1

3

3 3

3

4

Pre:

Pre:

Pre:

Pre: Pre:

Pre:

Pre:

Pre:

Post:

Post:

Post:

Post:

Post:

Post:

Post:

Post:

In:

In:

In:

In:

In:

In:

In:

In:

1221

231213

123

321

132

1234532541

32145

212112

12

123321

321

123

123

123321

123321

231

"! #&%-')(]*�, � /���! �IA9' � ;='7(4(+;=')A8&(4'76=A�$6

� � 0$S:5KAxS:IUA�3QLZ.Z<�SbL�5&OPCFAP57.�;wLZ.1020a<�A�CF~�<*04@r; > .ZIUE G�.104I7.RB*02.�5KA�BHC^A�IK.ZB*0:. � �GJIU3QLRIK.ZB*0:. 5KA�B­C^A�IK.ZB*0:. [�²��H�/��� G�.Z0:IK.ZB*02.$5KA�B\GJIU3QLRIK.ZB*0:.:_

� �-����� ������9�������� � �������������������� � _ ^¯� �IF � «*043�G|04S2Cl5K@^@f;631<�CfLZ0:B\>?IK.aS2IUEHGP@f02LZ0�5KA�B­>?<�@F@�OPC^AP57.�;NLR.102043� _ D �J�?�J�e� ��� [ F �:��b

�¨IUCFA9LZ0:.m O�57310:B c ExGP@^0:EH04A9Ln5yLRCFIUA ��������������������! #"$��%#&('*)$+,�.-0/�1

2 ��)435+,�76(89) 2 %*:;&=<> �@?BADC�E%#&('*)$+,�.-0/GFIHJ)K:;�L<> �@?BADC�E%#&('*)$+,�.-0/GFM� 2 /ON��L<

P %*&Q'*)$+,�R6�8S)5<TDU �D��V.������� FI�.&�&�L< W�FM8S& 2 %���)K�X��&Y�.&(&�LFBW

Page 88: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� � *

TDU �D��V.������� FI8 < W�FM��)43Y89&��-0�.6 8S& 2 %���)K� FBW� U�� � 8 �.)K&�!'*)K��� %#&('*)$+,�R6�8S) FM�!&�&���12 :��;�.&(&��� 1

2 � 2 ��;�.&�&���L<8#�.)K&�!'*)K���;�.&�&� � HJ)K:;��� <8#�.)K&�!'*)K���;�.&�&� � � 2 /ON���� <

PP� U�� � 2 %*&�!'*)K��� %*&Q'*)$+,�R6�8S) FM�.&(&���12 :��;�.&(&��� 1

2 %*&�!'*)K���;�!&�&��� HJ)K: ��� < 2 � 2 ��;�.&�&���L<2 %*&�!'*)K���;�!&�&��� � 2 /ON���� <

PP� U�� � 8S&O����&��'*)K��� %*&Q'*)$+,�76(8S) FM�.&(&���12 :��;�.&(&��� 1

89&O�.��&�!'*)K���;�.&(&��� H )K: ��� <89&O�.��&�!'*)K���;�.&(&��� � 2 /ON���� < 2 � 2 ��;�.&�&���L<

PP

����� �W� �������+)Q' ����)+",� "�� ��)+����!�� �x!��������� %�� � ��� ! "$#��!�",� �]�*!P%&'(�*)+",�

� �#" � �z5e8YCFB&� �}<%$�EN5KA(_¢��EH02LR`�I�Bz>?IK.¥LR`*0�S2IUA�3QLR.Z<�STLRCFIUA}IK>YEHCFA�CFE�<�E m .Z0:B�<�A�BP57A�ST;S2I�B*0432_'&)(+*-,/./.103254%6378*:9�;=<>.#?:@BA�_ � IU@F<�Ex0ª® ! « & <�E�O|0:. �*«]G�G _ �"! � � m �K�%!P� «� ��� � _

� []<*G�GJIU3�0H©X0p`P54890pEx04313Z57jU0:3�S2IUA�31CF3QLRCFA*jdIK>�3�0:~]<*0:A�Sb043�I7>�SM`P5y.n57SbLZ02.R32_ c A045KSM`&Ex04313Z57jU0K«2LR`*0�SM`P5y.n57SbLZ02.R3�57.10�C^A�B*0:G|04A�B*0:A�L/5KA�Bq57G�G|0e5y.(©ªCrLR`q5 �YA�Ie©ªAG�.ZIKO�5yOPCF@FCrL+;�CFA�5KA9;ij9Cr8904A G�IK3ZCrLRCFIUAC�Ln`*0HG�.RI7O�57OPCF@^CfLRC^0:3�57.10HLR`*0N3Z5KEH0H>?IK.

Page 89: Data Structure and Algorithm by Y. Narahari

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

57@F@�G�IK3ZCrLRCFIUA�32_0K_ j�_+m,[]<*G�G�IU3�0&©�0�`P5e8U0�5oEH0:313Z57jU0�Ep5KB*0z> .ZIUE LR`*0���890qSM`P57.R5KSTLZ0:.Z3X5*«*O «S7«�B(«P0K«Y©ªCfLR`\G�.ZIKO�5yOPCF@FCrLRC^0:3 ! _ �e� « ! _ ® ! « ! _ � �]« ! _ ! �Y« ! _ � ��«Y.Z0:3�GJ0:SbLRCr8904@r;9_� 0t©ªC^3Z` LRI 0:A�S2I]B*0�045KSM`=Sn`P57.R5KSbLZ02.HC^A�LRI 5 310:~�<*04A�Sb0IK> ! 3N57A�B � 3p31ILR`P5yL�A�I S2I]B*0¯>?IK.�5SM`P57.R5KSTLZ0:.wCF3wLR`*0¯G�.Z0b� ��IK>�LR`*06S:I�B*0¯>?IK.�5KA9;�I7LR`*0:.Sn`P57.R5KSbLZ02.:_ -a`�CF3pG�.102� �=G�.ZIKGJ02.�L+; 5K@^@FIe©ª3H<�3NLRI�B*0:S:I�B*0 5�3QLR.ZC^A*j�IK> ! 357A�B � 3XO�;¯.102GJ045yLZ04B�@r;NB*0:@^0bLnC^A*j G�.102� �Y043�IK>�LR`*0q3QLZ.RC^A*j�LR`P5yL$57.10&S2I�B*043�>?IK.Sn`P57.R5KSbLZ02.Z3:_

[�;YE O�IU@ ��.ZIKO S2I�B*0 � S2I]B*0 �5 ! _ �4� ! ! ! ! ! !O ! _ ® ! ! !P� �U�S ! _ � � !��%! !P�B ! _ ! � !��U� ! !P�0 ! _ � � �"! ! �%!

c A�LR`*0\57O�Ie890K«kVXI�B*0 � `P5K3�LR`*06G�.10b� �gG�.ZIKG|0:.�L{;9_ VXI�B*0 � 5K@^3ZI�`P5K3�LR`*0G�.10b� �6G�.ZIKGJ02.�L+;U_

� -a`*0qG�.ZIKOP@f04E � jUCf890:At5x3�0bL}IK>�SM`P57.R5KSTLR02.Z3a5KA�B­LR`*0:C^.aG�.ZIKO�57OPC^@FCfLRCf0432«���A�B5S2I�B*0�©ªCrLR`LR`*0�� (1.������ (+*�� . ( ;��31<�SM` LR`P5yL�LR`*0x5e8U0:.R57jU0�@^0:A*jKLR` IK>,56S:I�B*0>?IK. 5xSM`P5y.n57SbLZ02.�C^3$5xEpC^A�CFE�<�Et_

VXI]B*0 �7� � ! ¦ �e� �"� �� � ! ¦ ® � � �� � ! ¦ � � �"� �� � ! ¦ ! ��� � �� � ! ¦ � � �"� � S VXI]B*0 �]� � ! ¦ �e� �%� � � ! ¦ ® �"� � �� � ! ¦ � � � � � � � ! ¦ ! ���"� � � ! ¦ � � �%� � � S � ¦ �

� �ª<%$¥EN57A�� 3�[email protected]`�E C^3¨IUA*0,LZ0:SM`�A�CF~�<*0k>?IK./��A�B�CFA*j&I7G*LnC^IUAP5K@UG�.10b� � S2I]B*0:32_-a`*0o57@^j9IK.ZCrLn`�E © IK. �]3}O�;�310:@^0:STLnC^A*j6L{© I¯SM`P5y.n57SbLZ02.R3Gd�5KA�B fw`P548YCFA*j¯LR`*0@^Ie©�0:3QL�G�.ZIKO�5yOPCF@FCrLRC^0:3(5KA�B�.102GP@l5KS2CFA*j�LR`*0:E ©ªCfLR`�5ª31C^A*j9@^0 � C^EN57j9C^AP57.�; ��SM`P57.m57SbLZ02.4« 3Z54;���« ©ª`�IK310�G�.RI7O�57OPCF@^CfL+;}IK>YI]S2S2<*.Z.10:A�S20�CF3 LR`*0 31<�E IK>]G�.RI7O�57OPCF@^CfLRC^0:3>?IK.:d�5KA�B�f _ � 0 LR`*0:Ao��A�Bp57AHIKG*LRCFEp5K@�G�.10b� �oS2I]B*0a>?IK.�Ln`�C^3�31EN5K@^@^02.�310bLkIK>Sn`P57.R5KSbLZ02.Z3:«9<�31CFA*j�LR`�C^3kG�.ZI�S20:B�<*.10}.10:S:<*.Z31Cf8U04@r;9_�-a`*0�S2I�B*0z>?IK. LR`*0zIK.ZCfj9CFAP5K@Sn`P57.R5KSbLZ02.z3�0bL�CF3&IKO*Ln5KC^A*04B�O�; <�31C^A*j6LR`*0oS:I�B*0�>?IK.�� ©ªCfLR` 5 ! 57G�GJ0:A�B*04B>?IK.���� d����J5KA�Bt5 � 57G�G|04A�B*0:B­>?IK.���� f����F_

� � 0xS:5KA�LR`�CFA���IK> G�.10b� � S:I�B*043�5K3�G�5mLn`�3&C^A OPCFAP5y.1;tLZ.1020432_�¬�IK.&0 ��5KEHGP@f0U«3�020�¬¨Cfj9<*.10&®P_��Y_

Page 90: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� �n´

a b c d

e

0

00

0

0 1

1

10

1

Code 1

a d

c c

b1

1

1

1

0

0

0

Code 2

"!$#&%�')(+*-, � /���>���( .?A������>��-( �

� -a`*0,G�.102� ��G�.ZIKGJ02.�L+;�j9<P57.R5KA9LZ0:0:3¢LR`P5yL�A�I&SM`P57.R5KSTLZ0:.�S:5KA�`P54890�5�S:I�B*0XLR`P5yLC^3&5KA C^A�LZ02.ZCFIK.}A�I]B*0K«¢57A�B S2IUA�8U0:.Z3�04@r;9«¥@F57OJ0:@FC^A*j¯LR`*0o@^0454890:3zIK>,5KA9;�OPCFAP5y.1;LZ.1020$©ªCrLR`NSM`P57.R5KSTLR02.Z3�j9Cr89043 <�3X5wS2I]B*0ª©ªCfLR`xLR`*0ªG�.Z0b� �HG�.RI7GJ02.1L{;o>�I7.�Ln`*0:3�0Sn`P57.R5KSbLZ02.Z3:_

� �ª<%$¥EN57A�� 3�57@^j9IK.ZCrLn`�E CF3kCFEHGP@f04Ex04A9LZ04B <�31CFA*j�5 9 *3(1. 7 ; ��B�CF3��QIUC^A�L�S:IU@^@^0:SbLRC^IUAI7>�LR.102043 �M«�045KSM` IK>&©ª`�C^SM`=`P5K3¯CrLn3N@f0e54890:3N@l5yOJ0:@^0:B=O�; SM`P5y.n57SbLZ02.R3o©ª`�IU3�0S2I�B*043�©X0HB*0:31C^.10 LnI\3�04@f04STLw5KA�B ©ª`�IU3�0x.ZI�I7LR3&57.10x@l57O|04@f04B O�;Ln`*0x31<�E IK>LR`*0�G�.ZIKO�57OPCF@^CfLRC^0:3�I7>�57@F@ LR`*0�@^0457>�@l57O|04@^32_ � 0�S:5K@F@¥LR`�CF3$31<�E LR`*0'. 2 63< ; IK>LR`*0�LZ.10:0K_

� c A�CfLRCF5K@F@r;�045KSM` SM`P5y.n57SbLZ02.qCF3wC^A 5�IKA*0�m A�I�B*0xLZ.1020HO�;iCfLR3�0:@^>�5KA�B ©ª`*04AiLR`*057@^j9IK.ZCrLn`�E 0:A�B�32«�Ln`*02.106©ªC^@F@kOJ0­IUA�@f;�IUA*0\LZ.1020U«v©ªCrLn` 57@F@ Ln`*0­SM`P57.R5KSTLZ0:.Z3573xCrLn3�@f0e54890:32_ c AhLR`�CF3���[email protected]:0K«�LR`*0­G�5yLR`g> .ZIUE LR`*0­.ZI�I7L�LRIi5KA9;g@f0e57>.102G�.1043�0:A�LR3,LR`*0�S2I]B*0q>?IK.�LR`*0q@l5yOJ0:@ I7>/Ln`P5mLa@^0457>{_

� -a`*0N0:313�04A9LRCl5K@k3QLZ0:G�IK> LR`*065K@^j9I7.RCrLR`�E CF3�LRI�310:@^0:STL�LR`*0¯L{© IdLZ.10:0:3�C^A�LR`*0>?IK.10:3QL�Ln`P5mL�`P54890 LR`*0 31EN57@F@^0:3QL/©X04Cfj9`�LR3 �?O�.10e5 �qLRCf043�57.1OPCfLZ.R57.ZCF@r; �M_¢VXIUE OPCFA*0LR`*0:3�0HL+©�IdLR.102043�CFA9LRIIKA*0U«/©ª`�IU3�0p©�0:C^jU`�L�CF3�Ln`*0¯31<�E IK>,Ln`*0p©X0:C^j9`9LR3�IK>LR`*0¯L+©�ILZ.10:0:32_h-�I S:IKE�OPC^A*0NLn`*0¯LZ.10:0:32«�©X0dSb.10e5mLR0\5 A*0b© A�I]B*0K«�©ª`�CFSM`O|04S2IUEH0:3,LR`*0q.ZI]IyLª5KA�Bd`P5K3�LR`*0q.ZI]IyLn3�IK>¢LR`*0&L+©�Ioj9Cr890:A6LZ.10:0:3a5K3a@f0:>±L}5KA�B.ZCfj9`�L�Sn`�CF@FB*.10:A �?©ª`�C^SM` CF3¨©ª`�CFSM`�B�I�0431A�� L�EN5mLZLZ02.��T_�-a`�CF3¨G�.RI�Sb04313�S2IUA9LRCFA�<*043<�A9LRCF@¥IUA�@r;6IUA*0�LZ.10:0q.104Ep5KCFA�32_

Page 91: Data Structure and Algorithm by Y. Narahari

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

Example

0.12 0.40 015 0.08 0.250 0 00a b c d

0e

1) Initial state

1.00

3) Merge

ad

c

b

e

0.20

d a b c

0.40 015 0.25

e0 0 0

2) Merge a and d

0.60

4) Merge {a,c,d} with e

ad

c

e

0.40

0b

0.35

b0 0

3) Merge {a,d} with c

a

c

d

0.40

e

0.25

"!$#&%�'7(+*�, � /�� � ( �-A�� � (+>9@�� %�� � A� A� #9>&')! ;� �

� �}A0 ��5KEHGP@^0wIK>��ª<%$¥EN57A�57@^j9IK.ZCrLn`�E CF3z3Z`�Ie©ªACFA�¬�C^j9<*.10�®P_ �p>�I7.}��890�57@ mGP`P5yOJ0bLn32_

��� �¥�?� � � q�³?� � �]�J� F � � �|�

� 0�<�3�0&Ln`*.1020�57.1.n54;Y32«�LZ.Z020K«�57@^GP`P57O|02L4«�5KA�B6>�I7.Z0:3QL4_

� s 57SM` 04@f04Ex04A9L�CFAiLR`*0N57.1.R54;��+LR.1020��­`P5K3 �P0:@FB�3 � @^SM`�CF@^B(«¢.RSn`�CF@FB(« G�57.104A9L4«57A�B6.102G�.Z0:3�04A9LR3a5 A�I]B*0�IK>/5 LZ.1020U_�-a`�CF3a57.1.R54;N`P5K3�CFA*>?IK.ZEN5yLRCFIKAp57OJIU<YLª5K@^@A�I�B*0:3aCFAd57@F@�LZ.Z020:3 CFA\LR`*0&>?IK.10:3�L4_

� -a`*0�57.1.R54; �Z5K@fGP`P57OJ0bL�� 5K3131I]S2Cl5yLZ0:3x©ªCfLR`c0e5KSn` 3Q;*E O�IK@aIK>�LR`*0 57@^GP`P57O|02LO|04C^A*jx0:A�S2I]B*0:B(«�CfLR3aS:I7.Z.10:3�G�IUA�B�C^A*j�@^0457>{_

Page 92: Data Structure and Algorithm by Y. Narahari

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

1

2

3

4

5

.12

.40

.15

.08

.25

1

2

3

4

5

weight root

Forest

1

2

3

4

5

.12

.40

.15

.08

.25

1

2

3

4

5

a

c

d

e

b

1 0 0

0

0

0

00

0

0

00

0

0

0

0

lchild rchild parent

2

3

4

5

(Dynamic)(Dynamic) (Static)

Alphabet

Shrinks grows

as many elements as the numberof trees in the forest currently

as many elements as the numberof nodes in all the current trees of the forest

"!$#&%�')( *�,$. � /�� ��!$;)! A� 67;=A ;=(h>9@ �IA ;=A 6<;='7%�35;)%�')(56

� -a`*0�5y.Z.R54; �Q>�I7.Z0:3QL���.102G�.1043�0:A�LR3,LR`*0�S2IU@F@f04STLRCFIUA¯IK>¨57@[email protected]:0:32_ c A�CrLRCl5K@J875K@^<*043I7>¢LR`*043�0�57.1.R5e;Y3X57.10�31`�Ie©ªAd573�>?IU@F@^I ©ª3 �

� ¬�Cfj9<*.10&®P_ �%! 31`�Ie©ª3XLR`*0�57O�Ie890zLR`*.1020qBP5yLn5o3QLZ.Z<�SbLR<*.1043X>�I7. IU<*.a0 �P57EHGP@^0K_

��� �¥��� Y�� �9�-` H � � o ²�� � F � �,� �����w�J�/�b� � ²]`K�e� �J���� N 2 HJ) �;�.N*)K�.) 2 �X35&�.) �.N -% &O%*) ���.)K) 2 % �.N*)L:;&�.)4������ ��Y1�� 2�� 2 % '*)�� &:����.)K) 2 % :;&�.)4��� � 2 �.N �.3Y-H HJ)4��� � ) 2 /ON��L<�� � � 2 %#'*)��=&:����!)K) 2 % :;&�.)4��� � 2 �.N ��)4"$&O%#' �.3 -H HJ)4��� � ) 2 /ON��L<� "$�.)4-0��)I- %*) � %*&Q'*) � 2 �.N

H "!N 2 H ' � :;&�.)4����� 2�� �.&(&� <�!"!N 2 H ' � :;&�.)4����� � � �.&(&� <

�� �.)K8 H -"$)L���!)K) 2�2 % :;&�.)4�����(6 -5���.)K) � 2 �.N �.&�&� -��%*) � %*&Q'*)! � 2 �.N� ) 2 /ON�� � : &�.)4�.��� 2�� � � ) 2 /ON��#" : &�!)4���$� � � � � ) 2 /ON��M<

%� '*)4HJ)K��) ���!)K) � :;�.&O3 :;&�.)4���

P

Page 93: Data Structure and Algorithm by Y. Narahari

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

1

2

3

4

5

.12

.40

.15

.08

.25

1

2

3

4

5

1 0 0

0

0

0

00

0

0

00

0

0

0

0

lchild rchild parent

2

3

4

5

weight root

last treelast node

.12 .40 .15 .08 .25 1

2

3

4

5

.12

.40

.15

.08

.25

1

2

3

4

5

a

c

d

e

b0 0 0 00c d eba

Inintial Forest

Forest

Alphabet

"! #&%-')(+*�, .&.&/���;)( e.

��C^A*0 �?® �+U�� CFA�Sb.Z045K3�0:3(LR`*0 A�<�E OJ02.�I7>*Sb04@^@F3¢I7>�LR`*0k57.1.R54; ;5(1./.U_���C^A*043 � � �¥5KA�B� ���LU�� B*0:Sb.Z045K3�0qLn`*0wA]<�E O|0:.$IK>�<YLRCF@^C�W204B­S20:@F@^3}IK>¨>?IK.10:3�L4_ ¬�Cfj9<*.1043a®P_ �U� «�®�_ �e� «5KA�B®P_ �" CF@F@^<�3QLR.R5yLZ0�B�C $J0:.10:A�L�3�LZ02GP3&IK>vLR`*0o57OJIe890�[email protected]`�E >?IK.zIU<*.�0 �P57EHGP@^0G�.ZIKOP@f04Et_

Page 94: Data Structure and Algorithm by Y. Narahari

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

1

2

3

.40 2

7

.25 5

weight root

b0 0

a

0.40

e

0.25

c

d4 1

3

6

70.35

2 5

i = least = 3j = second = 4

0.35

last tree

1

5

0 6

0

7

6

00

0

0

00

0

0

0

0

4 1 7

2

3

6

lchild rchild parent

0637

last node Tree

Step 3

Step 2

0.20

d a

0.40 015 0.25

4 1

0 0 02 3 5

i = least = 4j = second = 1

last node

1

2

3

4

.40

.15

.20

2

3

6

.25 5

Forestlast tree

weight root

1

5

0 6

0

0

6

00

0

0

00

0

0

0

0

4 1 0

lchild rchild parent

2

3

6

Tree

4

4

"! #9%�')(]*-,$. ��/���;=(� � A��� ��;)( �

Page 95: Data Structure and Algorithm by Y. Narahari

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

1

5

0 6

0

7

6

0

0

0

00

0

0

0

0

4 1 7

2

3

6

lchild rchild parent

63

4

7

8

last node

8

8

075

b0

0.40

2

0.60

d

c

a

i = least = 1j = second = 3

Step 4

4 1

5e

3

Step 5

1.00

ad

c

b

e

1 9

weight root

1.0

1

5

0 6

7

6

0

0

0

00

0

0

0

0

4 1 7

2

3

6

lchild rchild parent

63

4

7

8

8

8

75

1

2 .40

8

weight root

0.60

last tree

2

Forest

last tree

9last node

2 8 0

9

9

"! #9%�')(]*-,$. ��/���;=(�G* A��� ��;)( �

Page 96: Data Structure and Algorithm by Y. Narahari

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

���?� ��)Q����!�� � ����!P'�� �x!����

� � G�.ZIUEHCFA*0:A�L}BP5yLn5N3QLR.Z<�STLR<*.Z0w<�3�04B C^A�Ep5KA�;d3Q;*3QLZ04EH3}G�.ZIKjU.R5KEpEHCFA*jx57G"mGP@^CFS:5yLRCFIUA�3k>?IK. .102G�.Z0:3�04A9LRCFA*jx5KA�B\EN5KAP57j9C^A*j BY;YAP5KEpCFSz310bLR32_

� �$8902.n5yjU0�S457310xS2IUEHGP@^0 �*CfL+;tIK> [�0e57.ZSM`(« c A�3�02.�Le«�57A�B �}04@f02LZ0N°}GJ02.n5mLnC^IUA�3&CF3° ��@FI7jxA �M«Y©ª`*02.Z0qA­CF3�LR`*0qA]<�E O|0:.�IK>¨A�I]B*0:3aCFA¯LR`*0qLZ.1020U_

� � ��" � � OPCFAP5y.1;¯LZ.10:0�C^A­©ª`�CFSM`­LR`*0�A�I]B*0:3ª57.10w@F57OJ0:@^0:B­©ªCfLR`­0:@^0:EH0:A�LR3 IK>57A IK.ZB*0:.10:B BY;YAP5KEpCFS 3�0bLw5KA�B LR`*0o>?IU@^@FIe©ªCFA*j��X[]- G�.RI7GJ02.1L{;CF3q3Z5yLRCF3Q�P0:B �57@F@�0:@^0:EH04A9LR3�3QLRIK.104B­CFA6LR`*0�@^02>±L$31<*O*LZ.Z020�IK>�5KA9;6A�I]B*0 �t57.10q@^0:313�Ln`P57A\LR`*00:@^0:EH0:A�Lz3QLRIK.104B�5yL � 5KA�B 5K@F@/0:@^0:EH0:A�LR3ª3�LRIK.10:B�C^A�LR`*0 .ZC^j9`9L�31<*O*LZ.10:0�I7> �5y.Z0&jK.Z045yLZ02.,LR`P5KA¯Ln`*0q0:@^0:EH0:A�La5yL �¥_

�_^ � � � F�� q�³?��� ¬�C^jU<*.Z0�®P_ � ®d31`�Ie©ª3�5\OPCFAP5y.1;�3�0457.ZSM`�LZ.10:0K_ & IyLnC^S20 LR`P5yLLR`�C^3aLZ.1020�CF3}IKO*Ln5KCFA*0:B­O�;�CFA�3�02.�LnC^A*jxLR`*0�8757@F<*0:3 �% « «J®P« �4� « � ®P« �%! « �]« � «�Y« � « #�« �Y« �K� « �*« � �xC^A6LR`P5yL$I7.RB*02.:«*3QLM5y.1LRC^A*j >?.ZIUE 5KA604ExG*L+;pLZ.10:0K_

�'& I7LZ0�LR`P5yLdCFA�IK.ZB*02.6LZ.R54890:.Z3Z5K@}IK>�5gOPCFAP57.�; 3�0457.ZSM`DLR.1020 5K@r©a54;Y36j9Cr890:3d531IK.�LZ0:Bo3�0:~]<*0:A�Sb0$IK>|LR`*0�875K@^<*0432_¨-a`�CF3vCF3�5&B�Cf.Z0:STL�S2IUA�3�04~�<*0:A�S20$IK>�LR`*0���[]-G�.ZIKG|0:.�L{;9_�-a`�C^3oG�.ZIe8YCFB*0:3x5�© 54;�IK>z31IK.�LRCFA*j 5 j9Cf8U04Ah3�0:~]<*0:A�S20dIK> �U02;Y3 ��P.Z3QL4« Sb.10e5mLR0 5���[]- ©ªCfLR`�LR`*0:3�0 �K02;Y3q5KA�BLR`*0:A B�Id57A CFA�I7.RB*02.zLZ.R54890:.Z3Z5K@I7>¢LR`*0���[]- 31IHSb.10e5mLR0:B(_

�'& I7LZ0�LR`P5yL(LR`*0�`�Cfj9`*0:3�L(875K@^<*04B&0:@^0:EH0:A�L C^Aq5���[]- S457AqO|0�>?IU<�A�B&O�;}LZ.n548902.Z34mC^A*j > .RIKE LR`*0&.RI�I7L�CFANLR`*0�.ZC^j9`9L B�Cf.104STLRCFIUA¯5K@^@(5K@FIKA*j <�A�LRC^@¥5oA�I�B*0z©ªCrLn`6A�I.ZCfj9`�L¢@FC^A��&CF3�>�IK<�A�B � ©�0�S45KA�S457@F@KLR`P5yL¢LR`*0 .ZC^jU`�LREpIU3QL(0:@^0:EH0:A�L¢CFAqLn`*0�X[]- �M_

� -a`*0�@FIe©�0:3QL�875K@^<*04B¯0:@^0:EH04A9L�CFAd5��[]-WS457A\OJ0&>?IU<�A�B6O�;NLZ.R548902.R31C^A*j�> .RIKELR`*0�.ZI�I7L�CFANLn`*0�@^02> L�B�C^.10:SbLRC^IUA¯5K@F@�5K@FIUA*j�<�A9LRCF@¥5 A�I�B*0�©ªCfLR`¯A�I�@^02> L�@FC^A��NCF3>?IU<�A�B � ©�0qS:5KA­S:5K@^@¥LR`P5yL�Ln`*0q@f0:>±LREpIU3QLX04@f04Ex04A9L C^A\LR`*0���[]- �M_

�ZY � F�� ` H C^3p3QLZ.n57C^j9`9LZ>�I7.1© 57.ZB�C^A 5���[]-q_X[�Ln57.�Lo©ªCfLR` LR`*0t.ZI�I7L¯5KA�B �U020:GEHI 8YCFA*j�@^02> L IK.�.ZC^j9`9L�<�3ZC^A*j�LR`*0 ��[]-cG�.ZIKGJ02.�L+;U_ c >�LR`*0 �U02; ©X0ª57.10$3�0:0 �]CFA*jC^3aG�.Z0:3�04A9L4«PLR`�CF3ª3�0e5y.RSn`dG�.RI�Sb04B�<*.10q©ªCF@F@ @^045KBt<�3aLRIHLn`*0 �U0b;9_ c >¨Ln`*0 �U0b;tCF3A�IyLaG�.1043�0:A�L4«]©X0�0:A�Bd<*GtC^Ad5oA]<�@^@ @^CFA��J_

��� �/�:� � � � �J� CFA 5��X[]- C^3w5K@^31It5d3QLR.R5KCfj9`9LR>?IK.�© 57.ZB�IKGJ02.R5yLRCFIUA(_ c >X©X0pA*0204BLRI6CFA�3�02.1Lq5KA 0:@^0:EH04A9L��(«¥©�0 �P.Z3QLq3�0e57.ZSM`�>�I7. �(_ c > � CF3�G�.10:310:A9Le«�LR`*0:.10oCF3

Page 97: Data Structure and Algorithm by Y. Narahari

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

A�IyLn`�C^A*j&LnI�B�I�_ c > �HCF3 A�IyL G�.1043�0:A�L4«ULn`*0:ApIU<*.�310457.ZSM`oG�.RI�Sb04B�<*.10a0:A�B�3,C^AN5A�<�@F@�@FC^A���_ c L�C^3,5yL LR`�CF3 G�IU31CrLnC^IUAHI7>(LR`�C^3 A]<�@^@|@^CFA���Ln`P5mL �H©ªC^@F@POJ0}CFA�S2@F<�B*0:B(_

� c >�©X0z.102GJ045yLZ04B�@r;NC^A�3102.�La5 31IK.�LZ04B¯3�0:~]<*0:A�S20�IK>�875K@^<*043kLRI�>�I7.RE 5�X[]-q«�©X0I7O*LM57CFA¯5�S2IUEHGP@^0bLZ04@r;o3 �U02©X0:B��X[]-q_Y-a`*0&`*0:C^j9`9LXIK>�3Z<�Sn`­5wLZ.10:0zCF3 JXU � C^>LR`*0$LZ.Z020�`P573RJA�I�B*0432_�-a`�<�32«�LR`*0ª©�IK.Z3QL�S:5K3�0�S2IUEHGP@f0 �*CfL{;�IK>�3�0e57.ZSM`�C^A*j�IK.C^A�3�0:.�LRCFA*jo5KA\04@f04EH0:A9L C^A�LRIx5 �X[]- `P548*C^A*j J A�I]B*0:3aCF3 � �<J �T_

122

10

5 11

8

7

6

9

18

13

143

41

n! #&%�'7(+*�, .*�/�� � ( ��A � �$(h>9@BA���! �IA9' � 6)(4A9')3 � ;='7(4(

� � �P�����,� ���P�X� � ��(02L �iO|0N568757@F<*0�LnI\OJ0pB*0:@^0bLZ04B > .ZIUE LR`*0 ��[]- 57A�B @f02L�� B*04A�I7LZ0�LR`*0HA�I�B*0S2IUA9LM57CFA�CFA*j\Ln`*0x875K@F<*0 �¥_��ª04@f02LRCFIKA I7>$5KA 04@f04EH0:A9L�C^Ag5 ��[]- 57j�5KC^A <�3�0:3wLR`*0�X[]- G�.ZIKGJ02.�L+;¯C^At5xSb.ZCfLRCFS:5K@|© 54;9_ � `*0:A­©�0qB*0:@^0bLZ0&Ln`*0�A�I�B*0�� S2IUA9LM57CFA�CFA*j �¥«CrL�© IK<�@FBS2.1045yLZ0o5 �789IUCFB �pLR`P5yL&31`�IU<�@^B OJ0 ��@^@^0:B�O�;�5\31<�CfLn57OP@f0�0 �*CF3QLRCFA*j6A�I�B*0IK>(LR`*0 �X[]-q_Y-a`*0:.10�57.10}L+©�IwGJIU313ZCfOP@^0zS45KA�B�C^BP5yLZ0zA�I�B*0:3kLR`P5yL�S457AN��@^@|LR`�CF3 8�IUC^B(«C^A 5 ©a54;gLR`P5yLxLn`*0 �X[]- G�.ZIKG|0:.�L+;gCF3pA�IyLp8*C^IU@l5mLR0:B � � � �M_ & I]B*0�S2IUA9Ln5KCFA�C^A*j`�Cfj9`*043QLk875K@^<*04BN0:@^0:EH04A9LX5KEpIKA*j 5K@^@JB*0:3ZSb0:A�BP5KA�LR3,IK>�@^02> L�SM`�C^@FBNIK>���_ � � �M_ & I�B*0

Page 98: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� � *

delete 4

/* delete leaf */

delete 10

/* delete a node with no left subtree */

delete 27

/* delete node with noright subtree */

delete 13

/* delete node with both

left and right subtrees */

Method 1.

Find highest valued elementamong the descendants ofleft child

Find lowest valued element

Method 2

among the descendants ofright child

17

13 21

15 2410

4 11 16 23 27

25

26

17

13 21

15 24

16 23

11

25

26

17

21

15 24

16 23 25

26

11

17

13 21

15 24

16 23 27

25

26

11

17

21

24

23 25

26

15

1611

17

13 21

15 2410

11 16 23 27

25

26

"!$#&%�')( *�,$. ��/��]( �$(5;=!$>�� ! ����! �IA9' � 6)(4A9')3 � ;='7(4(465/ � � ( �-A�� � (

S2IUA9LM57CFA�CFA*j LR`*0k@^I ©X0:3�L�875K@F<*0:B�0:@^0:EH0:A�L/5KEpIKA*jª5K@F@ULR`*0kB*0431Sb04A�BP57A�LR3�IK>YLR`*0 .ZC^jU`�LSM`�C^@FBdI7> � _ c AtS457310 � � �M«�LR`*0�310:@^0:STLR0:BtA�I�B*0�©ªC^@F@ A*04Sb04313Z57.ZCF@r;\`P5e8U0w5xA]<�@^@ .ZC^jU`�L@^CFA��\©ª`�C^SM`S45KAOJ0�S2IUA98904A�Cf04A9LR@f;­<�3�04B�CFA�G�5mLnSn`�CFA*jN<*GLn`*0�LZ.1020U_ c A S:5K3�0 � � �M«LR`*0ª3�04@f04STLZ04BNA�I�B*0ª©ªC^@F@PA*0:S20:313R5y.RC^@f;x`P54890}5wA�<�@F@�@^02> L,@^CFA�� ©ª`�CFSn`pS457ApOJ0}<�310:B¯CFAG�5yLRSM`�C^A*jp<*G�LR`*0�LZ.10:0K_}¬�Cfj9<*.10w®P_ � ��C^@F@F<�3QLZ.R5yLZ043a3�0b8902.n57@¢31S20:AP57.ZCFIK3$>?IK.}B*0:@^0bLnC^IUAC^A ��[]-a32_

Page 99: Data Structure and Algorithm by Y. Narahari

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

���f���?� ^�� � �IF \�� � F �4� ^ � F ³ �e� �p� ��� Y�� � q�� �IF � � �J�/���� ����� �

c >�©X0iCFA�3�02.�L J .n57A�B�IUE 0:@^0:EH04A9LR3\C^A�LRI 5KA CFA�CrLRCl5K@^@f;c04ExG*L+; �X[]-q«,LR`*04A LR`*0548902.R57jU0zG�5mLn`\@^0:A*jKLR`\> .ZIUE LR`*0q.RI�I7LXLnIx5xA�I�B*0�CF3}° ��@FIKjoA �

�'& I7LZ0 Ln`P5mL&Ln`*0 ��[]- C^3&>�I7.REx04BO�; CFA�3�02.1LRC^IUA�3&IUA�@f;U_N°}O�8*C^IU<�31@f;�LR`*0oLZ.102031I�>?IK.ZEH04B6A*0204BdA�IyLaOJ0�S2IUEHGP@^0bLZ0U_

� � 0�31`P5K@F@ª5K3131<�EH0dLR`P5yL657@F@$IK.ZB*0:.Z3pI7>qA CFA�3�02.1LZ0:B 0:@^0:EH0:A�LR3p5y.Z0�0:~]<P57@F@f;@^C �U0:@f;U_�-a`�CF3 EH045KA�3vLR`P5yLX57A�;xIK>�LR`*0}A�GJ02.ZE�<YLM5mLnC^IUA�3�CF3�0:~]<P5K@^@f;o@^C �U0:@f; LRIO|0&Ln`*0q3�0:~]<*0:A�Sb0wIK> �U02;Y3 C^A�3102.�LZ04B(_� 0bL

� ��A � S 5e8U0:.R57jU0}G�5yLR`d@^0:A*jKLR`6CFAt5��[]-W©ªCrLR`\AdA�I�B*0:3� 548902.R57jU0zA]<�E OJ02. I7>�A�I]B*0:3aIUA\LR`*0&G�5yLR`­> .ZIUE LR`*0q.ZI]I7LLnIx5xA�I�B*0K«PA�IyL$A*04Sb0:3Z3Z57.ZC^@f;65o@^0457> �

� 0bL5 S �P.R3QLa0:@^0:EH0:A�L CFA�3�02.1LZ0:B(_v-a`�C^3X©ªCF@^@�OJ0qLn`*0&.ZI�I7L$IK>

Ln`*0��X[]-q_P�}@F31I Ln`�C^3 CF3X04~�<P5K@F@r;6@FC �U04@r;pLRIoO|0&Ln`*0&�P.Z3QL4«*310:S2IUA�B_ _a_a«BQ Ln`(«(_a_ _a«�IK. A�LR`dC^A6LR`*0�3ZI7.1LZ0:B­IK.ZB*02. IK>/LR`*0A­04@f04Ex04A9LR3:_

& I7LZ0qLR`P5yL � � ! � S ! 5KA�B�� � � � S � _$VXIKA�3ZC^B*0:.ª5�� �*0:BlQZ£ !�� Q � J U � _ c >?Q0:@^0:EH0:A�LR3X57.10q@^0:3Z3�LR`P5KA­5*«*Ln`*0��X[]-W©ªCF@^@¥@FI�I �N@^C �U0qC^At¬�C^j9<*.10&®P_ � �*_

� []C^A�S20}5K@^@PIK.ZB*0:.Z3�>?IK.�LR`*0 Q¨31EN5K@^@*04@f04EH0:A9Ln3�57.10a04~�<P5K@^@f;o@FC �U0:@f;o5KA�BH@FC �K02©ªC^310>?IK.,LR`*0 �<JkU Q U � �,@F57.1jU0:.,0:@^0:EH04A9LR32«�$8902.n5yjU0zG�5yLR`d@f04A*j7Ln`6CFA6Ln`*0

@^02> La3Z<*O*LZ.1020gS � �7Q �

.RCfj9`9La31<*O*LZ.Z020gS � �<JkU Q U � �

� ¬�IK.�5ª� �Y04B QZ«U@^0bLv<�3�S2IUEHGP<YLZ0 LR`*0a548902.n5yjU0kG�5yLR` @^0:A*jKLR` IK>�LR`*0 57O�Ie890kLZ.Z020K_& <�E OJ02.�IK>�G�.ZIKO|043�C^>/LR`*0&04@f04Ex04A9L$5�CF3 O|04C^A*jH31IU<*j9`9LLS �

Page 100: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� �M´

a

n-i-1elements

< a

> a

BST withi elements

BST with

Root

"! #&%-')(]*�, . ´ /��l; � �!$3A� ��! �IA9' � 6)(4A9')3 � ;='7(4(��2!$; ���V(�� ( �R( ��;)6�$8902.n5yjU0NA�<�E�O|0:.wIK>aG�.ZIKOJ0:3 C^>a5KA�0:@^0:EH04A9L�> .ZIUE LR`*0 ��[]- C^3 3ZIK<*j9`�L�S� � �<Q �

�$8902.n5yjU0qA]<�E O|0:.aI7>�G�.RI7OJ0:3ªCf>�5KAd0:@^0:EH04A9L > .ZIUE LR`*0��}[]- C^3ª31IU<*jU`�L S � � �<J U Q U � ���.ZIKO�5yOPCF@FCrL+;xIK>¨3�020 �]CFA*jH5KA9;6IK>¢LR`*0�A­04@f04Ex04A9LR3 S ¡�-a`�<�32«P5e8U0:.R57jU0}G�5yLR`­@f04A*jKLR`6>�I7.$5 � �Y0:B Q

S �J�� � Q�� � �� �<Q � � �<J U Q U � �"� � �� �7J U Q U � � �

S � QJ � �7Q � JkU Q U �

J � �<J U Q]U � �S � �<J�£KQ �M£ 3Z54;J¦

� °}OP3�02.18U0�Ln`P5mL�� �7J �kCF3 j9Cr8904A6O�;

� �<J �CS � � ¡�M���� ��.ZIKO � ��[]-W`P5K3 Q A�I�B*043��� �<J�£KQ �

[]C^A�S20kLR`*0�G�.ZIKO�57OPC^@FCrL+;�LR`P5yL�LR`*0 �/[]-h`P5K3hQ 0:@^0:EH0:A�LR3�©ª`�C^SM` CF3�LR`*0�3Z5KEx0�573LR`*0�G�.ZIKO�5yOPCF@FCrL+;oLR`P5yL dNC^3XLR`*0 �7Q � LR`¯04@f04Ex04A9L�� ©ª`*02.10 Q?S ! £ � £:¦4¦4¦T£�J U� ��S ¡� «Y©X0�`P54890

� �<J � S �J

� � ¡�M���� � �7J�£�Q �

Page 101: Data Structure and Algorithm by Y. Narahari

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

S �J�� � � � ¡�M���� � � Q

J � �7Q � JkU Q U �J � �<JkU Q U ����� �

S � �J ¤

� � ¡�M����� Q � �7Q � �<JkU Q U � � � �7J U Q U � �

S � �J ¤

� � ¡�M���� Q � �<Q �

31C^A�S20 � � ¡�M���� Q � �<Q �CS � � ¡�

M���� �<JkU Q U � � � �<J U Q U � �

� -a`�<�3XLR`*0�54890:.R57jK0zG�5yLR`­@f04A*j7Ln`\CFAt5��[]- 3R5mLnC^3Q�P043XLR`*0&.10:S:<*.1.104A�Sb0 �

� �<J �CS � �J ¤

� � ¡�M���� Q � �<Q �

� � 0�31`P5K@^@ 31`�Ie© LR`P5yL � �<J � � � �® @FI7jCJ�«*O�; c A�B�<�SbLRCFIKA(_

�C�I�4��� � � � �,C^3 �YA�Ie©ªANLRIoO|0 � _v�z@F31I LR`*0 � ��[ S � >?IK. A_S �

� �������9���7� � �(02LªLR`*0�.10431<�@rL}O|0�LZ.R<*0�� Q��jJ�_ � 0 31`P5K@^@/31`�I © LR`P5yL$LR`*0�57OJI 8U0wC^3ªLZ.Z<*0>?IK. Q:S J�_VXIKA�3ZC^B*0:.

� �<J � � � �J ¤

� � ¡�M�� ¡ Q�� � g® @^IKjCQ �

S � �J ¤

� � ¡�M�� ¡ ® Q�@FI7jCQ

�J ¤

� � ¡�M���� Q

� � �J ¤

� � ¡�M�� ¡ ® Q�@FI7jCQ

�J ¤ �� J ¤� �� 31C^A�S20 � � ¡�

M�� ¡ Q �J ¤�

Page 102: Data Structure and Algorithm by Y. Narahari

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

-a`�<�3� �<J � �W� �

J ¤� � ¡�M�� ¡ Q�@FIKjCQ

& Ie©� � ¡�M�� ¡ Q�@FIKjCQ S

��� ��� � ¡�M�� ¡ Q�@FIKj�Q� � � ¡�

M�� � � � � Q�@^IKjCQ

�� � ��� � ¡�M�� ¡ Q�@FIKj J �

� � ¡�M�� � � � � Q�@^IKjCJ

�J ¤� @FIKj J �

J ¤� @FIKj�J

S J ¤� @FIKjCJkU J ¤

-a`*02.10:>?IK.10

� �<J � �W� �J ¤ �� J ¤� @^IKj U J

¤� �� S � g® @FI7j�J

� EpI7.Z0�S457.102>?<�@(5KAP5K@f;Y31CF3 S:5KA6OJ0�B�IUA*0�5KA�BdCrL$S457A­OJ0�31`�Ie©ªA6LR`P5yL� �<J � � � � ¦ ® @^IKj�J

����� � ��� � � �o! � ���

� �#" � �z5KA�C^0:@/� []@^045yLRIK.ª5KA�B �aIKO|0:.�Lzsa_J-¨57. ��5KA(_$[�0:@^> m{5KB �Q<�3QLRCFA*jxOPCFAP57.�;­310457.ZSM`LZ.1020432_ *��%( 4� �� *:9 ;=<>.������ « � IK@F<�EH0 �� « & <�E O|0:. «9G�G _ ��� � m � � �Y« � � ���]_

� �#" � �aIKO|0:.�L sa_U-¨57. �157A(_¨�}EpIK.�LRC�W204BwS:IUExGP<YLM5mLnC^IUAP5K@�S2IUEHGP@^0 �*CfL+;U_���?���� *�� (��4� ��#*34���� 6 .�� ( 32 ,! 34 0#"�257 , (+. ; .$� . ;=<%*-037K« � IU@F<�Ex0 �Y« & <�E O|0:. � «$G�G _ ! � m P� �*« � � ���]_

� -a`*0:3�0}57.10ªOPC^AP57.�;x310457.ZSM`xLZ.102043�©ª`�C^SM`p57.10ª3�04@f> m{5KB �Q<�3QLnC^A*jwC^AxLR`*0}>?IU@^@FIe©ªCFA*j© 54; �sv8U0:.�;dLRCFEx0w©�0o57S:Sb04313q56A�I]B*0oIK>�LR`*0 LZ.10:0K«J©ª`*02LR`*02.�>?IK.�.102LZ.ZC^0b875K@�IK.�CFAnm3�02.�LnC^IUA�IK.&B*0:@^0bLRCFIUA(«J©X0�GJ02.1>�I7.RE .R5KB�C^S457@/31<*.ZjK0:.�;IUA�Ln`*0�LZ.1020U«�.10431<�@rLnC^A*j

Page 103: Data Structure and Algorithm by Y. Narahari

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

C^A LR`*0¯A*0b©ª@f; 57S:Sb04313�0:B�A�I�B*0NOJ0:S:IUEHCFA*jdLR`*0N.ZI]I7LwIK>�LR`*0NEHI]B�Cr�P04BiLZ.Z020K_-a`�C^3z31<*.1jU02.1;\©ªCF@^@¢04A�31<*.10�LR`P5yL&A�I�B*0:3}LR`P5yL&5y.Z0w>?.10:~]<*0:A9Ln@r;�5KS2Sb04313�04B�©ªCF@^@A*0b8902.,B*.RCf>±L,LRI�I�>�57.X5e© 54;o>?.ZIUE LR`*0z.ZI]IyL,©ª`*02.10e573XC^AP5KSbLRCr890ªA�I]B*0:3k©ªC^@F@�jU02LGP<�31`*0:Bt54©a54;N>�57.�LR`*02.X> .ZIUE LR`*0&.RI�I7L4_

� �}EpIK.�LRC�W204BNS2IUEHGP@f0 �*CfL{;

[�GP@l54;pLZ.10:0:3�S:5KA\O|04S2IUEH0�`�C^j9`�@r;N<�A�O�5K@l5KA�Sb0:B\31I Ln`P5mL$5 31CFA*j9@f0q5KS2S20:313LnIx5xA�I�B*0�IK>¢LR`*0&LZ.Z020qS:5KA\O|0w~�<�CfLZ0&0 �*G|04A�31Cf8U0U_ �}Ie©�0b8902.:«7Ie8902.�5�@FIUA*j&3�0:~]<*0:A�Sb0 IK>J5KS2S20:31310:32«7LR`*0�> 02©c0 �*G|04A�31Cr890�S:5K3�0:357.10�5e8U0:.R57jU0:B6CFA\©ªCrLn`\EN5KA9;¯CFA*0 �YGJ0:A�3ZCr890qS:5K3�043�LRIHI7O*LM57CFA¯j9I]I�B\G|0:.m>�I7.REp5KA�S20K_

� �}I�0:3aA�I7L$A*0204B­`*04Cfj9`�LR3XIK. O�5K@F5KA�S20z> 57SbLRIK.Z3 573aCFA­� � � LR.102043 5KA�BdS2IU@FIU<*.Z3573 CFA�� 0:Bnm �k@F5KS�pLZ.10:0:32_

� -a`*0�31<*.ZjK0:.�;zIUAqLR`*0�LR.1020�C^3¢B�IUA*0�<�3ZC^A*j � �P� F �e�?�|�/� «U57@F31I S:5K@F@f04B�5K3 3�GP@l54;*C^A*j3QLZ02GP3:_v-a`*0:.10�57.10q31C �­B�C $J0:.10:A�La31GP@F54;*C^A*j�3�LZ02GP32_� _��¥Cfj �aI7Ln5yLRCFIKA � �aC^jU`�L �$IyLM5mLnC^IUA �� _��(57j �aI7Ln5yLRCFIUA � � 02>±L��aI7Ln5yLRCFIUA � _��¥Cfj m��¥57j ���¥Cfjo>?IU@^@FIe©X04BNO�;��¥57j �®P_��(57j m��¥Cfj ���(57jo>?IU@F@^Ie©�0:BpO�;���C^j ��]_��¥Cfj m���C^j�*_��(57j m��(5yj

� VXIKA�3ZC^B*0:.,LR`*0�G�5mLn`6j9IUC^A*jo> .ZIUE LR`*0q.ZI]I7L B�Ie©ªA6LRI�LR`*0�5KS2S20:313�04BdA�I�B*0K_

s 5KSM` LRC^EH0H©X0¯EpIe890p@f0:>±L j9IKCFA*jB�Ie©ªA LR`�CF3wG�5mLn`(«�©�063Z54;i©�0 �W4Cfj �5KA�B­045KSM`6LRC^EH0z©X0qEpIe890�.ZC^j9`9L4«�©X0q3R54;¯©X0 ��We5yjP_ �

� ��C^j �aI7Ln5yLRCFIKA\57A�B��(5yj �aI7Ln5yLRCFIKA & I7LZ0 LR`P5yL�5 W:C^j\.ZI7Ln5yLRCFIUA�CF3zLR`*0o3Z5KEH0o5K3q56.RCfj9`9L�.ZI7Ln5yLRCFIUAd©ª`*02.10e5K3Ln`*0VW457jx3�LZ02GtCF3,Ln`*0�@f0:>±La.ZI7Ln5yLRCFIKA(_

[�0:0�¬�C^j9<*.10&®P_ � #]_� ��C^j m��(5yj

Page 104: Data Structure and Algorithm by Y. Narahari

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

large small

large (target)small

(target)

T1 T2

T3

Zig rotation

Zag rotation

T1

T2 T3

"!$#&%�'7(+*�,$. � /�� ! #�'7>9; A ;)! >�� A �����4A9# ')>9;=A ;=!$>��

large

small

middle (target) T1

T2 T3

T4

T3 T4

small

middle

large

T1 T2

"! #9%�')(+*�, . � /�� !$#����4A9#C'7>9; A ;)! >��

T3 T4

small

middle

large

small

large

T4

T1

T2 T3

(target) mid

T1 T2

"! #9%�')(+*�, . � /�� A #����5! #C'7>9; A ;)! >��

T3

T2

T2

T3T1

T4

large

mid T1

T4

small

large(target)

mid

small(target)

Zag - Zag

Zig - Zig

"!$#&%�')( *�,�� � /�� ! #����4!$#�A�����A #����4A9# ')>9;=A ;=!$>���6

Page 105: Data Structure and Algorithm by Y. Narahari

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

T3

T2T1

T4

large

mid

small

Two successive

Right Rotations

T1

small

T4

T3T2

mid

large

"!$#&%�'7(+*�,���.&/�� ��>R6)%-3434(56)67!$8&(�')! #���;2'7>9; AK;=! >��6

-a`�CF3$CF3 LR`*0w3Z5KEx0w573}5pB�IK<*OP@^0q.ZI7Ln5yLRCFIUA\CFA�5KAt� � � LZ.10:0K_ & I7LZ0�LR`P5yLLn`*0&Ln57.1jU0bL�0:@^0:EH0:A�L CF3a@^C^>±LZ04B6<*GdO�;6L{© I�@f02890:@F32_

[�0:0�¬�C^j9<*.10&®P_ � �*_� �¥57j m �¥Cfj

-a`�CF3 C^3$5K@F31I Ln`*0�3Z5KEH0&5K3$5oB�IK<*OP@^0&.ZI7Ln5yLRCFIUA¯C^At5KA­� � �iLZ.1020U_ �ª02.Z0�5yj�5KCFA(«]LR`*0&Ln57.1jU0bL�0:@^0:EH0:A�L CF3a@FCf>±LR0:B6<*GdO�;¯L{© I�@^0b890:@F32_ [�0:0�¬�C^j9<*.10&®P_ � �*_

� ��C^j m��¥Cfjo5KA�B��¥57j m �(57j

-a`*0qLn57.1jU0bLX04@f04EH0:A9LaCF3a@^C^>±LZ04B6<*GdO�;¯L+©�Io@f028U04@^3 CFA60e5KSn`dS457310K_ �¥Cfj m���C^j C^3HB�C $�02.Z0:A9LH> .ZIUE L{© I 31<�S2S20:3131Cf890d.ZCfj9`�Lo.ZI7Ln5yLRCFIKA�3 C We5yj m W457jCF3�B�C $�02.Z0:A9L�> .ZIUE L+©�I�3Z<�S2Sb043131Cf890¯@f0:>±Lw.RIyLM5mLnC^IUA�32_t¬�IK.�0 �P5KExGP@^0K«¨3�020¬¨Cfj9<*.1043X®P_ � ! «�5KA�B­®P_ �*� _

� [�020�¬�C^j9<*.10&®P_ �U� >�I7.$5KA\0 ��5KEHGP@^0� -a`*0�5yO�Ie890q31SM`*0:EH0&IK>¨3�GP@l54;YCFA*joCF3�S45K@^@^0:B [����2�e� � � ²+q 31GP@F54;*C^A*jP_� c A �e� q � b����H� 3�GP@l54;*C^A*jP«(©X0x3�Ln57.�Lq> .ZIUE Ln`*0x.ZI]I7L�57A�B�573&©X0x@FI�S45yLZ0�LR`*0Ln57.1jU0bL¯0:@^0:EH04A9L­5KA�B EpIe890B�I ©ªA(«a©�0 31GP@F54; 5K3¯©�0�j9I�_ -a`�C^3­C^3­EpIK.100buNS2C^0:A9Le_

Page 106: Data Structure and Algorithm by Y. Narahari

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

h

a

b

c

d

e

f

g

i

a

b

c

d

e

f

g

h

i

c

a

b

h

i

f

d

e

g

a

b

c

h

i

g

f

d

e

Zig - Zag

Zig - Zig

Zig

n! #&%�'7(]*�, ����/�� �G( ��A � �$(+>9@n6 � A � ! ��#

Page 107: Data Structure and Algorithm by Y. Narahari

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

30

10

Search ( 80,t)

leads to splay at 70

50

60

90

1007020

15

40

70

50

30

10

20

15

40

60

90

100

"! #9%�')(]*-,�����/�� � ( �-A�� � (+>9@n6)(4A9')3 �-! ��#R! � 6 � A � ;='7(4(56

�������?� Y � F�� ` H ��� �/�:� � � � �\��³?�U�4� �?� ���P�2�e� � � ²+q Y q�³ F ����]\� ������ ��� ������

c > CfLZ0:E Q C^3�CFA�LR.1020M«(.10bLn<*.ZA�5¯GJIUCFA9LZ0:.$LRIpLn`*0�A�I�B*0�S2IUA�Ln5KC^A�CFA*j Q+C(I7LR`*0:.�©ªC^310.10bLn<*.ZA\5oGJIUCFA9LZ0:.,LnI LR`*0�A]<�@^@ A�I�B*0K_

� [�0457.ZSM`6B�Ie©ªA6LR`*0q.RI�I7L IK>�T«�@^I]I �]CFA*j�>?IK. Q� c >�LR`*0310457.ZSM` CF3N31<�S:Sb0:3Z3�>?<�@�57A�B ©�0t.1045KSM`D5 A�I]B*0 � S2IUA�Ln5KC^A�CFA*j QZ«�©X0S2IUEHGP@f02LZ0ªLn`*0q3�0457.ZSM`\O�;\3�GP@l54;*C^A*jx5yL �5KA�B\.10bLR<*.RA�C^A*jx5�GJIUCFA9LZ0:.�LRI �

� c >�LR`*0�3�0e5y.RSn`dCF3ª<�A�31<�S:Sb04313�>?<�@ «�C _ 0K_F«�©�0�.10e57SM`\LR`*0�A�<�@F@ A�I]B*0K«�©X0w3�GP@F5e;­5yLLR`*0}@l5K3QL�A�IUAnm A�<�@F@�A�I]B*0z.Z045KSM`*0:BNB�<*.ZCFA*jwLR`*0z310457.ZSM`¯5KA�BN.10bLn<*.ZA¯5wGJIUCFA9LZ0:.LRIoA]<�@^@ _

� c >/LR`*0�LZ.Z020qCF3 0:EHG*L{;9«�©X0�IUEpCrLa5KA9;63�GP@l54;YCFA*joIKGJ02.R5yLRCFIUA(_

s���5KEHGP@f0�IK>¨57Ad<�A�31<�S:Sb04313�>?<�@�3�0457.ZSM` � [�020�¬�C^j9<*.10&®P_ � _

� �n�5������ ������� [�0457.ZSM`i>?IK.eQZ_ c >,Ln`*0p310457.ZSM` CF3�3Z<�S2Sb04313�>?<�@�Ln`*0:A�3�GP@F5e;i5yL�Ln`*0pA�I]B*0¯S2IUAnmLn5KC^A�CFA*j QZ_

� c >PLn`*0�3�0e57.ZSM` C^3v<�A�31<�S2S20:313�>�<�@ «K.10:GP@F5KS20kLR`*0�GJIUCFA9LZ0:.�LRI�A�<�@F@].1045KSM`*0:B�B�<*.RC^A*jLR`*0H310457.ZSM`iO�; 5dG�IUC^A�LZ02.qLRI�5tA*0b© A�I�B*0 ��LRItS2IUA9LM57CFAZQz5KA�B�3�GP@F5e;�LR`*0LZ.1020�5yL �

Page 108: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� � *

100

30

10

50

20

15

40

90

70

80

60Insert ( 80, t)

Splay at x

80 x

30

10

50

60

90

1007020

15

40

"!$#&%�'7(]*�, � *�/�� � ( �-A�� �$(+>9@BA �G! ��6)(5'7;2! � A�6 � A � ;='7(4(

¬�IK.$57A­0 ��5KEHGP@f0U«�[�0:0�¬�C^j9<*.10&®P_ � ®P_

� � �P������ ������� [�0457.ZSM` >?IK.LQZ_ c >kLR`*0x3�0e57.ZSM` CF3q<�A�31<�S:Sb04313�>?<�@ «¢3�GP@F5e; 5yL&LR`*0x@l5K3QL�A�IUAnm A]<�@^@A�I�B*0&0:A�S:IU<�A9LZ0:.10:B­B�<*.ZCFA*jx3�0e5y.RSn`(_

� c >¥LR`*0z3�0457.ZSM`pCF3k31<�S2S20:3131>?<�@ «]@^0bL��¯OJ0}LR`*0ªA�I�B*0zS2IUA9LM57CFA�CFA*jeQZ_v�}313Z<�Ex0 �6CF3A�IyLvLR`*0 .ZI�I7L 57A�Bx@f02L���OJ0 LR`*0 G�5y.Z0:A9L�IK> �¢_ � 0:GP@F5KSb0 �HO�;o5KAx57G�G�.ZIKG�.ZCl5yLZ0B*0:31S20:A�B*0:A�L$I7>��¯CFA\LR`*0q<�31<P5K@¥>�5K31`�CFIUA­5KA�B\LR`*04A\3�GP@l54;\5yL��|_

¬�IK.$57A­0 ��5KEHGP@f0U«]31020�¬�C^j9<*.10&®P_ � �]_

����� ��� ",!*��)�� ��# �����,",!P){� ��� � ���)� � �*) �

�}EpIK.�LRC�W204Bo5KAP5K@r;*31C^3 S:IUA�31C^B*0:.Z3k5w@^IUA*jw3�0:~]<*0:A�Sb0�IK>¥.10:@l5yLZ0:BH028U04A9LR3�.n5mLn`*02.�LR`P5KA5�31CFA*j9@f0&02890:A9LªCFA­C^31IU@l5yLRC^IUA(_��}EpIK.�LRC�W204B65KAP57@f;Y3ZC^3Xj9Cr890:3a5�©�IK.Z3QLaS:5K3�0�0:3QLRCFEN5yLZ0IK>�Ln`*0�S2IU3QL$IK>¨5o@FIUA*jo3�0:~]<*0:A�S20�IK>�.10:@l5yLZ0:B60b890:A�LR32_

���¥�?� � � F�� q�³?�� � Y � � �e���]\

� @FC^3�L,C^3��P.Z3�L,31IK.�LZ0:BN5KA�BxLR`*0:AN57>±LZ0:.k31IUEH0$<�3�0K«Y5q.n57A�B�IUE 04@f04EH0:A9LkCF3 C^A�S:@^<�B*04B5KA�BpLR`*0:AN3ZI7.1LZ0:B(_ c > ©X0}© 5KA9L LRI�B�IwLR`�CF3k.Z02GJ045yLZ0:B�@f;U«�LR`*04A¯57EpIK.�LRC�W204BH5KAP5K@f;Y31CF3©ªC^@F@¥CFA�B�C^S45mLR0�CFA�3�0:.�LRCFIKA\31IK.�La.R5yLR`*02.XLR`P5KA­`*0457GP31IK.�LaI7.a~]<�C^S�]3ZI7.1L4_

Page 109: Data Structure and Algorithm by Y. Narahari

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

60Delete (30,t)

Splay at y

x

y y100

30

10

50

20

15

40

90

70

80

60

100

90

80

70

10

50

40

20

15

60

10

50

40

20

15

100

90

70

80

"! #9%�')(]*-,�� ��/�� � ( �-A�� � (+>9@"A ��( �$(5;=(+! � AR6 � A � ;)')(5(

���¥��� � � F�� q�³?�� � �,� ��� �,�IF�� � � � F ³ � � �/� � b�� ���� �(02LaLR`*0�S:IK3�LªI7>¨8YCF31CrLnC^A*jp5 8902.1LZ0 �\OJ0qLn`*0�A�<�E�O|0:. IK>�O�.R5KA�SM`*0:3aLZ.R548902.R3�0:BLRI�.10e5KSn`6LR`P5yL�8U0:.�LZ0 �6> .ZIUE LR`*0�@l5K3QL IUA*0&8*C^3ZCrLZ04B(_

��043QL$S:5K3�0�S:IK3�LGS � � I7.R3QL$S:5K3�0�S:IK3�LGS A m �� c >(©�0�5KEpIK.�LRC�W20 LR`*0&S:IK3�L�Ie8902.�5�LZ.R548902.R3Z5K@PIK>(LR`*0�0:A�LRC^.10ªOPCFAP57.�;oLZ.Z020K«�LR`*04ALR`*0 S2IU3QLqIK>�j9IUCFA*jN> .ZIUE 045KSM`t8902.1LZ0 �tLRIpLn`*0�A*0 �]LqCF3�@f04313}LR`P5KA � _q-�I\3�020©ª`9;U«kA�IyLR0¯LR`P5yLo028U0:.�;gOPC^AP57.�;�LZ.10206©ªCrLn` JD8902.�LRCFSb043�`P5K3�0 ��5KSTLR@f; J U �O�.R5KA�Sn`*043q5KA�B 5\S2IUEHGP@^0bLZ0wLZ.R5e8U0:.Z3Z5K@�IK>�LR`*0�LR.1020 j9I�043qIe8902.�0e57SM` O�.R5KA�SM`0 ��5KSbLR@r; L+©ªC^S20K_ -a`�<�3wLn`*0NLRI7Ln5K@ A�<�E OJ02.�IK>$3QLZ0:GP3 C^Ah5>?<�@^@ LZ.R548902.R3Z5K@ S� �7J U � �T_

� �}EpIK.�LRC�W204BNA�<�E OJ02. IK>/3�LZ02GP3 > .RIKE IKA*0�890:.�LZ0 �¯LnI LR`*0qA*0 �]L S ¤�� � � ¡��� � ����¥��� � � ��b¨�l� � F ³ F �]`9�

� -a`*0�Sb.104B�CrLa>?<�A�SbLRCFIKA6O|04`P54890:3a@FC �U0�LR`*0�O�57A��6O�57@l5KA�Sb0qIK>�5�©X0:@F@ m OP<�B*jU02LZ0:B>�5KEHCF@f;U_ c L6©ªCF@^@ªO|0 @l5y.ZjK0�©ª`*0:A LR`*0 A*0 �YL\IKG|0:.R5yLRCFIKA=CF3¯0 �*G|04A�31Cf8U0i5KA�B

Page 110: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� �M´

31EN57@F@^02. ©ª`*04A6Ln`*0�A*0 �YLaIKGJ02.R5yLRCFIUA6S457A\OJ0�B�IUA*0�~�<�CFS�]@f;U_� VXIKA�3ZC^B*0:. 5o3�0:~]<*0:A�Sb0wIK>�� I7GJ02.n5mLnC^IUA�3�IKAt5oBP5mLM5�3QLZ.R<�STLR<*.10U_ � 0bL

M S �zSTLR<P5K@¥S2IU3QL$IK>¨IKG|0:.R5yLRCFIKA Q�>�I7. � � Q � �

�(02L�Ln`*0&875K@^<*043�IK>/LR`*0qS2.10:B�CfLaO|02L{©�0204A6O�5K@l57A�S20&>?<�A�STLnC^IUA¯OJ0� �:£ � ¡ £ � ¤ £4¦:¦4¦b£ ���

� � S V,.104B�CrL O�5K@F5KA�S20&O|0:>?IK.10�LR`*0&�P.Z3�LaIKGJ02.R5yLRCFIUA� M S V,.104B�CrL O�5K@F5KA�S20�5y> LZ02. IKG|0:.R5yLRC^IUA Q

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

� -a`*0�57EpIK.�LRC�W204BNS2IU3QL d M/IK>¢0e5KSn`dIKGJ02.R5yLRCFIUA Q C^3aB*02��A*0:B­O�;d M S M � M U � M � ¡ � � �SM`P57A*jU0qCFA

LR`*0qSb.104B�CrLO�5K@F5KA�Sb0&B�<*.ZCFA*jIKG|0:.R5yLRC^IUA Q

Sn`�I]IU3�06Ln`*0�Sb.104B�CrLHO�57@l5KA�Sb0­>?<�A�STLnC^IUA � Mª31I�573oLRI EN5��U0¯LR`*0�5KEpIK.�LRC�W20:BS2IU3QLR3 d M 5K3�A*0e5y.R@r; 0:~]<P57@ 5K3�GJIU3131C^OP@^0K«�A�I�EN5yL1LZ0:.q`�Ie© LR`*0N5KSTLR<P5K@�S2IU3QLn3Ep5e;x8757.�;9_� 0�`P54890

M S d M U � M � M � ¡�$04A�Sb0

��M�� ¡ M S �7d*¡+U � ¡� � � � �)d�¤:U � ¤ � ¡ � ������ �)d � U � � � � � ¡ �

S �� ��M�� ¡ d M �� � � �CU ��� �

-a`�<�3 ��M�� ¡ M S �� ��M�� ¡ d M �� � ��U ���

Page 111: Data Structure and Algorithm by Y. Narahari

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

� -a`�<�3�LR`*0aLnIyLM57@P5KSbLR<P5K@PS2IU3QL,S457AHOJ0}S:IKEHGP<YLZ04BoCFAxLZ02.ZEp3�IK>�LR`*0}5KEpIK.�LRC�W20:BS2IU3QLR3a5KA�B\LR`*0qC^A�CfLRCl5K@�5KA�B\��AP5K@�875K@^<*043aIK>�Ln`*0�Sb.104B�CrL O�5K@F5KA�S20&>?<�A�STLRCFIUA(_

���¥�r� � � F�� q�³?�� � � �]` � � � �����e�?�]\ �o��� F�� � �J�4��\|� � �

� VXIKA�3ZC^B*0:. [email protected]`�E LRIwS2IUA9LRCFA�<P5K@F@r;�CFA�Sb.104EH0:A9L 5�OPC^AP57.�;oCFA9LZ0:jU02.�O�; � _[�Ln57.�Lz5yL$LR`*0 ��[ � ��@f0e5K3QL}31C^j9A�Cr��S457A�L$OPCrLe«|C _ 0K_a.RCfj9`9LzEHIU3QL}OPCrL � CP©ª`�CF@^0�LR`*0S2<*.1.104A9LkOPCfL�CF3 � «YSM`P57A*jU0zCrLXLRI ! 57A�B6EHI 8U0}@f0:>±L4«]3QLRIKG�GPC^A*jw©ª`*04Ap©X0}.1045KSM`>�57.�@^02>±L$IK.a`�CrLª5 ! OPCfL4«Y©ª`�CFSM`¯©�0qSn`P5KA*jU0�LRI � 5KA�Bd3QLRIKG _

� ¬�IK.6LR`*0 S2.10:B�CfLdO�57@l5KA�Sb0U«$LM5 �U0�LR`*0 LRI7Ln5K@�A�<�E OJ02.\I7> � 3dC^A LR`*0iOPCFAP5y.1;C^A�LZ02jU02. �

� ��)K8�� � %���)K/)K� ��� ��� �� ��� ������������� + � +����� ����� ������� � � ������ ��� ����������� � ������ ��� �!������� � � �� ��� � ������������� � ������ � ��� ������� � � �%���� � �!����������� � �� ��� � �!�!������� � � ������ ������������� � � ������ ����� ������� � � �������� ��� ��������� � � ��!����� ��� �!������� � � �� ����� �!����������� � � �� ����� �!��� ������� � � �� � ��� �!�!��������� � � �� ����� �!�!�!������� � � �� %���� ������������� � � �

���¥� � ^ � � � � ���9��b ^ � F ³ �e� �H� � Y q�³ F ����]\

� �}3q5\EH045K31<*.10 IK> S2IUEHGP@f0 �*CfL{;9«|©X0�31`P5K@F@/Ln5��U0�LR`*0oB*02G*Ln`©ªCfLR`�CFAtLR`*0�LZ.1020LR`P5yLXLR`*0�B*0:31C^.10:B­A�I�B*0�`P573 OJ02>�I7.Z0q3�GP@F5e;YCFA*j�_

Page 112: Data Structure and Algorithm by Y. Narahari

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

  � �X[]- IUA\©ª`�C^SM`¯©X0�57.10&GJ02.1>�I7.REHCFA*j�5o31GP@F54;C^A�3102.�LRCFIUA6IK. .10bLR.ZCf02875K@

  M � LZ.10:0q  5K3aCfL$`P573 OJ0204A\LZ.R5KA�3�>?IK.ZEH0:B\5y> LZ02.3QLZ0:G Q IK>/LR`*0q3�GP@l54;*C^A*j�G�.RI�Sb043132«Y©ªCfLR`\  � S  

� � 5KA9;\A�I]B*0qC^A­  M �M � � � � 31<*O*LZ.10:0�IK>/  M�©ªCrLn`¯.ZI]IyL ��  �M ��� � � � A�<�E OJ02. IK>¨A�I�B*043aI7>/ �M � � �

� � 0wS:IKA�3ZC^B*0:.aOJI7L1LRIUE m <*G­31GP@F54;*C^A*jN5yLz5HA�I�B*0 ��«J31IxLR`P5yL �OJ02j9CFA�3$31IUEH0�m©ª`*02.10zC^ApLn`*0ªLZ.Z020ª  OP<YL 57>±LZ0:. � 3�GP@F5e;YCFA*jw3QLR02GP32«]0:A�B�3�<*G\5K3 Ln`*0}.ZI]I7LXIK> �_

� �$5KA��¬�IK.�045KSM` 3QLZ0:G Q�IK>aLR`*0d3�GP@l54;YCFA*j G�.ZI�S20:313H57A�Bg0e5KSn`h8U0:.�LZ0 � � �  �«�©X0B*0b��A*0q.R5KA��65yL$3QLZ0:GkQ IK> �­LRI�OJ0

��M � � �:S @FIKj �  �M � � � � � � �`*04Cfj9`9L$IK>  M � � �kC^>�CrL

©�02.10qS:IKEHGP@^0bLZ04@r;O�5K@F5KA�S20:B(_

� �¨IK.�LRCFIUA IU<YL LR`*06S2.10:B�CfL�O�5K@F5KA�Sb0¯IK>aLn`*0NLZ.10:0\5KEHIUA*j 57@F@kCfLR3w8902.�LnC^S20:3�O�;.10:~]<�Cf.ZCFA*j�LR`*0q>�IK@F@FIe©ªC^A*j S2.10:B�CfL$C^A�875y.RCF5KA9LXLRIo`�IU@FB �¬�IK.}028U0:.�;tA�I�B*0 � I7>�  5KA�B 5y> LZ02.}0b8902.�;t3QLZ0:G_Q IK>�3�GP@l54;*C^A*jP«|A�I�B*0�� `P573Sb.104B�CrL 0:~]<P57@¥LRIoCfLR3�.R5KA��N� M � � �M_

� �ª02��A*0&LR`*0&LnIyLM57@�S2.10:B�CfLaO�57@l5KA�Sb0&>?IK.�LR`*0�LZ.Z020�5K3� M S �

�������� M � � �

� c >(Ln`*0}LR.1020�C^3X0:EHG*L+;xIK.XS:IKA�Ln5KC^A�3,IKA�@f;NIKA*0&A�I]B*0K«�LR`*0:A\CrLn3,Sb.Z0:B�CfL,O�5K@F5KA�Sb0C^3 ! _��z3¢LR`*0 LZ.10:0 jU.ZIe©ª32«yCrLR3/S2.10:B�CfL�O�57@l5KA�Sb0kCFA�Sb.10e5K3�0:32_/-a`*0XSb.104B�CrL/O�5K@F5KA�Sb031`�IU<�@^B\.10P04STL LR`*0&© IK. �NA*020:B*04B\LRI�OP<�CF@^B6LR`*0&LR.1020U_

Page 113: Data Structure and Algorithm by Y. Narahari

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

x

y

z

A B

C

D Zig-Zag

Step i

x

y

z

A

B

C D

"!$#&%�'7(]*�, � ´ /�� �4!$#����5! #�A ; ; ��( �; �G6 � A � ! ��# 6<;=(

� °z<*.�jUI95K@�CF3zLRI6B*02LZ02.ZEpCFA*0�OJIU<�A�B�3&IUA d M LR`P5yLz©ªC^@F@�5K@F@^Ie© <�3zLRIN��A�B LR`*0S2IU3QLwIK>XLR`*0N3�GP@l54;YCFA*jdG�.ZI�S20:3132«�57EpIK.�LRC�W204B Ie8902.w5�3�0:~]<*0:A�Sb0NIK>�.10bLZ.RCf028757@F357A�B­CFA�3�02.�LnC^IUA�32_

� � <�3�02>�<�@ � 0431<�@rL �c >�� £�� £��57.10&GJIU31CfLRCf890z.Z045K@¥A�<�E OJ02.R3,©ªCfLR`�� �� � ��«]LR`*0:A

@^IKj�� h@^IKj� � � @FIKj� U � ��� �

-a`�C^3 S:5KA\O|0�045K31CF@r;NG�.ZI 8U04B­5K3�>?IU@F@^Ie©ª3 � �� � U�� ��� ¤�� ! � � ��� � � ��

� � � ��� � ��� @^IKj�� @FI7j� � � @FIKj�� U �

� ���0� � ���c >�LR`*0 Q�� & 31GP@F54;*C^A*j�3QLZ02GgCF3�5lW:C^j m W:C^jIK. 5EW457j m W457j3QLZ0:Gg5yL�A�I�B*0 �¢«�LR`*0:A�CrLn35KEHIK.�LnCPW:0:BNS2IUEHGP@^0 �*CfL+;ad M/3Z5yLRC^3��P0:3

d M � �?��M � � �]U���M � ¡ � � � �

[�020�¬¨Cfj9<*.10&®P_ � �*_

� -a`*0�57SbLR<P5K@¥S2IUEHGP@f0 �*CfL{; M I7>�5 W:C^j m W4CfjxI7.ª5 W457j m W457joCF3 � <�A�CfLR3� °zA�@r;�LR`*0t31C�W20:3xIK>$LR`*0d31<*O*LZ.10:0:3o.ZI�I7LZ04B 5mL ��£ �|£�� Sn`P5KA*jU0\CFAgLR`�CF3o3�LZ02G _�$04A�Sb0K«�5K@F@�LZ02.ZEp3wC^A�LR`*0¯3Z<�EHEN5yLRCFIUAiB*0b��A�CFA*j � M�S457A�S20:@,57j�5KC^A�3�L�LR`�IU3�0

Page 114: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� . �!�

>?IK. � M � ¡ 0 �*S202G*L LR`�IU3�0�CFA�B�CFS:5yLZ0:B6O|04@^I ©d M S M � M U � M � ¡S � h� M � � � �� M � � � �� M � ���

Uª� M � ¡ ��� �]U�� M � ¡ � � � h� M � ¡�� ���S � h� M � � � h� M � ���hU � M � ¡ � � �+U�� M � ¡�� � � � � �

[]C^A�S20 �   M � � � � S �   M � ¡ � ��� � 5K3�LR`*0$31<*O*LR.1020a.ZI]I7LZ0:Bp5yL���OJ02>?IK.10 Ln`*0ª3�GP@l54;YCFA*jq3QLZ0:G`P5K3,Ln`*0�3Z5KEH0�3ZCPW:0�5K3�LR`P5yL�.ZI]I7LZ0:Bd5yL ��57>±LR02.�LR`*0q3QLZ0:G _

�(02L� S �   M � ¡�� � � � £�� S �   M � ��� � «U5KA�B � S �   M � � � � _/-a`*04A�I7OP3102.�890�LR`P5yL � � � �/_

-a`�C^3 CF3 O|04S:5K<�3�0  M � ¡ ��� � S:IUA9Ln5KCFA�3XS:IKEHG�IUA*0:A9Ln3 ��£ � £��  M ����� S2IUA�Ln5KC^A�3 S2IUEHG�IKA*04A9LR3 �Y£ � £��

 �M � � � S2IUA9LM57CFA�3 57@F@�LR`*043�0qS2IUEHG�IKA*04A9LR3 �?GP@F<�3 �¯O|0431CFB*0:3 �n¦-a`�<�3�O�; � � �

��M � ¡ ��� � g��M � ��� �W� ��M � � �+U �� � � M ��� �+U�� M � ¡ � � �]U�� M �����hU �

�!

�}B�B�CFA*j�Ln`�C^3XLRI�� � �M«]©X0�jK02Ld M �W� � M � � �+U � � M � ¡�� � � g� M � � �]U�� M � ¡ � � �

��0:>?IK.10&3QLZ0:G QZ« �¯C^3�Ln`*0&G�5y.Z0:A9L$IK>���31I�LR`P5yL�   M � ¡ � � � ��� �   M � ¡ � � � �

�ª> LZ02. 3QLZ0:G QZ« �tC^3�Ln`*0&G�5y.Z0:A9L$IK> �631I�LR`P5yL�  �M � � � ��� �   M � � � �

-¨5��]CFA*jo@^IKj�57.ZCfLR`�Ep3�©X0�`P54890��M � ¡ � � � � ��M � ¡ � � �X5KA�B ��M � � � � ��M � � �

Page 115: Data Structure and Algorithm by Y. Narahari

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

-a`�<�3X©X0�I7O*LM57CFAd M � ��M � � �]U ��M � ¡ � � �

[]C^[email protected]@f;U«9©X0qS457Ad31`�I © � 0431<�@fLR3 � 5KA�B OJ0:@FIe© �

� ���0� � ���c > LR`*0 Q�� & 3�GP@l54;YCFA*jw3�LZ02G6CF3X5gW4Cfj m W457j�IK. W457j m W:C^j�5yLXA�I]B*0 �¢«�Ln`*0:A¯CfLR3,5KEpIK.�LRC�W20:BS2IUEHGP@f0 �*CfL{;Xd M¢3R5mLnC^3Q�P043

d M � � �?��M � � �]U���M � ¡ � � � �

� ���0� � ���c >/LR`*0 Q � & 3�GP@F5e;YCFA*jo3QLZ0:GdCF3$5 W4CfjHIK.a5 W457jP«]LR`*04A

d M � � �?��M ��� �]U���M � ¡ ��� � �

� ���0� � � �-a`*0 LRI7Ln5K@�5KEpIK.�LRC�W20:BS2IU3QL�Ie8902.q5K@F@/LR`*0x31GP@F54;*C^A*j­3QLZ0:GP3&S:5KA O|0HS2IUEHGP<YLZ0:B�O�;5KB�B�C^A*jHLR`*0�S2IU3QLR3}IK>�5K@^@ LR`*0 3�GP@l54;­3�LZ02GP32_ c >vLR`*02.Z0�57.10 T­31<�SM`�3QLR02GP32«�IUA�@f;\LR`*0@F5K3QLaS:5KA­OJ0�5 W4CfjHI7. We5yjp5KA�B¯LR`*0qI7LR`*0:.Z3a57.10�5K@^@NW4Cfj m W457joIK. W:C^j m We57joIK. We57j m W4CfjIK. We57j m We5yjP_�[]C^A�S20�� � �kG�.ZIe8*C^B*043kLR`*0q©X045��U02.�O�IK<�A�B(«*©X0qjU0bLe«

§�M�� ¡ d M S

§ � ¡�M�� ¡ d M d�§

�§ � ¡�M � ¡

�?��M � � �+U���M � ¡ � � � �� � � � § � � �]U � § � ¡ ��� � �

S � �e§ � � �]U � � � � �

� � �e§ � � �

S � @FI7jCJ

Page 116: Data Structure and Algorithm by Y. Narahari

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

-a`�<�3}LR`*0o5KEpIK.�LRC�W204B­S:IU3QLqI7> 5KA�CFA�3�0:.�LRCFIKAI7.z.102LZ.ZC^0b875K@�©ªCrLR`�3�GP@l54;YCFA*j¯C^A 5�X[]- ©ªCfLR` J A�I�B*043�B�I�0:3aA�I7L 0 �*S20204B � @FIKj�J <*G�©a57.ZB6EpIe890:3XIK>�Ln`*0�Ln57.1jU0bLA�I�B*0�CFA6LR`*0&LZ.10:0K_

� ���0� � ���& I © S:IKA�3ZC^B*0:.ª5o@FIUA*jH3�04~�<*04A�Sb0�IK> � 3�GP@F5e;6C^A�3�0:.�LRCFIUA�3�IK.a.102LZ.ZC^0b875K@F32_ � 0�3�0:0 �LRIoS:IUExGP<YLR0ªLR`*0w57SbLR<P5K@¥S2IU3QLªIK>¨5K@^@JLR`*043�0 � I7GJ02.n5mLnC^IUA�32_

� 0bLq ���5KA�B � ��O|0oLR`*0o5KSTLR<P5K@¨S:IU3QL�57A�Bi5KEpIK.�LRC�W20:BS2IU3QLqIK>�LR`*0�� � & IKGJ02.R5 mLRCFIKA(«P©ª`*02.Z0��XS � £ � £4¦4¦:¦M£ � «JA�Ie© .10:G�.10:3�04A9LR3}5xL{;YGPC^S457@�C^A�3102.�LRCFIUAdI7.}.10bLR.ZCf02875K@IKG|0:.R5yLRC^IUA(_� 0�`P5e8U0 ��

� � ¡  �� S �� ��� � ¡ � � �� �� U � �

c >JLR`*0 LZ.Z020$A*0b890:.�`P5K3�EpIK.10,Ln`P57A�JdA�I�B*0:3:«ULR`*04A � �k5KA�B ��� @FCf0 OJ0bL+©X0:0:A ! 5KA�B@^IKjCJ�«�31IoLR`P5yL

� � U � � � @FIKj�J�}@F31I�©X0 �]A�I ©WLR`P5yL

� � � � @FIKjCJ >?IK.� S � £ � £:¦4¦:¦T£ �

-a`�<�3XLR`*0�57O�Ie890�O|04S2IUEH0:3��� � ¡  �� S�� � � @^IKjCJ � h@^IKj�J

-a`*0�57O�Ie890&jUCf890:3XLR`*0&LnIyLM57@(5KSbLR<P5K@JLRC^EH0&IK> � CFA�3�02.�LnC^IUA�3 IK.�.Z0bLZ.ZC^[email protected]:0�LR`P5yL A*028U0:.$`P5K3�EpIK.10zLR`P5KAkJ A�I]B*0:32_-a`�CF3Xj9Cf890:3 � ��@FIKjCJ ��57SbLR<P5K@�.Z<�A�A�CFA*j�LRCFEH0}>?IK. 045KSM`dIKG|0:.R5yLRC^IUA(_

Page 117: Data Structure and Algorithm by Y. Narahari

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

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

� _¨�}@^>����4B � �}`�I�«��UIK`�tsa_ �ªIKG�S��ZI����4«! "�#$��� $%���'&d� �)(*(,+- "�/. " ; ��;=( � , �; �%(1. 7 34 0 � � 6 *3( 2 ;=<10 72.��3##4,5�62�nm � �75�(*��&U« � � � .

� .98�4,(*(*�:5 �;�< �5�5= "�=# ��# �> "?( �@�A B�A(C�'&2. D �%4 0 E0 . 4�; �� 7 *:9$��� 6 *3( 2 ;=<10 2 , 7�.�9���:�F�<4*G'��m �3 "(,( « � � � ��. c �#4H ��Ws@#4C�<4,6��JIK?�LK(*4,5�M��:#NLF& �9���7�1�<4,G�� �3 "(,(�6��c �#4H Y« � � � ��.

.POQM6�+- �5 �R.!ST6��=+U�:�(«KSTMK "�=(*�:5 sQ. �/�74*5��'�=5�62�(« ��#d�)62�K �(,#%�9. �Q4CV1�:5W�7. ? 4 �;5(+*-0�� ,�;=2 *34 ;�* � � 6 *3( 2 ;=<10 72.9OQM��YX c O s@(C�7GZ�=�=4,G: �(¥s@�*j14*���:�'�=4,�*j[ ��#\ST62+ mIK?]�=�'�)^_G'4*�:�G'�R^`�'�=4*�:5:« � � � ! . c �#4H "�ds@#4C�<4*62�aIK?�LK(*4,5�M��:#b4,� � � � ��.

®.��)62�K �(,# s c��`?]�<M/. D �%4 0 E0 . 4�; �� ��� 6 *3( 2 ;=<10 7U« � 62(,?+U� � 6��dOQM�� �e���6"�fST62+[IK?]�<�'� �9�=6Kj2�< �+g+g4C�*jP«¨�3##4*5=6��nm � �75�(C�'&U« � � � �*«h^`�7G'62�# s@#4C�<4,62�(«� ��# .

�`. �Q6�L��:�i� �9.%c��=?5i�K« �;�=?G�� ��. �/�7?�*j�«j ��#ST(,6kV]4,5��9.�O�62�#6.�" ; ��;=( � , �; �%(1. 7 34 0 &)(+*/63(� E0 0 . 712 634 254��R. �9���7�1�<4,G�� �3 �(*( « � � � � . c �#4, ��is@#4l�A4*62�IK?�LK(*4,5�M��:#mLF& �9���:�F�<4*G'� �) �(,(n6"� c �#4, *« � � � �].

�].9X$ "� �¯�3(*(*�:� � �:4,5�5'. " ; ��;=( � ,�;�� (1. 7 34 0 ��� 6 *3(/2 ;5<10 � 4� �� �37/2578254 ��o�o).�@�7� �i �+U4,�nmWST?+g+U4*��p152« � � �7®K. c �#4H "�ds@#4C�<4*62�aIK?�LK(*4,5�M��:#b4,� � � � ��.

#`.��)?K ����¯�Y. �� �4*(*��&1.# Eq ��;=( � , ;��%(+. 7:r " ; ��;=( � ,�;�� (1. 7 2=4 Eq 9 *3( ;=<>.&)( 254 , 2 � � .+0 & (+*/6 ( E0s0 . (].;X$Gk8��< 4© m �e4,(,( c �1�=�:�=�K E�<4,6��K �(�s@#4l�A4*62�(« � � � ��.

�].�s@(*(,4*5 �)6"�<6e©e4l� WU ��#t^] "�i�u Wm^] �M�4v.wD �%4 0 E0 . 4�; �� 7 *:9 " ; 7 ;=( � ,�;�� (1. 7�.8� �(Cp16"�<4H �@?�LK(*4,G: E�<4,62�52« & �2© �)�:(,M4 « � � �7®K.

�].��)62�K �(,# sxcf�`?]�<M/. � .Z0 254 �]0 . ( 2 , �� � � 6 *3( 2 ;=<10 72. � 6�(,?+U� � 6"�TOQM��o�e���6"�fST62+[IK?]�<�'� �9�=6�p2�< �+g+g4C��pP«¨�3##4*5=6��nm � �75�(C�'&U« � � � �*«h^`�7G'62�# s@#4C�<4,62�(«� � � � .

�%! .��)62�K �(,#gsQ.9c��_?]�<M/. � *3( ;52=4%6! 34 0 �. 3(+, < 254%6|« � 62(,?+U� 6��eOQM��d�)�i��6��ST6�+UIK?]�=�:� �9�=6�p2�< �+g+U4,��pP«U�)##4,5�62�nm � �:5�(*��&9« � ��# .

�U� .zys. �{ ���p15= �+t«�Xw.|�.��)?�p2�:�5i�=�:4,�(«} ��# �Y.~X�.>O��7���:�`L! "?+$. " ; ��;=( � , �; �%(1. 7 �%712=4%6 � 34 0 �To�o).;^`�7G'62�#ts@#4l�A4*62�(« �9���:�F�<4,G�� �) �(,( « � � � �]. c �#4H ��s@#4l�<4,62�-IK?�LK(,4*5�M��7#�LF& �9���7�1�<4,G�� �3 "(,(/6�� c �#4H *« � ! ! ! .

Page 118: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� . � *

�e� . c�?��i�3X��7M(*M6��=�/.�� *3( ;=254%6 34 0 � . 3( , < 254>6E. � 62(*?+U� � 6"� " ; ��;=( � , ;��%(+. 7 34 0 ��� 6 *3(/2 ;5<10 7A.;^`I�=4,��p��:�m � �:�=(H EpP« � � �7®K.

�% .9^] B�u ��^] �M�4 . " ; � ;5( � ,�; �%(1. 7 � ��� 6 *3(/2 ;5<10 7 � 34 0 � ��� � 2 , ;=2 *34 7�254 Eq� !.XbGk8��< 4© m �)4*(,( �)4*p2M��:�$s@#?G: E�<4,6��(« � ! ! ! .

� ®.POQM6�+- �5 �Y."^F�A ��#4,5�M/.�" ; ��;=( � ,�;��%(+. 7)254 Eq !.��)##4,5�62�nm � �:5�(*��&9« � � � ��.c �#4H "�ds@#4C�<4*62�aIK?�LK(*4,5�M��:#mLF&­�)##4,5�62� � �75�(*��&%�{62��p2+- ��(« � ! ! ! .

� �`. & 4,G�_(H "?5 � 4C���<M/.�" ; � ;5( � ,�; �%(1. 7eo ��� 6 *3( 2 ;=<10 7�� & ( */63( E0 7�.��9���:�F�<4*G'��m�) �(,( «*s@��p1(C�2©h6_6`#bST(,4 $j5'. � ��# �`.

� �].��3 kV]4,#&� �)?%$j+- ��/.¢� +U�'�<M6`#3� 6��n�<M��@G'62�5W�<�=?GZ�<4,62�)6��]+U4,�4,+s?+ m �=�:#?�#K "�GZ&G'6`#��75'. & (+*�, ./.+03254>6 7 *:9 ;=<>.�?:@BA � 62(*?+U��® ! « & ?+sL��:� �*«�II . �"! � � m �K�%!P� «� ��� � .

� #`.��3 ��4*�:(/� ^_(*�7 E�<6��e ��# �Q6�L��:�i�zsQ.%OP "� �i ��/.�^`�:(*� m �# �W?5W�<4,��p[LK4,�K "�i&�5��7 "�=GuM�=���'�75'. *�� ( 4� ���*:9 ;=<>. � � � « � 62(*?+U� 9� « & ?+ L%�'� «�II ��� � m � � �*« � � ���_.

� �]. �Q6�L��:�i� sQ.2OP "� �� "�/.¨�)+g6��i�<4�W'�7#RG:62+[IK?]�u B�A4*62�K �(FG'62+UIK(*� ��4C� &2.���?���� *�� (��4� �� *34 ��� 6 . � ( 32 , 34 0�"8257 , (1. ;�. � . ;=<%*-037U« � 6�(,?+U� �*« & ?+ L%�'� � «FII . ! � m�� �*« � � ���_.

����� ���T��� � � �

�����¥�?� �\���/� �IF ³ �X� �����.9, � ��> � ! � A� � ��! �IA9' � ;='7(4(h;�IAK; ;��( ��% �#� (4' >9@ � (A89(46 ! 6 >���( �R>&')(]; �IA� ;��( ��% �#� (4' >9@

�->���(562>9@ �-(4#&'7(4(+; ��>-,��, � �-( ��(4#&'7(4(+>9@nA ��>���(+! � A�;=')(5(+! 6�; ��( ��% �#� (4' > @n3 �-! � �-')( � ; ��( ��>���(��IA965,�� @BA�;)')(5(��IA96� ��>���(56 >9@ ��(4#9')(4(R. � ��� ��>���(46 >9@ ��(5#&')(5( � ��, , , � �� �->���(56 > @ ��(5#&')(5(�� � 34>����%-;)(?; ��(

��% � � (5' > @ �$(A8&(56 ! � ;��(+;='7(4(h! � ;)(4' �R6 >9@��� � ��� ������� � �� ,��, � ��> �a;��A ; !$@ �a! 6 A�� �pA9' � ;='7(4( �2!$; � � ��>���(56 ��(A93 � �IA8�! ��#?A�� �-( � 67! �4(���;��(�� ����� .�� �> @n; ��( ��� � ! �����I(�� ��6 A9'7( ��% � � �$! ����6 � �! E. � ,

*-,#" '7>�8�! ��(NA��(%$R34!$( ��;'& � � � ;=! �R( A� #9>&')! ;� � ;)> ��( ;=(4' � ! ��( ; ��( �-(4! #���;">9@ A ;)')(4(�34>���; A ! ��! ��#� ��>���(56 � ')( -')(467( ��;=( � %�6)! ��#�IA9')(���; �$! ����64,'( >&% � A � ��%�! � � A� � >9;�-(4'26)% >&'<;=! ��# �IAK; A6<;='7%�35;)%�')(56 � !$@ ��(5( ��( � ,

Page 119: Data Structure and Algorithm by Y. Narahari

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

��, � 6)67>�35! A ;)( A � (4!$#!��;�� ��� ��� ���� �2!$;� (A93 � �$(A @ � >9@ ��(�-;��C! � A �-! �IA9' � ;='7(4( �?, � ��> �; �IA ; �

�� ��� ���_.

� �-(4')(+; ��(h6)% ��!$6N; A � ( � >�89(4' A� � � (A89(46 � ! ���?,´ , ��>��6)! ��(4'1A]35>�� � (5;)( ��! �IA9' � ;='7(4( �2!$; �RA��>�� ����% � � (5' >9@ ��>��-(464,�� ( ; � � (N; ��( ��% �#� (4'> @�! ��;=(5' �IA����>���(46 � ��>�� � � (A89(46 ��! � ;�-( ;='7(4(9, �]( � ��(];�-(]! ��;=(5' �IA � IA ; � � (���#9;� ��� ��A96N; ��(67% � ��;=A �9(��:>�89(4'�A� �K;��( ! ��;=(4' �IA���->���(56 >9@�;��(B;)')(4(�� > @�; ��( ��( �;�?>9@�(A93 � ��>���(9, ��! �9( �2! 6)(���-(%� ��(h;�-(?( ��;=(4' �IA� IA ; � � (���#9; � ��� � A 62; ��(?6)% � �-; A �9( �G>�8&(4' A� � ;��( �$(A8&(56 >9@�;�-(?;)')(4(��> @n; ��( ��( -; �G> @"(4A93 � �$(A @p, � ��> � ;�IAK;�����������",

� ,�� ��A ;�!$6 ;��( >�-;=! � A � � %���� A� 35>��-( @ >&' ;�-( @ >�� � > �2! ��#+67(5;�>9@ @ '7(���%�( �-34! (56 � ��A96)( � >�� ; ��(��')67; � "! � >���A93435! ��% �#� (4')6��

A � 3 � ( @ # �. . � � � � . � ��.

� ')! ;=( ��> � � ;��( ')(56)% � ;=! �-# � %�� � A� ;)')(4( ,��NA� � >&% #&( �-(4'=A � ! �5( � >&%�' A ��6 � (4'�;)>�� ��� ; ��(>-;=! � A� 34>���(�� ��(��G;�-(h@ '7(���%�(���34!$(46 A9')(+;�-(���')67; �V "! � >�IA93435! ��% �#� (4'76 �

! "��#"�� �%$'& F�( Y�)�F�( ` H+* (�),),-

.9, ��% >&6)( ;��A ;�� ( ��A�89( ��% � � (5')6 � ( ; ��(5( �G.2A��� . �!�!� ! � A �-! �IA9' � 67(A9'73 � ;)')(4(2A �����NA��;;)> 6)(A ')3 �g@ >&']; ��(���% �#� (5'�� ´ �-,.� ��!$3 � >9@ ;��(�@ >�� � > �2! �-# 6)(���%�(���34(56C34>9% � � ��>9; � (R; ��(67(���%�(���34(:>9@ �->���(562( �-A�R! ��( �/�� A � � � � ��� ��* � . � � ��� � ��� � � �9*9* � � ��� � � ´ �-,� � � � � * � �� � � � .9. � � *&* � ����� � � � � � � ´ � � � ´ �-,� 3 � � � � � � � � � � .9. � � * � � � . � � � * � � � ´ �-,� � � � � � ��� � � ��� � ��. � � � ´M´ � � � � � � � . � � � � � � ´ �-,� ( � � � � � � � � � �9* � � ´ ��. � � ��� � � � � � � � � � � ´ �-,

��,�� � A �-! �IA9' � 67(A9'73 � ;)')(5( � #9!$8&(�� A �9( � � � ��( � ��(103254648790909:9; ��� � A96 ; ��(!�9( � � ��!$3 � !$6; ��(�6)%-3434(56)67>&'�>9@ � ! � ;�-(R67>&'7;)( �e>&' �-(4' ��( ;=(4' � ! ��( � � � A�V! ��>&' �-(4'];='7(4(#��A� � , �]( � ��(< ;=7>?7>48790@0>:9; ��� �267! �R! � A9' � � , � � � A9! � ��> � � #9!$8&(�� � � ! ;=6 6)%�3534(4676)>&'?A� � �')( ��(435(4676)>&' � A �� (]@ >&% � � ,

��, � ��! ��A9' � 67(A9'73 � ;)')(5( ! 6:34>��-67;='7%�35;)( � � � ! ��67(4'7;)! ��# ;��(��9( � 8 A� %-(46 . ��� ��� �n* ��� � ´ � �! � 6)>��R(�>&'���(4'+6 (534! ��( � � � A (4' �C%-;=A ;=!$>�� >9@ . � ����� � � � ! ��;)> A�V! ��! ;=! A� � � ( ��-; � ;)')(4( ,� �-! 3 � >9@�;��(56)( (5' �C%�; A ;)! >���6 �2! � ��� (A � ;=>RA�34>��� � ( ;=(���! �IA9' � 6)(4A9')3 � ;='7(4( � . ��>���(hA ;�$(589( � . � � ��>���(56 A ; �$(589( � � �IA ���G* ��>���(56 A ; �$(589( � � �'�

Page 120: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� . �M´

*-, ��% >&6)( ;��A ;1;��(26)(4A9')3 �R@ >&' �9( � ��! �RA���! �IA9' � 6)(4A9')3 �R;='7(4(2( ���-6 % R! �RA � (4A @p, ��>��-6)! �-(4'; ��')(5(26)(5;)64/�� �&;��( � ( � 6 ;)>+;��( � ( @ ; >9@ ;��(267(A9'73 � IA ; ����� ����� �� ��� � ��� ��� � ������� � ��� ���� ����� ��� ������� ��� � � ����������!��� ��� ���� � � ����� � ��� ��!�� ��"�� � �#�$����#�%� � � ��� �&� � � � �'� ���(� � ����)��*+ �-,.� 4�. +0/ �(�1, / �2� 4 / ��!43��5"��6� �� �7���8� ���9� � ) ������� �:� ���� ���;� � ����6��� � ��<� � �=��!

��!�� � ���� � >�?�#���� � � ��� ��� �$�?�#� � �@� �0� ��� ����� ��� � ����� �A�����?�.46: � ��2 � + � CB7�� �@��� � ��� � �4� ������ ���D�#� ��� � ����E� ��� �0F � � � �G� ��� ���� ��� ������� �0�#����� �$� � "�� � ���� � ����(�#�����6� � ��� �$�?��� ���<F� ���H������ � � �I����)���� � � �$�'� �J����� �J���5"����;� � ) ������� �:� ���� ���!

K ! �L�D"�� � �4��A���� � ���5�� �M�����L�N� ��� � � � � "�� ��)�� � � + ����A, � )�� �A����� + �O, �P����E"�� � �$� � �� ��� ��� � � �@� ��� � � )�� �E����Q� + � � �R,S! � ��4��) � ��� ���<�#� ��� ��� ��� )��L��$� � ���$�� � � � � ) � ��=� & �UT �@V � � � � �XW'Y��?��� T � � �#Y�IZX)�[4\=��� ��� ��� ��� "�� � �$��� �<��Z�� �]� � ��Y��^ZX)�[(\>�?� ��� ��� �7��$Z9�#Y��_�������!

` !ba-�#��Z � � [c\���Z��� ��� �������NY0�#�����6Y�� "���Z� �dZ � ��� � �eW'Y��?��� � �gfh �ji � �&� � ��� [��4k ��� �5�#�$"���$Z��#������� � �7� � � � \>�_��� � ������Z�� ��� �H��Z�� � �4k=��� � ���D�#V$l2\���V���Z���� �H\���Z�����l � �������NYm�#������! nL)��V��$Z���Zo�%$����$��Z�����V$� � ���5�#Y�[ �&� �<��Y�� � �#� � �p! �JY��A�V�� � ���$��Y�[ � Y � )�V �oZ � �H) � �A��Z�lq[���[ � ��lV � ����#� � Z �r� �#Y��?�J�#Y���Zm�#Y ��� �%��V$��� � �l9) � � �]\Xl2�#Y����#�Z�� � [s\��Z����tl � � �����NY]�#�����!

u ! � � Z � � �����6�#Y����� ���Dl � � � � � � � ��v � � )��NYw�#Y����� �x � �0x ��vS!yac\��Z����tl � �������NYw�#���?�]� �� � Z � �#��)�?�#� �zW'�5�#YA�#Y�� � �;�#Y������ ���?l � ! �L��k=��Z����Z�� � ZA�#Y�� � �������%��Z0W'Y��$�NY{��Y�����?l � �����$Z � �?����� ��|���"�� �� �>�����?Z��'\���Z����l � � �����NY�������� � �����k ����� �$\�V��!

� � � �}���$�#� � � W'Z��#Y�����"���\���Z����l � � �����NY�������� � !� \ �m~P�D� < �#� ���L\>�'�#Y�Ik�� � \���\��V��5�#�$� ����� k�� � \���Z�� �&� � � � � � � ��v |X��� � k=���D�#�5"���V5l���Z;�#Y��b���$"���Z

\���Z����l � � �����NY(�#����� � � < ��� ��� ��i �D! � � [�k�)�#�8�#Y��� "��?�#�����rZX)�[4\=��� ��� � � [�k������ ��� Z �� � ��k�� � \=� � � � Z�� � )����� ���t� )�V � � �����NY �&� ��� ���NY ��� �#Y��'��\ � "�� ��"��I\��$Z����tl � �������NY;�#����� � !

� � � �L�%��Z��r�#Y����N�=�U���6���-\��$Z����tl � � �����NY6�#���?��� � �#Y�� � Z�� �&� �1W'Y����NY4��Y���� "����#����JZX)�[4\=������ � � [<k������ ��� Z �;� Zw� � )��?��� ����� )�V � �������NYo� � [<�$Z���[4)[]! �L�D�#�?��[���Z��9��Y��]����Z���� ���"��V�)�� �J��� < �#� ���7| �&� ��W'Y����NYH�#Y�%� � [�k�V��D�#��V5l9\��V���Z��?� � � �������NYm�#������� � ��Y�� � k����[4)�[� � ����NY]�����?��!

� !^3_�$"���Z2� � �D� ���1� iIZ���[�� � |� ��NY9� � Z��#����Z��$Z��2i ��)�k�k=����� � � ����V�kY���\=�?� � |�Wr�^W'� � Y2� �(� �D�J)�k� ���Q�N� � ����)��D�#)����%��Y���JW � )�V ��V$� � �H� � � $������?Z��^� "����#������ � � ��k=��� �&� ��[<��Z��?� ���1� )��?��� ����� )�V�Z��2)�Z � )��?��� ����� )�V � � ����NY�� ��� Z<��Y�� � � �D� !��:�r� � �XZ � W'Z9�#Y���rZ � � [ � ���'�#Y���ZH��Z���[�� � � �N����W'�5�#Y��#Y�� � ��[��L��V$k�Y���\=�?��!�aIV ��� |� ��� )�[��I��Y��� � )��?��� ����� )�V���Z��9)�Z � )��?��� ����� )�V � � �����NY�� � �����6�X)���V�V5l@V$� ���V$lE��Z��0�#Y���%��Z0�#Y��6�D"��?ZX� ��� � � )����?� ����� )�V � �������NY�|��$�_� � ���X)���V$V$l@V�� ���V5l]��Y����ZXl ��� �#Y� � i_Z���[�� � W�� �J� � �����NY�� � �&� ��!��JY�L��W � V�� ���?V$l��NY � �$��� ���&� �r�#Y� ����N� � �#��)��?��)���������*

� a-�?V ��� � �@Y�� � Y��N��\�V$�_W'�$�#Y{i � �;V � � �Q�#� � Z � W'Y��?���(�����NYEV � ����#� � ZH� ��Z@����� � [�[ � ������� Z���Z���[���!

� a � )�V$Vr\��$Z����tl � � �����NYd�#����� ��� Y������YX�(��|�W'Y��?���9�����NY ��� ��Y�� � i<Z � �� � � � Z��N���$Z � �Z���[�����Z���V��D�7�$� � ������k�Y��$� � ����������Z��;� � ) � � ��� �;� �D�b)�k���Y��%��� �_!

Page 121: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� iS� `

aIZ � Wr���'�#Y� �&� V�V � W'�$Z�� �X)�� � �#� � Z � *

� � � � Y���b� � ��Y���Y�� � Y��Z�� � )�Z��D�#� � ZHl � )mW � )�V���) � � �&� ����Y�����V ��� � �mY�� � Ym�N��\�V$�>�� \ �Ha ��� )�[�����Y���J��Y��_� � [�k�)�#��#� � Z ��� �#Y�%Y�� � Y � )�Z��D�#� � Z���\ � "����#� ��� � �#Y�� � �[<�L����[��

� � � � [<k������$Z�����W � ���5"��?ZEZ���[�� � !"! � W�|>� � [�k�)���%��Y��4� "����#����4� � � �(��)�Z�Z��$Z��2����[����� � � � �����NY � k=������#� � Z]) � ��Z�<�#Y�(Y�� � Y@�N�\�V��!$#���Z � ���%��Y�������[�� �&� � � �?���#��Z�2)�k@��Y��Y�� � Ym�N�\�V��!

� � �&% � [<k)�#�%�#Y���� "����������4��� � ����)�ZZ���Z��;�#�$[<� ��� � � �������NY � k>�?�#���� � Z�) � �$Z��<��Y����$' �_!#���Z � ������Y��_�#�$[<� �&� � � �?���#�$Z��;)�k���Y��%�$' �_!

! "��#")( *,+.-0/�1 * (�) ),-

i�!"% � [<k�V$�?�����#Y��'k�� �7���>��� �#Y�� �&� V$V � W'��Z�LV��?[<[<� � �$Z;��Y��b��[ � ����� ���2����Z���V5l � � �����>� kV�� l4�#����� � *

� � �3# � ��Y���4 ��Y � k�V�� l���Z� � �#�?kz� � � ���$��������� � ����k � �_� � ������?��� � �#��kz��_Z � ��� � |���Y���Z{�$� ���[ � ���#� ���2�H� � [�k�V�� �7�$��l + � � �Q�#� � ��� � + � � f � � � ��� � � � � � ��� ���D!

� \ �5# � �#Y��,4 ��Y � k�V�� l7�$Z�� � �#�?k9� � � �?��� � �#�?k � �r� ����� � ����kH�Q��Z � ��� � |7��Y���Z9�5� � ��[ � ����� �?� �� � [�k�V�� �7�$��l + � � �Q�#� � ��� � + � �Ri � � � � ��� � � � � � ��� ���D!

f�!,6L� ��Z��(�2�#��Z � � )�Z�?�#� � ZE� ��� � �&� �I��Y��4Z � ��� �^��� ��Z�l@\��Z����tlm�#���?�6� �b�&� V�V � W � *$# � � � � ��Y��� �7� � |7��Y���Z�� ��� ��� ��7# � � � � ��Y��_V�� � �'�NY���V8� ��� F=|7��Y���Z�� ��� ���j� � F ���wi���# � � � � �#Y������$��Y���NY��V�� ��� F>|Q�#Y��?Z�� ��� � � � � F � �@i�!96L�%��Z�����Y��J����� ���5��\���V���Z��?� ��� �^�#�����:��)����Z���^�#�#� "���� � ��V� � \=����Y��2����Z�� ��� �#Y��<Z � ��2\=����Z��"�� � �$��� ��!&; � � � �D"�������V�\��$Z����tl0�#���?� � |<���?������[<�$Z�����Y������Z�� � �Q�������NY9Z � ���L�Z��2k�����k�����L�%�N��\�V$� � Y � W'��Z�(�#Y��^���?��)���Vp� ��� � |7����� ���5��\��V���Z��?��|7��Z���[ � �t�#� ��� �H� ��� � � ��Zm� ����� � �#���S"���� � � � � ��� � ���NY � ����k ��� �Z��$Z � �=���������#� "��?� � �VC!

� !^3_��Z���#�V�� �?�4�#Y�����[ � �t�#� �?� �{��Z��V$l � � �L�&� ����Z��?����[���Z�����Z�� �&� )��>���$���$�L\���Z����l0�$ZX�������?� � � � �������5��\��$Z�����l2��Z��#�?����� � !

�!ba � ���X)��?Z���� ��� � � k>�?�#���� � Z � � � k=��� �&� ��[�� � � Z �?����N� � �#��)��?��)����! �JY��54U�#Y � k=������#� � Z� ��� � � 4J� � 4�� � ��Z0�D����D��k � W��?� ��� f7| ��Z�� i � ��Y����tW'� � ��!A@ � ��� � )�$�N�\�V��4�?���2���$� � )�Z�?�#� � Z�Z��m� � [�k�)������Y��%��[ � ����� ���2�H� ��� �bk>�?� � k>�?�#���� � Z�!

��!,B_�Dl � iDC f�C �����ECGF ����@�$Z � �?����� �q�$Zw��Y��� � �H���?�2�$ZX� � �Zq��[�k��l � kV�� l �#���?��|J) � ��Z�� � k�V�� l�$Z � �?����� � Z � ! � Y���(W'�$V�V8\>���#Y��<��� � )�V5�#��Z�@�#�����>� a^V ��� W'���$���I� � W'Zd��Y�� � k�V�� l{�#���?�<��Y������ � )�V$� � W'Y��Zm�#Y������DlJFA� � ���?V��?��� ��|�) � ��Z� � k�V�� l3���V��D�#� � Z�!

K !"% � Z � �8������� � �6��)��Z��?� �� � �����?� ��� � � � � � �����NY � k=���#�Q�#� � Z � ��� � �ZAF �:Z � �� � kV�� l������?��!K'�Y � W��Y���J��Y��_� � �#��V���)Z�Z���Z�;����[�� ��� �#Y�� �'� ���X)��?Z���� ����� k>�?�#���� � Z � � � & ��� � �LF �V � �MF � � �D!

Page 122: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� iS� u

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

! "��#"�� ������� / &�� �"! $ &$#

i�!"% '&)(�* �,+ *�3��5"���Z<� � �?� ��� ��V�k�Y���\>�D� � ��Z����#Y��?���8���?V�����$"�� � �����X)��?Z����$� � | ��Z����#Y��.-I)0/e[<��Z\��Z����tl9� � ����) � ��Z��;\��$Z����tl2�#����� � ��Z7�]�Z � k7�#��[<��V=�#����Z����tlH� � ����) � �$Z��6�#�?��Z����tl9�#����� � !

f�!"1 ���329� �54 *76'� � �%k������ � � �98NiS��f ���,: 6_��N�:'��#��)��?��)���� � ��Z7�_a^V�� � ���5�#Y�[ �;: \�l^a^Y � |9- � k>�?� ��� ��|�Z��&@IV�V$[2�Z�!

� !"< ����= � *�>JY��%ZX)�[4\=��� ��� ��V�k�Y���\>�D� � ��Z7�]����V��Q�#�$"�� � ���6�X)���Z��?��� �^��� �#Y ��� ��| �&� �J�D���[�k�V��|

u ! fH! ��f9! � ! ���H! � � !$i �9! f�f9! � �

a ��� )�[<�_��Y��%��V�k�Y���\>�D� � � � i�|�f7| � |�!5!$!5|�W'�$��Y � )�'V �����J�� ���?Z�������V��5��l�!

�!�? =����@= � *<; � �������NY2�V�k�Y��\>�D� |Xk����$Z����#Y��"-I)0/e[<��Z;\���Z�����l6� � ��I�Z��2�Z � k7�#��[<��V��#����Z����tl� � ���!�a^V ��� k�����Z��'�#Y��%� "��?�#������V$��Z�����Y ��� � � ���!

��!.A �7�� �E��9=@B �'=����� * ; � �2\��$Z�����l ������� � |b) � �E��Y��?���Q�N� � �#��)�?�#)��� �H� )������ � ��� � \�loa^Y � |- � k=��� �� � |L�Z�� @bV�V$[2��Ze! ; � �9�#�?��Z����tlo�#����� � |_) � � � ��[���V��� ���Q�N� � �#��)��?��)���� � \�� � �2� � ZV$� � ��[ ��� �#�NY��$V��08:���$��Y�� � ��\�V$��Z��4����k���� � ��Z��N���� � ZmW'�$��Y]Z � ��� �'� �����Z��DC?� �m��Z�� � �?��V�V � k������!

K !"% '&)4 ��E+ + ���F4G* ���54H=��34 � * @ � �A% � � % ��� � ��I�� "�!r��� � �^k�#���D�#���?� � ��Zmk�� � ������[<[���Z�� Y � )�V8�m\>�%� ��Y�����2��� � !

! "��#"�J � �K� + / ( $ - ��&L�NMO� / -3P * /RQ.- ),- / &$!LS%$ & / ( 1 * ) / (ETHP * (�) ),-

>JY�� � \,U��?�?�#�5"�� ��� �#Y� � � ��� ����Z�[���Z���� � � � � � [�k������8�#Y�rk=��� �&� ��[<��Z��?� ���� k>�?Z4Y�� � Y(�N�\�V�� � |��?V ��� � �Y�� � Y<�#��\�V$� � |7��Z��<\���Z�����l � � �����NY2�#����� � ��Z���[�k�V$��[���Z��#�$Z�� � �������NY�|7��Z � ���t� |7��Z��I���V��D�#� � k=���#�Q�#� � Z ��$Z �l�Z���[���� � �D� � ! ( � )E����ZE�$Z��$������V$V$l<��[�k�V��?[<�?ZX�') � ��Z�J% \�)�I�#Y�����Z��#�?ZX�L� � � � ) � � % ��� ��Z��� \VU����?��8 � �����?ZX��� ��k����$Z����$k�V�� � !

W3��������7���X& �Y&HZ.[ � ���

a ��� )[<�H�#Y���6l � )� ��?l � �����m�NY��������?����� � �����$Z�� �6��� V��?Z����#Y iS� � \7�N���$Z�� � \�l � ����Z�Z��$Z��{�E�#�D�����V$��! %���V$V��#Y� � ��� � � � ���Z � !�6L�%��Z�;�2� � ���Z{� � ��Z�l � �#����Z��9��Y������kk>����� � \=�?��Wr���?Z � )����?� ��� �$"��� ���?)�������Z��?� �b��� � �&� ��\��������Zm�NY��������?������|�W'Y�������#Y� �&� ��\��8������Z � �?� ��� �NY����#���D�#�?� � � � ���5"���Z�\�l=*

\ �^] � � [�[2��C#k=����� � � C � k������9_

# � � � �#���$Z��%Y�� � V�� ��� ��Y���Z]iS�%�NY����#���D�#�?� � |�[<� ���b�$� )�k���Z�� � � � �#����Z�� ��� �D����?��V$lmiS���NY��������?����� � \�l�$Z���V$)�����Z�;��Z@�k�k�� � k�������#�_ZX)�[4\=��� ��� �#������V$��Z��a`Vb � !�nLZm�#Y�� � ��Y����'Y���Z7��|�� � �#Y��%��)�����?Z�� � �#���$Z��Y�� � [ � ���L�#Y���ZAiS�6�NY���#���D�#��� � |��#��)�Z�����#���$�J� � Y�� "����#Y������ � �'�#�?Z]�NY���#���D�#��� �I� Z�V$l�!

Page 123: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� iS� �

;�� � [ ��Y��E��Z7���$"����)���V'�NY��������?����� � �#���$Z�� ���&� � � [ Z � W � Z ����V�V$� �q� � � &�� ���9��� |'����Z���#�Q�#�0�k ��� �5�#�5"�����Z��#�?����� �&� � � [ Z � W � Z}� �V�V��2�d� � � ��� ��� \�l � )�[�[<�$Z���)�kd�#Y��<a.'�%�#=#_"��V�)�� ����� ��Y���NY���#���D�#��� � ��Z%�#Y���k�����������)V����P� � ���Z�!<@ � ����Y�� � ��Z��#�?����� ���Dl6��Z%�#Y���Y�� � Y��$Z�� � )�Z��D�#� � Z � !�- � Wr�?"��?��|����[���[4\=������Y���J�#Y� � ���$����Z��V=� � ���?Z]� � �;�NY����#���D�#�?� � �#����Z�����Z��H��Y�� � � � �#Y�� � Z��� � \>� � � � ��� ����Z��Y��>����N� � �#��)�?�#)����!

� � ���F&729��� & (K�����3* =��7���,2>JY�� �&� V$V � W'��Z� �&� )�� � �NY���[�� � �����L� � \=���?"��V$)���#�2��!

i�!^nLk=��Z�Y�� � Y��Z��bW'�$�#Y�[4)�V5�#��kV�������#� � Z^[��?��Y � � �&� �PY�� � Y���Z�L��Z���)�Z ��� ����� �4V$� � � �1�&� �1�NY�����Z��$Z��

f�!^nLk=��ZmY�� � Y���Z��W'�5�#Ym[4)�V5�#��kV�������#� � Z�[<�D�#Y � � �&� �JY�� � Y���Z�����Z7� ��� ����� ��V�� � � ���&� �J�NY�����Z��Z��

� !"%�V ��� �2�mY�� � Y��Z��;W'�$��Y�V$��Z�������k�� � \��$Z��

�!I�r��Z����tl � � �����NY]�#����� �

� � ������F4� F=��@B ���X& �9�; � �J�#Y� � ����� ��� )�Z�� �&� ��[��$��l�|�) � ����Y�� �&� V�V � W'�$Z��6Y�� � Y���Z�� � )�Z��D�#� � Z �^� ZV$l�!$#�Z]�#Y�� �&� V�V � W'�$Z���|��� � ��Y��4Y�� � YE�N��\V�� � �DC?� � ��Y���I� � |>�#Y�4k ����� �$\�V��%Y�� � YE"��V�)�� � ������|e�7C iDC������2C���� i � |e��Z����{� � ��Z�$ZX�������?�����Dl�!

i�!�� =5* ��� �@*�� BD�7���X& � � �����5&72

� � � ��� ;�V ��� � � � �:;p�����?��� � Z �"! �#� ���W'Y����� ! �%$ &('*) �,+- |���Y���3 � V����?Z 6I���� � !

f�!�. � ������ % '&)( � �F4

� � ��CG4 ��� � � � ��C#� �0/ 4 � + &72 �0�G4 � ��C������EC1�2� i

< ���@= ���A� & ����� % '&H4 ��E+

>JY���k ����� ��\�V$�_��Z�k)� � � � ��Y���k�� � ���#��[ �����*

� �0* -^� � Y]�N�\�V�� � � C���!,'7�D"��?�#��VP"��V�)�� � � � )�V���\=�(���5"���Z]Y������4��Z7�@�#Y��%�D�7k=������[���Z�� � ������� �\=�^����k=� ���� � �&� ����V�V�"��V$)�� �r� k=�����43�� �e!N>JY� � �$Z�k�)��Y�� � Z �4� �$��Z��53�� ��Z��?� �&� �r\���Z�����l � �������NY�����?� � !

Page 124: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� i�iS�

� F�*$>JY��6�$Z��$������V1ZX)�[4\=��� ��� ��Z � ���t�#� � Z �L��� ��� � �#�$Z��?� � �#����Z�� � � � \=�6[2� �� �&� � � �D������Z��H)�k{�����N� � ����)��D�#)�����!

��� *N>JY� � � � � � )�\ � �D� �� ��Y�� � �D� ]Xi C f�C � C�� _���Z����� �Q�#��Z�(�#Y�� � �?� ��� [<�D�#Y � � � � � \=�_��Z�"�� � 8�������Q�#� �e!

��� *@>JY�� � � � � ���?���$[2��V�ZX)�[(\>�?� � � � [gW'Y����NY9�%�#�?��Z����l � �����$Z��(� � � � \=�I����Z��?�#���� � � Z���[���V$l��Y����#� ��5�V8 � ���?k���� � �?ZX�#��#� � Z ��� � � !M#�Zm�#Y�� � ����k��� � ��Z��N�Q�#� � Z�|=� ��� )�[<�_��Y���I���]����k��� � ��Z�� ���Y�� � ����9B � � k=������#� � Z�|>���H����k��� � ��Z�� � ��Y�� ����� ���� � k=������#� � Z�|e��Z��0��0���?k���� � ��Z�� � ��Y��2��,* � ��� � k=������#� � Z�!

� a �#� ��� 3�V$��| � � � [ W'Y��$�NY}�#Y���� � ���Z � ������� � \=�2k��� ���2�d)�k �&� � � �?������Z��])�k ��Z7�d�D�7k=����� 8[���Z�����Z��4W'�5�#YH�#Y��>���Q�N� � �#��)��?��)����

���7� ��5&H=5* 2 ����� % '&)4 �3+ A &��

i�!,; � ��� ���NY]��V��?[<�?Z�� ��� � ��Z�� �&� �J�����NY]"��V$)�� ��� �0| � � �#Y�� �&� V$V � W'��Z��!

f�!"'�� ��ZE��Y��4���5"���Z]�#�D��� 3�V��6��Z7�0� � l � ) � ����Z�|��$Z � �?���L��Y�� 3�� � �.F ��� � �#��Z�?� � �#����Z�� �^� � �Z�Z�� ��$Z�� � ��Z���Z��5�#����V�V5l6��[�k��l5���Q�N� � ����)��D�#)�����!

� !,! � W � � ��Z �#Y�H��� � � ��� �#Y��9���D��� 3�V��<� � ���Z \�ld� � ���Z�| � �������NY��Z�� �&� �4�5� � �6�$Z � �?������Z��E�5�� � ���V��D�#�$Z��m�$� |1� � ���$�?�N�Q�#� �{\�l0�#Y����#� ���5�V8 � ���?k���� � �?ZX�#��#� � Z �� � !3! � �#�;�#Y��Q�%��Y���[ ��� �� ����Z�53�����Z�� �������5��� � � � \>��� � Z � �8������� � 3�� � �'W'Y��$V��.� � ��Z��4��Y�� � ��Z��ml � )]k�� � �?���2� � � � [ V�� � �� � ������Y��I��Z��#Y��%�#� ��5�V8 � ���?k���� � ��Z��#��#� � Z�!,; � �b�����NYE�$Z����$"��8��)���V � k=������#� � Z�|����?��kE���#��� � �����Y���ZX)�[4\=��� ��� k�� � \=� � !

�!"% � [<k�)7�#�^��Y��_� "��?�#�����_ZX)�[(\>�?� ��� k�� � \>� ���&� ���(��l�k��$� ��V � )��?��� ����� )V � � ����NY�|�)�Z � )��?��� ����� )�V� � �����NY�|p��Z � ���t� |���Z7� ���?V��D�#��!

������)( � �K� + /������0���L�NM *���� +������ �!� /"�$! *,+.-0/�1$#��&%'%(�

>JY�� � \VU����?���$"�� ��� �#Y� � � ��� ����Z[<�?ZX��� � � � � � [�k������4�#Y��;k=��� �&� ��[<��Z��?� ����� k�V�� l@�����?� � ��Z�� � �X��kV$� � � � ��Zm�$[<k�V$��[���Z��#�$Z�� � � �����NY�|p��Z � ������|p��Z��&����V$�?��� � k>�?�#���� � Z � ��ZJ�����D�#� � Z�������� � ! >JY��%� � Z����D���^� �k�� � "7�8��� ��\�l � l�[4\ � V��#��\�V�� � k>�?�#���� � Z � �$Zm�I% � � [�k��$V����?! ���7� ��� 1 � ) =�� ��,2*�a ��� )[<���#Y����l � )�� ��?l � �����@�8����Z��#�43���� � �$Zq� % k�� � ���#�[ �U� �����$Z�� � �#Y���2����� ��� /e�?���?ZX� � � � [� k>�?�����V � l7[(\ � V � � ! @ � �H~(+�, � � ��� � �$��Z � � ����Z�Z��?� � V$�D�7������Vr��Z���V5l0C?��� � �#Y���4W'��V$V � � �Zd�#Y��J%k�� � ������[M��Z�� � kV��$�'�5�'��Z�� � � � �?� ��� �����?ZX���53��?� � !�+8���NYE�8����Z����53��?�b� � ��������)V����'�D�7k���� ��� � � Z�! %���V$V��Y�� � �<�8����Z��#�43���� � � � � &�� ����� � � � [ Y��?Z���� �&� ����Y�! >JY��� � ���?Z � �����6� � \>��k�)�%�5����Z�� � � � l�[4\ � V�#��\�V��! >JY�� �&� V�V � W'��Z��(��W � ����N� � �#��)�?�#)��� � �����L� � \>���?"��V$)����� ��!

i�!"'�k�V�� l2�����?� � W'�$�#Ym\ � ��� � [�8�)�k � k�V�� l���Z��

Page 125: Data Structure and Algorithm by Y. Narahari

����������� ����������������������� i�i�i

f�!"' ���$kmV�� � � �

< ���@= ���A� & ����� % '&H4 ��E+>JY����$Z�k�)� � � � �#Y���k�� � ���#�[s������*

� a % k�� � ���#��[ ����� )������$��Z�� � �DC?�

� F�* >JY��4�$Z��$������V�ZX)�[(\>�?� ��� �$Z � �?����� � Z �I��� ��� � ����Z��D�I� � ���?Z � � � \>��� ���������2� � )7�^� �2� �?�^)�k0�\�� � �>����#� � �#��)��?��)����!

���7� ��5&H=5* 2 ����� % '&)4 �3+ A &��6 � ��Y�� �&� V�V � W'�$Z�� � �#��k �b�&� � � k�V�� l9�����?� �&� �X��k�V�� � � � *

i�!"'�� ��Z2��Y��^���$"��?Z&%qk�� � ���#��[ ��Z7�H� � l � ) � ����Z�|7��Z � �����r�#Y���3�� � �:F �� � ����Z��D�r� � ���?Z � ��Z�� � ��Z�$Z��$������V$V$l6�?[<k7��l5����#� � �#��)��?��)����!

f�!,! � W � � �Z2�#Y��I��� � � �� �#Y�� %qk�� � ���#��[g� � ���?Z9\�l<� � ���?Z�|�$Z � �?������Z�� � � ���V��D�#�$Z��%��Y��I� � ���?Z�|\�lE� ����� ��Z��m� � ���$�L� � ��Z�!�; � �L� ���NY{��Z7���$"����)���V � k>�?�#���� � Z�| �����?k{���#��� � ��� ��Y��6ZX)�[4\=��� ���k� � \=� � ��Z��dZX)�[4\=��� ��� � � �N���� � Z � � � � ��k�kV�������\�V$� � !&% � )�Z��4�#Y��<ZX)�[4\=��� ��� ��V��?[<�?Z��N���tl� k>�?�#���� � Z �r�&� �J� ���NY]��Z � ���t� � � ����V$�?�#� � � � [�k������ ��� Z � |�� ��� ����Z�[���Z�� �b�� k � ��Z������ � |��?����! �

� !"% � [<k�)7�#�L�#Y��� "����#�����ZX)�[(\>�?� �� �?V���[���Z��#����l � k>�?�#���� � Z ���&� �J��Z � ���t�^�Z��J����V$�?�#�!

% '&H4 ��E+ + ���F4 . � �F4H=�� 4 �% / / � � I�� "�m� � ���?� � [�[<�?Z����2��!<a � ����� � ) � ����#��[�k� � Y � )�V��{\=��[<� ���4� � ) � ��������� ����� ���Q�N���\ � �#�����?��� � Ze|���Z�����k � )�V����� � Ze|�[ � ��)�V������5��l�|���Z�Y�����5�N��Z����|���Z���k � V5l�[ � ��k�Y�� � [�!

Page 126: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

����� ��! "$#R����

%'&)(+*-,/.0&1&12/34.0(658792;:=<?>[email protected]&).0EF,G2;3HBI:1EJ.LK�MHNO2P.LKQ,R>�STK+2/2/(6U

VXW'Y � Z U\[]U^%_3`2/&bac(+*dEfehg^2/&bac(�i�:1:j.0EF3lk�U\[]U8mn.0EF3F:1(6Uo%'Ep.0&=<?*0KQ:=@q>Fr st*LK$@q>`2u*0Kve<?.0EF:1w;.x@q:)*dEy*0sz:)E`s{*0KQrX.|@}:1*dE~U ���x�P�h�/�����d�{�`�����d�{�b�G�����x���{�f���ug^*d&)�Fr-2�`��F� U��P�d�L��eR�P�L�d�����/�0�A�fU

NO2;.LKQ,R>~�O��EF(�26K+@q:1*dE~�A.0EF3X '2/&12G@q:)*dE-,;.0E-¡�2':)r � &=2;r¢2/E?@q2/3£:)E$¤¥*0KQ(v@I,/.0(�2§¦-¨t&1*0<©E«ª@q:)r-2

A�¬�­`®O¯\°+¯ & ®

%'E4%ng±m²@QK+2/2±:1(9.$¡J:)EJ.xK+MX(+2;.LKQ,R>�@qK+262±:)E�¤C>F:1,R>

�xUT@q>`2£>`2/:1<d>A@q(_*Ls³@q>`2�KQ:1<?>?@_(Q�`¡`@QK+262$.0EF3�&=2/s´@§(Q�`¡`@QK+262£*0s³@q>`2£KQ*O*L@§3F:¶µ�26K§¡AM.|@9r�*d(v@±�

�OUT@q>`2±&=2/s´@9(+�`¡`@QK+2/2z.0EF3·@}>`2±KQ:1<d>A@j(+�`¡`@qK+262�.LK+2§@}>`2/r�(�2/&=¸?2/(j%ng¹m²@QK+262;(��Uº% EF*O3`2z:)(�(Q.0:)3�@q*$¡«2

»R»+¼

Page 127: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R»��

&126s @�e�>F:=<?> :1sn@q>`2z&126s´@9(+�`¡`@QKQ262±>J.0( �<dK+2P.|@q26K¥>`2/:1<d>A@

Kq:=<?>?@+e >F:1<?> :1sn@q>`2±KQ:1<?>?@�(+�`¡`@QK+2/2±>J.L(<dK+2P.|@q26K¥>`2/:1<d>A@ �

2��O�J.0& :1sn@q>`2z>`2/:1<?>?@q(j*0sT@q>`2zm NfS .0EF3� NfS!.LK+2§@q>`2±(q.Lr¢2 �

AVL

AVLnot AVLnot AVL

not AVLAVL Tree

AVL(skewed)

-

-- -

- - - -

/

/

-

- -

-

/

/

-

/

\

-

-

/

\

-

-

\

\

-

-

-

/

/

\

\

����� ��!#"%$'& »)( ++*�,)-/.�0�"2143)57698;:=<>!?"2"21WA@CB �ED%F�%'�HG NO26¸d2/Kq.0&�2JIJ.Lr � &12/(j*0sT%ng±m²@qK+262;(¥.LK+2�(+>F*P¤CE4:1ELK :1<d�`KQ2©�OU´�LU

M � � ��� N B�@ ��� ��� � %'��# P � �NM B �PORQ � #��&%(%

S >J.x@C:1(j@q>`2©rX.TIF:1r$�Fr >`2;:=<?>?@9*0s .0EH%ng¹m @QK+2/2z>J.;¸�:)E`< 2UIF.0,�@q&=M·E EF*O3`2;()V�S *.0EF(v¤ 2/KD@q>F:)(R�O�`2;(v@q:)*dE~�f¤ 2§¤C:)&1& � *d(�2¹@q>`2±st*0&)&)*P¤C:1E`<W�f�`2/(v@q:)*dE~5

S >J.x@£:)(©@q>`2·r�:)EF:1r$�Fr Ef�Fr£¡«2/K©*0s�EF*O3`2;(H¨t( � .LKQ(+2/(v@ � *d(+(Q:=¡J&12·%ng±mp@QK+2/2�ª�.0E%ng¹m²@QK+262±*0sº>`2;:=<?>?@�>H,/.0EH>J.;¸?2XV

Page 128: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R»��

lFF

root

h-2h-1

r

�7� � ��!?" $'& ¼'( 6�� 698;:=<>!?"2"��4��<�����"2����J< �m~26@��� ¡�2�.0E]%ng±m @QKQ262-*0sI>`2;:=<?>?@z>~�n>J.;¸`:1E`<·@q>`2-r�:)EF:1r$�Fr Ef�Fr£¡�26K¹*0sEF*O3`2/(/U ��±,/.0E4¡«2±¸�:)(+�J.0&1:1w62;3�.0(�:1ELK :1<?�`K+2©�fU �fUm~26@���0.0EF3���~¡�28%ng¹m @QK+2/2/(~¤C>F:1,R>±.LK+2º@}>`2³&126s´@ (Q�`¡`@QK+2628.0EF3§KQ:1<d>A@ (+�`¡`@QK+2/20�K+2/( � 2/,G@q:=¸d2;&¶M?��*Ls� � U^S�>`2/E��� *0K���¥r$�F(v@¥>J.P¸d2±>`2;:=<?>A@¥>fev�fUNf� �F� *d(�2��� >J.0(z>`2;:=<?>A@z>����$(+*4@}>J.|@���±>J.L(�>`2/:1<?>?@z>��F�fU��C*L@Q2$@q>J.x@���>J.L(�@q*¢¡«2 .0E %ng¹m @QKQ262�>J.P¸�:)E`<$@q>`2�r�:1EF:)r �Fr Ef�Fr£¡«2/K9*0s EF*O3`2;('.0r�*0E`<.L&)&F%ng±m4@QK+2/2/(³¤C:¶@}>->`2;:=<?>?@8*0s >����LU^Nf:1r�:)&).LKQ&=Md���� ¤C:)&)&F>J.;¸?2 @}>`2Cr�:1EF:)r �FrEO�Fr£¡�26K¥*0sTEF*f3`2/(9.0r�*dE`<$.L&)&~%ng±m�@QK+2/2/(�*0s >`2/:1<?>?@�>�� �fU^S�>O�F( ¤ 2±>J.P¸d2

� �� �! � ��#"%$ �#&'� ��#"�( �)& �

¤C>`26K+2 � �� � 3`2/EF*L@Q2;(_@q>`2 EO�Fr ¡«2/K_*0s8EF*O3`2;(¹:1E*��6U Nf�F,}>�@QKQ262/(¹.LK+2 ,;.L&)&12/3Y ��Q � � B T7T � �!�&%(%(� UDNO262 K :1<?�`K+2¹�fU ��U^Nf*dr-2 K :=¡�*dEJ.0,6,6: @QK+2/2/(D.LK+2_(+>F*P¤CEX:)EK :=<?�`K+2,+JU\�.-�U/�C*L@Q2§@}>J.|@ � �0 �! �z.0EF3 � 1$ �2 �fU%'3F3F:)E`<H�§@q* ¡�*L@q>�(Q:13`2;(6�`¤j2¹<026@

� � �)& � ¨ � �#"%$ �)& �Pª & ¨ � �#"�( �)& �Pª

S�>O�F(^@q>`2_EO�Fr£¡�26Kq( � � �3& �'.xKQ2 K :1¡�*dEJ.0,6,/:«Ef�Fr£¡�26KQ(6U/4C(Q:1E`<©@q>`2§. �F� Kq*�IOe:1rX.x@Q2_s{*0KQr �F&�.zst*LKAK :1¡�*0EJ.0,/,6:~Ef�Fr£¡«2/KQ(6�O¤ 2z<026@

� � �)& �65 �7 � 89 � & 7 �� :;

�<>=? @ 5 �.AB+!+8&1*0< � �C �

Page 129: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R» $

? S�>`2�( � .LKQ(�2/(�@ � *d(+(+:1¡J&=2±%ng±m²@qK+262§¤C:=@q>��²EF*f3`2/(�>J.0(¥>`2/:1<?>?@@ 5 �.A +!+^&)*0<��

? S�>`2±¤j*0KQ(v@�,/.0(�2z>`2;:=<?>A@¥*0sº.0E4%ng±m²@qK+262§¤C:=@q>��]EF*f3`2/(�:)(� A +!+8&1*0<��

-

F0

-

/

F1 -

-

/

/

F2

-

- -

/

/

/

/

F3

����� ��!?" $'& ��( ����� 3�T,����2� <>!#" "21M � � ��J ORQ � #��&%(%'�HG � � %(�!�&� ��� � B �$!�� %9F�%�� ��� � �

S >F:1&129:1EF(+26K�@q:)E`<©.�E`2G¤oEF*f3`2C*0K^3`2;&=26@q:)E`<©.0E¢2JI`:)(v@q:)E`<�EF*f3`20�?@q>`29K+2;(+�F&¶@}:1E`<@QK+262±rX.;M�¸`:1*d&�.|@q2'@}>`2�¨t(v@QKQ:)E`<d2/EA@�ª^%ng±m � KQ* � 26K�@ MdU S *-K+2/:)EF(v@}.x@Q2_@q>`2�%ng¹m� KQ* � 2/K�@ M?�O¤ 2z�F(�2 �E��� B �&� ��� � U NO2/2=K :1<?�`K+2©�fUB+JU

1 & ° � °+¯ & ®-¯1® � ��� �

m~2/s´@ KQ*L@}.x@q:)*dE±.0EF3±KQ:1<?>?@ KQ*L@}.x@q:)*dE§,/.0E±¡�28K+2;.0&):=w/2/3¹¡OMz.j@q>`K+2/2�eh¤¥.;M'KQ*L@}.x@q:1*dE*Ls � *d:1EA@Q26KQ(/U

1T 2

3T 1T

2T3TT

x

yx

y

pp

RightRotate (T,y)

LeftRotate (T,x)

����� ��!?" $'& ��( 6 3)<>, <>��3��1 � � ,���� �T,)!��1?" ,)!�� � <>!?"2"

Page 130: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R»��

m~2/s´@ � *L@}.x@q:1*dE~5@Q2/r � ��� KQ:1<d>A@����� KQ:1<?>?@ @q2/r ��� &=2/s´@��@Q2/r ��� &126s´@ � �� @q2/r � �

m~2/s´@�KQ*L@}.x@q:1*dE·.0EF3�KQ:1<d>A@jKq*x@R.|@}:1*dE � K+2;(�26K+¸d2 BjNfS � KQ* � 2/K�@ M ��EF*0KQ3`26K�*0KQ3`26Kq:1E`<$*0sTid2GM`(

% � &)(�* ¬ + � B ¬6® � �Q¯ & �D¯1®� � . � �Q¬G¬ < ®9� ¬U��°+¯ & ®9�

� &126s @�(Q�`¡`@QK+262±*0sºEF*f3`2z>J.0(j3`2/<dK+262z>F:1<?>`26Kj¡AM�� � &126s´@�,R>F:1&)3�*0sºEF*f3`2z:1(¥&126s´@9>F:1<?> ¨t%±ª &126s´@�,R>F:1&)3�*0K�EF*O3`2�:1(¥KQ:1<?>?@�>F:=<?> ¨hBjª

� Kq:=<?>?@�(+�`¡`@QKQ262±>J.0(�3`26<dK+2/2±>F:=<?>`26K¥¡OM�� � KQ:1<?>?@j,R>F:)&134*0sºEF*O3`2z:)(¥&=2/s´@9>F:=<?> ¨���ª KQ:1<?>?@j,R>F:)&134*0K�EF*O3`2z:)(¥KQ:1<d>A@¥>F:1<?> ¨b ¹ª

S�>`2�%ng±m]@QKQ262 � Kq* � 26K+@ M·rX.;M�¡�2z¸`:1*d&�.x@Q2/3H.x@_.0E?M4EF*f3`20�«EF*L@'E`2/,62/(+(Q.LKQ:)&=M@q>`2§KQ*O*L@;U K : IF:1E`< @q>`2¹%ng¹m � Kq* � 26K+@ M�:1EA¸?*d&=¸?2/(D3F*d:)E`<$.£(�2/KQ:=2;(¥*LsT(+:)E`<?&=2§*0K3F*0�`¡J&12¹KQ*L@}.x@q:)*dEF(6U

 '*d�`¡J&12DKQ*L@}.x@q:)*dEz:)E?¸A*d&¶¸?2;(T._&126s´@³KQ*L@}.x@q:1*dEzs{*d&1&)*P¤ 2;3�*0K � KQ2/,G2;3`2/3�¡OM�.'KQ:1<d>A@KQ*L@}.x@q:1*dE~U

� E�.0E�%ng¹m @QK+2/2©*0s^>`2/:1<?>?@ @ � EF*�r�*0K+2¹@q>J.0E�� � (�� KQ*L@}.x@q:1*dEF(9.LK+2©K+2'�f�F:=KQ2/3@q*��+I�@q>`2�%ng¹m � KQ* � 2/K�@ M?U

< ®7� ¬���°+¯ & ®���% � &)(�* ¬ + � B ¬6® � �Q¯ & ����� � B ¬6® � �q¯ & A��Nf,G2/EJ.LKQ:)* % :1(¥(vM`r¢r¢26@QKQ:),/.0&F@q* @q>`2�.L¡�*P¸?20U8NO262=K :1<?�`K+2©�fU �fU

< ®7� ¬���°+¯ & ®���% � &)(�* ¬ + � B ¬6® � �Q¯ & ����� � B ¬6® � �q¯ & � �Nf,G2/EJ.LKQ:)*¢B :1(¥(vM`r¢r¢26@QKQ:),/.0&F@q* @q>F:)(6UINO262=K :1<?�`K+2©�fU��`U

Page 131: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R»��

T3

T3

T1

T2T

3

T1

T2 T3

T2

T3

Insert a node intoso as to increaseheight of

LeftRotate (T,y)

\

-

y

x

}{

{h

hh-1 or h

h+1

y

x

\\

\{

{ } h+1h-1 or h

h + 2h

x

y}

}{h h-1 or h

h+1

-

Height of tree = h + 2

}}}

}}}

T1

��� � ��!#" $'& $ (�� ��1?"2!?<#� 3�A� � 6�8%: <>!#" "21 (�� � " �T, !#� 3�A

Page 132: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R»��

h

h - 1orh

h

h - 1orh

x

wT1

T2 T3

T4h + 3

w

y x-

T1 T2 T3 T4h + 1

DoubleRotation

y

h + 1

����� ��!#"%$'& �'(�� ��1#" !?<>��3� � �A698;:=<>!?"2" 1 ( � �2" �T,)!?� 3 �

x

T2

T1h + 1

y

h - 1h

hT3

h

h - 1

x

y

T1 T2

T3

h - 1 or h

Deletion of element decreasesthe height of T1, violating theAVL property. Left Rotate ( T, y)

��� � ��!#" $'& �'(�� "20�" <#� 3�R� � 6�8%: <>!#" "21 ( � �2" ��,)!#��3 �

Page 133: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � �E*�� ® B ¬ 2�� �Q¬G¬�� »R»��

x

T1

y

h

h - 1

y

T1 T2

T2 T3h

h - 1

w

T4

h - 1

Overall height = h + 2

Double Rotate

T3 T4

x

w

h - 1

Overall height = h + 1

��� � ��!#" $'& ��(�� "20�" <#� 3�R� � 6�8%: <>!#" "21 ( � �2" ��,)!#��3 �

A�¬ * ¬�°+¯��x®���� �����¶¬�� � B ¬6® � �Q¯ � � �

 C2 � 2;EF3F:1E`<�*dEy@}>`2u*LKq:=<?:)EJ.L&j>`2/:1<?>?@�*0s�� ( � @}>`2u>`2/:1<d>A@�*Ls_@q>`2H@qK+262H¤C:)&1&¡«2-2/:=@q>`26K¹�FEF,R>J.0E`<02;3 ¨t>`2/:1<?>?@±*0s�� ( @ ª'*0K¹<d2G@}(§K+2/3F�F,62/3l¨t:1sI>`2/:1<?>?@±*0s� ( @ � �;ª�U^NO2/2=K :1<d�`KQ2��fU��fUS�>`26K+2±:)(�.$(+,62/EJ.LKQ:)* (vM`r¢r¢26@QKQ:),�@q* @q>F:1(/U

A�¬�=¬�°+¯��x®���� �����¶¬�� � B ¬6® � �Q¯ � � �

NO262=K :1<?�`K+2©�fU��`U³%'(��F(Q�J.L&b��@q>`2/K+2±:)(¥.-(vM`r¢r¢26@QKQ:),C(+,62/EJ.LKQ:)*`U

Page 134: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® B ¬ 2�� �Q¬G¬�� »+¼��

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

B8:)EJ.LK�M©(�2P.LKQ,R>£@QK+2/2/( ¤C>`26K+2�EF* � .x@q> s KQ*dr @q>`2�KQ*O*L@º@}*z.¹&12;.Ls�:)( r¢*0K+2D@q>J.0E@ ¤C:),G2±.0(�&1*dE`<-.0(9.0E?M·*L@q>`2/K � .|@}>·s Kq*0r @}>`2±KQ*O*L@j@q*-.-&12;.Ls U

VXW'Y � � U BD.;M?26K/U NAM�r�r¢2G@QKq:1,-¡J:1EJ.LK�M B eh@QK+2/2/(65� _.x@}.]NA@QKQ�F,G@q�`K+2;(�.0EF3�rX.0:1EA@Q2�eEJ.LEF,62z.0&=<?*0KQ:=@q>Fr�(6���9���h���+���6�! }�X�"� �h�q� �fg8*0&)�Fr¢2-�x� �F� U �L�!-|e��!-d�`���/� �d�fU

#�¬�­`®O¯\°+¯ �x®

% BjNfS :)(�,/.0&)&=2;3�.0E � BIS :1sº:¶@9(Q.x@q:)( �J2;(D@}>`2±s{*d&1&)*P¤C:)E`<�s{*d�`K � Kq* � 26K+@q:=2;(6U

�xU k³¸d2/K�M�EF*O3`2z:)(¥2/:=@q>`2/K K+2;3H*LK¥¡J&�.0,qi�OU k³¸d2/K�M�&=2P.LsT:)(¥¡J&�.L,}i�¨h[ :1(+(Q:1E`<¢EF*O3`2 � KQ* � 26K�@ MJª��U �hs . EF*f3`2z:)(¥K+2/3~��@}>`2/E�¡�*L@q>H:=@q(¥,}>F:)&)3`K+2/EH.LK+2¹¡J&).0,}i

¨ � k8  ,6*dEF([email protected]:1EA@�ª+FU k³¸d2/K�M (+:)r � &12 � .|@}>$s Kq*0r .zEF*O3`2¥@q*©.±3`2;(+,G2;EF3`2/E?@D&12;.Ls�,6*[email protected]:)EF( @q>`29(Q.0r¢2EO�Fr£¡�26K¥*0sn¡J&�.0,}i�EF*f3`2/(

¨hBDm % �%$ ,/*0EF(�@QKq.0:1EA@�ª

�� �'& �)( �C¬6¯+* � °��-, �/. �10A¬

�C�Fr£¡�26K *Ls ¡J&).0,}i�EF*O3`2/(¥*dE·.0E?M � .x@q>Xs{KQ*drH�O¡J��@�EF*x@¥:1EF,/&1�F3F:)E`< .£EF*O3`2 I@q*-.$&=2P.xs :)(�,/.0&)&=2;3X@q>`2±¡J&�.0,}i�>`2/:1<d>A@¥*0s IH.0EF3H:1(�3`2;EF*L@Q2/3�¡AM�¡J>n¨ I«ªRU

B8&�.0,qiX>`2;:=<?>?@�*0s .0E � BIS :1(j@}>`2¹¡J&).0,}i�>`2/:1<?>?@�*Lsº:=@q(jKQ*f*x@PU k8.L,R>4EF*O3`2±*0s .£KQ2/34¡J&).0,}i�@QK+2/2±,6*[email protected]:)EF(D@q>`2¹s{*d&1&)*P¤C:)E`< �J2/&)3F(6U

,6*d&)*d�`K id26M &=2/s´@ KQ:1<d>A@ � .xKQ2/E?@

�hs .�,R>F:1&)3�*Lsn.zEF*f3`2_3F*O2/(IEF*L@I2JIF:1(�@;�d@q>`2_,6*0K+K+2;( � *0EF3F:)E`< � *d:1EA@Q26K �J2;&13¢¤C:)&1&¡«2�� 4_m m .LEF3·@q>`2;(�2�.LK+2¹K+2/<?.LKQ3`2;3�.0(�&12;.;¸?2/(/U

¦_EF&¶MX@}>`2z:[email protected]&�EF*f3`2/(j¤C:)&1& >J.;¸?2¹id2GMX¸L.0&)�`2/(9.0(+(+*f,6:�.x@Q2/3�¤C:¶@q>·@q>`2;rHU

Page 135: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼/»

3

7 15

10

12

16

14

blackblackblackblackblack

blackblack

black

black

black

black

red

red

redblack

( leaf )

( leaf )( leaf )( leaf )( leaf )( leaf )

( leaf ) ( leaf )

0 0

0 0 0 0 0

0

1

1 1

2

1

1

2blackheight = 2

����� ��!#"%$'& �'( 6 !?" ��� ��0 ,�� � <>!?"2"��4��<�� ��0 , � � ��"2� � �U< ¼ S�>`2¹KQ*O*L@9rX.;M¢¡�2±K+2;3H*LK¥¡J&�.0,qi�U

WA@CB�� D%F�%'� 5INO262 K :1<d�`KQ2/(C�fU�� .0EF3�fU��)-`UM ��� �� %'�� ������� B]V %������ F B�� ��#��&%'%

�¥¬���� \° �

� E². � BIS±��EF* � .x@q>s KQ*dr .�EF*O3`2XI @q*�.�&12;.Ls :)(_r¢*0K+2�@q>J.0E @ ¤C:),G2£.L(§&)*dE`<·.L(.0E?M·*L@q>`26K � .x@q>4s KQ*dr I·@q*¢. &12;.Ls Um 2G@¹¡J>n¨ I ª9¡�2£@q>`2£¡J&�.0,qi >`2;:=<?>?@¹*0s I U�S�>`2/E�@q>`2 &12/E`<0@q>*0sI.�&)*dE`<d2/(v@ � .x@q>

s KQ*dr I·@q*¢. &12;.Ls ��� @ ¨ ��ª"!x. � .x@q>4*0E�¤C>F:),R>·K+2;34.0EF34¡J&�.L,}i�EF*f3`2/(9.0&¶@q26KQEJ.x@Q2�#

m 2/E`<0@q>4*LsT@}>`2±(+>F*0K�@Q2/(�@ � *d(+(+:1¡J&=2 � .x@q>�s KQ*dr �4@}*-.-&=2P.xs� @ ¨$��ª%!x. � .x@q>·@q>J.x@9*0EF&=M�,6*[email protected]:)EF(j¡J&).0,}if(&#

7C2/EF,G2±@q>`2¹K+2/(Q�F&¶@;U

Page 136: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼R¼

0 0 0 0 0 0 0 0

1 1 1 1

11

2

2

Black height = 2

Black height = 2

1 1 1 1

0 0 0 0 0 0 0 0

2 2

Black height = 3

1 1 1 1

0 0 0 0 0 0 0 0

2 2

3

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

1111

2 2

2

Black height = 2

����� ��!?" $'& » ��( +�*�,)- .�0 "21 3 5+!#" ��� ��0 , � �/<>!#" "21

Page 137: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼)�

x

x2x1

����� ��!#" $�& »R»)( 6 1#� -/.�0�";!#" ��� ��0 , � � <#!#"2"

�¥¬���� \°��

%!K+2;3feh¡J&�.0,}i�@QK+262§¤C:=@q> �²:)[email protected]& EF*O3`2;(�>J.0(�>`2/:1<d>A@�.x@9r�*d(v@� &)*0< ¨�� & �Pª

� *dEF(+:13`2/K9.LEAM�EF*O3`2 ��.0EF3�@q>`2z(+�`¡`@QKQ262±KQ*f*L@Q2/3 .x@ � U S 2z¤C:1&)& �JKQ(�@C(+>F*P¤ @q>J.x@@q>F:)(j(Q�`¡`@QK+262±>J.0(9.x@9&=2P.0(v@

��� ������� � � :[email protected]&�EF*O3`2;(S 2¢3F*�@q>F:)(¹¡OM�:)EF3F�F,�@q:)*dE�*dE�@q>`2¢>`2/:1<?>?@z*0s � U¢�hs @ ¨$� ª -`� � @ ¨$��ª -��� :)(&=2P.Ls .0EF34>`2/EF,62¹@q>`2z(+�`¡`@qK+262±>J.0(�EF*¢:[email protected]&�EF*O3`2;(6� .0(¥,6*0K+Kq*L¡�*0Kq.x@Q2/3�¡AM

� 0 �o� -m~26@ @ ¨$� ª� --.LEF3H&12G@ � $ .0EF3 � ( ¡�2z:¶@}(j@ ¤¥* ,R>F:1&)3`K+2/E ¨#K :1<?�`K+2©�fU��d�Pª�C*L@Q2§@}>J.|@ @ ¨$� $ ªR� @ ¨$� ( ªj.LK+2¹¡�*L@q> � @ ¨$� ª%� �LU^%'(Q(+�Fr¢2§@q>`2zK+2;(+�F&=@j@}* ¡�2±@QKQ�`2s{*0K � $ .0EF3 � ( U S 2�(+>J.0&)& (+>F*P¤ @q>`2±K+2;(+�F&¶@9:)(j@QKQ�`2¹s{*0K � U�C*�¤��

� @ ¨ � $ ª � � @ ¨$� ªo.0EF3 � � @ ¨$� ª;� �� @ ¨ � (Qª � � @ ¨$� ªo.0EF3 � � @ ¨$� ª;� �

S�>`26K+2/s{*0K+20�O@q>`2±@QK+262§¤C:=@q>�KQ*O*L@ � $ >J.0(9.x@�&12;.0(v@� � � ������� "%$ �o��� :)E?@Q2/KQEJ.0& EF*O3`2/(

Page 138: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼ �

T1 T2

T3 x

y x

yT1

T2 T3

Right rotate ( T, y)

Left rotate ( T, x)

����� ��!?" $'& »�¼'(�� 3 < , <#� 3��1 � � , !#" � � ��0 , ��� <>!?"2"

¤C>`26K+2P.0(D@}>`2§@QK+262§¤C:=@q>�KQ*O*L@ � ( >J.0(9.x@�&12;.0(v@� � � ������� "%$ �o� � :)E?@Q2/KQEJ.0& EF*O3`2/(

S�>O�F( @q>`2¹@qK+262§¤C:=@q>�KQ*O*L@ � >J.L(9.x@9&12;.0(v@� & � � ������� "%$ �o� & � � ������� "%$ �o� � � � ������� �o� � � :[email protected]& EF*f3`2/(

S *$,/*0r � &12G@Q2'@q>`2 � Kq*O*0s �`&12G@ @ ¡�2¹@q>`2±>`2;:=<?>?@9*0sn@q>`2¹@QKQ2620U³S�>`2/E� @ ¨tKQ*O*L@}ª � @

�S�>O�F(

� � � ��� ( �o�? @ � � &1*0<�¨�� & �Pª

M ��� � � V % ����� F B�� � #��&%(%(��G � �!%(�!� �� � �

S >F:1&12¢:)EF(�2/K�@q:)E`<H.HEF*f3`20�n@q>`2¢K+2;(+�F&¶@}:1E`<4@QK+2/2-rX.;M�¸�:)*0&�.x@Q2£@q>`2¢K+2;3feh¡J&�.0,}i� KQ* � 2/K�@q:12/(6U S *$K+2;:1EF(�@}.x@Q2C@}>`2¹¸�:)*d&).x@Q2;3 � KQ* � 26K�@ Md�O¤ 2��F(�2� V % � � F ��� ����� � .LEF3 �x*0K� V �"� B �&� � � ¨t(Q.0r¢2¹.0(�:)E�%ng±m²@qK+262;(65INO262=K :1<?�`K+2©�fU��P� ª

&126s´@ KQ:1<?>?@ 3F*d�`¡J&=2

S *X:1EF(�2/K�@_.�EF*f3`2 �n� ¤ 2 �JKQ(v@_:)EF(�2/K�@C@q>`2�EF*O3`2 .0(C:1s³:)E.0E*0KQ3F:)EJ.LK�M BjNfS.LEF3 ,/*0&)*d�`K£:¶@£K+2;3~U �hs�@}>`2 � .LK+2/EA@£*0s¥@q>`24:1EF(+26K�@Q2;3 EF*f3`2�:)(�¡J&).0,}i�� @q>`2;E

Page 139: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼ $

Right rotate

and changecolours

10

8 15

9

10

15

8

9

8

10

15

15

10

8

6

6

k

k - 1k

k

x

Uncle is black

y

k

k

k - 1

k -1 x

y

10 10

20 20

Uncle is right child of root

Fig. 5

Fig. 4

Fig. 3

Just

insertedx

y

Uncle is red

10

8

9

15y

x

15

9

8

10

Uncle is red

insertedJust

x xy y

k

k

k k + 1

kk

k 8

10

15 15

10

8

6 6

This need notbe the root

Fig. 1

Fig. 2

Double rotate

and change

coloursx

x

Uncle is black

justinserted

justinserted

justinserted

��� �)��!#" $�& »��'(�� ��1#" !?<>��3� � � ��� <#!#"2" 1 ( � ��� "2!?" �J<41 � " �T,)!?� 3 1

Page 140: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼ �

x

y4

5

7

8

1

2

11

14

15

( Fig. 1)

(Fig. 5)

11

2 14

1571

5 8

4

x

y

7

11

14

15

2

5

4

1 8

��� � ��!#" $'& »���(�� ��1#"2! <>��3� � �A!#" � � ��0 , ��� <>!?"2" 1 ( +�*�, - .�0�" »¤ 2$.LK+2 3F*dE`2$(+:)EF,G2$EF*dE`2$*0s^@q>`2 � B � KQ* � 26K�@}:=2;(9¤C:)&1&T¡�2 ¸`:1*d&�.x@Q2/3~U��hs8@q>`2� .xKQ2/E?@�:)(¥K+2/3~��@}>`2/E·@q>`2±K+2;34,/*dEF([email protected]:)E?@j:)(j¸�:)*d&).x@Q2;3~U NO2/2=K :1<d�`KQ2©�OU´�/�`U� Eo(+�F,R>o. ,;.L(+20�¥¤j2¡J�`¡F¡J&12u@q>`2¸�:)*d&).x@q:)*dE � � @q>`2�@QK+2/2¡OM K+2 � 2P.|@q2/3F&=M. �F� &=M�:)E`<£@q>`2�K+2/,/*d&1*d�`KQ:)E`<�@QKq.0EF(�s{*0KQrX.x@q:)*dE¢*0s K :1<?�`K+2��±*0K K :=<?�`K+2£�£�FEA@q:1&:¶@^EF*z&)*0E`<d2/K . �F� &1:12/(/U S�>F:1(³2/:=@q>`2/K³2;&1:)r�:1EJ.x@Q2;(n@q>`2¥¸�:)*d&).x@q:)*dE©*0K � KQ*O3F�F,62/(8.(+:¶@}�J.|@}:1*dE±:)E�¤C>F:1,R>�*dE`2D*0sf@}>`[email protected](�st*LKqr�.x@q:)*dEF(�:1EWK :1<?�`K+2/(º�`� +F�A�C. �F� &1:12/(6�2;.0,R>�*0sn¤C>F:1,R>4&=2P.;¸?2/(¥EF*£¸`:1*d&�.x@q:1*dE~U

%'E-:1EF(�2/K�@q:)*dE�K+2'�f�F:=K+2;(��¢¨t&1*0< �nª K+2/,/*0&)*d�`KQ:)E`<d(³.LEF3¢.x@ r�*d(v@º@ ¤j*§KQ*L@}.x@q:)*dEF(6U K :=<?�`K+2;(C�OU´� +-.0EF3 �fU´�P��:)&1&)�F([email protected]@Q2'@ ¤j*£2UIF.0r � &=2;(6U

M ��� ��� V % ����� F B�� � #��&%(%(��G � %9F�% � � ���

NO262=Kº:=<?�`K+2;( +JU �d� ��+JU � �OUK :1KQ(v@;�`(�2P.LKQ,R>·s{*0K9.0E42/&12/r¢2/EA@D@q*$¡«2©3`2/&12G@Q2;3~U

Page 141: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼ �

( Fig. 2) Recolouring

( Fig. 4) Right rotate with recolouring

25

20 30

28 35 10

15 8

9Just inserted

y

x

25

20 30

28 35 10

15 8

9

x

y

15

25

30

3528 9

20

8

10

��� � ��!#" $'& » $ (�� ��1#"2! <>��3� � �A!#" � � ��0 , ��� <>!?"2" 1 ( +�*�, - .�0�" ¼

Page 142: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼ �

�7� � ��!?" $'& »���(�� "20�" <#� 3�� � ��� <>!?"2"21 ( � ��<#�T, <>��3� »

����� ��!?" $'& »��'(�� "20�" <#� 3�R� � !?" ��� ��0 ,���� <>!?"2" 1 ( � ��<#�T, <>��3� ¼

����� ��!?" $'& »���(�� "20�" <#� 3�R� � !?" ��� ��0 ,���� <>!?"2" 1 ( � ��<#�T, <>��3� �

����� ��!?" $'& »���(�� "20�" <#� 3�R� � !?" ��� ��0 ,���� <>!?"2" 1 ( � ��<#�T, <>��3� �

����� ��!?" $'& ¼���(�� "20�" <#� 3�R� � !?" ��� ��0 ,���� <>!?"2" 1 ( � ��<#�T, <>��3� $

Page 143: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »+¼ �

��� � ��!#" $'& ¼/» (�� " 0 " <#� 3�R� �R!#" ��� ��0 , ��� <#!#"2" 1 ( +�*�, - .�0�" »

Page 144: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

��� � ��!#" $'& ¼R¼'(�� " 0 " <#� 3�R� �R!#" ��� ��0 , ��� <#!#"2" 1 ( +�*�, - .�0�" ¼

Page 145: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »��;»

�hs�@q>`292;&=2;r-2;E?@³@q*¹¡�2C3`2/&12G@Q2;3-:)(8:)E¢.zEF*O3`2�¤C:=@q>$*dEF&=M$&=2/s´@8,}>F:)&)3~�?(v¤¥. � @q>F:)(EF*O3`2©¤C:¶@}> @q>`2£*dE`2 ,6*[email protected]:)EF:)E`<$@q>`2 &�.LK+<d2/(v@_2/&12/r¢2/EA@':)E @q>`2 &126s´@§(+�`¡`@QK+2/20U¨tS�>F:1(jEF*O3`2�>J.L(�EF*-KQ:1<?>?@j,R>F:)&13«ª�U

�hs^@q>`2£2;&=2;r-2;E?@_@q*�¡�2$3`2;&=26@Q2/3�:1(¹:)E].�EF*f3`2£¤C:¶@}>�*dEF&=MuKQ:=<?>A@_,R>F:1&)3~�~(�¤¥. �@q>F:1(©EF*O3`2�¤C:¶@q> @q>`2·*dE`2�,6*dEA@}.0:1EF:)E`<H@q>`2�(+rX.0&1&12/(�@�2/&12/r¢2;E?@©:)E @q>`2XKQ:1<d>A@(+�`¡`@QK+2/2�¨tS�>F:1(¥EF*f3`2z>J.0(jEF*¢&126s´@9,R>F:1&)3«ªRU

�hs @q>`2©2/&12/r¢2;E?@¥@q*¢¡«2�3`2/&12G@q2/3 :)(C:)Eu.�EF*O3`2�¤C:¶@q>4¡�*L@q>u.�&=2/s´@C,R>F:1&)3u.0EF3.KQ:=<?>A@j,R>F:1&)3~��@q>`2;E�(�¤¥. � :1EH.0E?M·*0sT@q>`2z.L¡�*�¸d2§@ ¤j*£¤¥.;M`(6U

S >F:1&12±(v¤�. �F� :)E`<J�`(v¤¥. � *dEF&¶MX@q>`2¹id26M�(¥¡J��@9EF*L@j@}>`2z,6*d&)*0�`Kq(6U

S�>`2¢:=@Q2/r @q*H¡�2X3`2/&12G@Q2;3 :)(zEF*P¤ :1E�. EF*O3`2X>J.;¸`:1E`< *dEF&¶M .H&126s´@�,}>F:)&)3 *0K*0EF&=M . KQ:1<?>?@£,R>F:1&)3~U � 2 � &).0,62�@q>F:1(©EF*O3`2�¤C:¶@q> :¶@}(©(Q*0&12�,R>F:1&)3~UuS�>F:)(�rX.;M¸�:)*0&�.x@Q2_K+2/3H,6*dEF([email protected]:1EA@j*0K�¡J&).0,}i�,6*dEF([email protected]:1EA@;UTg¹:1*d&�.x@q:1*dE�*0sTK+2;34,/*dEF([email protected]:)E?@,/.0E·¡�2±2P.L(Q:1&=M �+I�2;3~U

�hs§@q>`23`2;&=26@Q2/3pEF*f3`2:1(�¡J&)*O,}i�� @q>`2u¡J&�.L,}i ,/*0EF(�@QKq.0:1EA@¢:)(¢¸�:)*d&).x@Q2;3~U S�>`2K+2/r�*P¸L.0&T*0s8.·¡J&�.L,}iuEF*f3`2��,/.0�F(�2;(±.0E?M � .x@q>@q>J.x@±,6*dE?@}.0:)E`2/3�� @q*·>J.P¸d2*0E`2¹s{2G¤ 2/K¥¡J&).0,}iXEF*O3`20U

Sj¤j* ,;.L(+2/(9.LKQ:)(�205�LU S�>`2CK+2 � &�.0,6:)E`<±EF*O3`2C:)( K+2/3~�O:1E$¤C>F:1,R>¢,/.0(�2�¤j29r¢26K+2;&¶M£,6*d&)*0�`K^:=@^¡J&�.0,}i@}*$rX.Li02¹� � s{*0Kj@q>`2±&)*0(Q(�*Ls *dE`2±¡J&�.0,qiXEF*f3`20U

�fU S�>`2zK+2 � &�.0,6:)E`<$EF*O3`2±:)(¥¡J&).0,}i�U��E¹@q>F:)( ,;.0(�20�;¤j2���¡J�`¡F¡J&12�� @q>`2��+(+>F*0K�@qE`2/(Q(��¥� � @q>`2³@QK+262 ¡AM§K+2 � 2P.|@q2/3F&=M. �F� &=M�:)E`<z@}>`2'K+2;,6*d&)*0�`Kq:1E`<¹@qKq.0EF(�s{*0KQrX.x@q:1*dE *0s Kº:=<?�`K+2±�OU´�/�z�FEA@q:)&«:=@ EF*&)*dE`<d26K�. �F� &):12/(6U

S�>`2/E¤ 2 � 2/K+s{*0KQr @q>`2�@qKq.0EF(�s{*0KQrX.x@q:1*dE4:1E K :1<?�`K+2¢�fU�� �-:1s^:=@±. �F� &):12/(6��st*0&¶e&1*P¤j2/3�:=sIE`2;,G2;(+(Q.LK�M¡OM�*dE`2-. �F� &1:),/.x@q:)*dE*0s/K :1<?�`K+2��fU�� �`� Kº:=<?�`K+2��fU´�/��� *0KK :=<?�`K+2©�fU\�.-�U

� B³e�3`2;&=26@q:1*dE·K+2'�f�F:=K+2;(�¦-¨t&1*0<¢E«ª8KQ2/,6*d&)*d�`KQ:1E`<?(j.LEF3 .x@9r�*0(�@�� KQ*L@}.x@q:1*dEF(6U NO262=K :1<?�`K+2/(C�fU\���¹.LEF3�fU\�0�©s{*0K @ ¤j* 2JIF.0r � &12/(6U

Page 146: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »���¼

����� ���� "-# � ���

#�¬�­`®O¯\°+¯ �x®

% �Pe ��STK+2/2©:)(_.�Ef�F&1& @QKQ262�¨tw626Kq*XEF*O3`2/(Rª¥*0K_.�(+:)E`<?&=2�EF*O3`2©@QKQ262�¨ *0EF&=M *0E`2EF*O3`2�ªD*0K9.$r$�F&¶@q: � &12'EF*O3`2±@QK+262§¤C:=@q>·@q>`2¹s{*d&)&1*P¤C:)E`< � KQ* � 26K�@q:12/(/5�LUºk8.0,R>4:1EA@Q26KQ:)*0K EF*f3`2z>J.0(j@ ¤¥* *0K @}>`K+262±,R>F:)&13`K+2;E�fUºk8.0,R> � .|@}>·s Kq*0r @q>`2¹KQ*O*L@¥@q*¢. &12;.Ls >J.L(j@}>`2z(Q.0r¢2§&12/E`<0@q>~U

K :12/&)3F(j*0s . �C*f3`2-5� ®L°�¬U�Q® � . �"0O¬

� $ � $ � ( �.( � =� $ 5��º*d:)E?@Q2/KD@}*£@q>`2 �JKQ(�@C,}>F:)&)3� ( 5��º*d:)E?@Q2/KD@}*£@q>`2±(�2;,6*dEF3H,R>F:1&)3� = 5��º*d:)E?@Q2/KD@}*£@q>`2§@q>F:1KQ34,R>F:1&)3� $ 5 NfrX.0&1&12/(v@jid2GMX@q>J.x@9:1(9.$3`2/(+,62/EF3`2;E?@C*0sn@q>`2z(�2;,6*dEF3H,}>F:)&)3� ( 5 NfrX.0&1&12/(v@jid2GMX@q>J.x@9:1(9.$3`2/(+,62/EF3`2;E?@C*0sn@q>`2¹@q>F:1KQ34,}>F:)&)3

�J¬ � , . �10A¬

i026M *L@q>`26K �J2;&13F( � 2/,6*0KQ3F(9.LK+2 � &�.0,G2;34.x@¥@q>`2z&12;.;¸?2;(6U³k8.0,R>4&=2P.xs ,/*0EA@}.0:1EF(¥.$K+2/,/*LKq3]¨ .0EF3�i026MJª

� � � � =¬�� �0¬6¬ � ¯+* ���Q¬ ������

�0¬ � � & �

S�>`2-¸L.0&)�`2/(�K+2/,/*0KQ3`2/3�.|@©@q>`2�:)E?@Q2/KQEJ.0&³EF*f3`2/(�,/.0E ¡«2��F(�2;3 @q* <?�F:13`2¢@q>`2(�2;.LKQ,R> � .|@}>~U

S *�(�2P.LKQ,R>�s{*0KD.zKQ2/,6*0KQ3¢¤C:=@q>¢id2GM-¸L.L&)�`2 �n�A¤j2 �JKQ(�@D(v@}.LK�@ .x@I@q>`2'KQ*O*L@;Uºm 2G@� $D.LEF3��.(j¡�2±@q>`2§@ ¤j*£¸L.L&)�`2/(�(�@q*0K+2/34>`26K+2dU

Page 147: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

7 16

5 - 8 12 19 -

2 5 7 8 12 16 19

�7� � ��!?" $'& ¼)��( 6�� " *�, - .�0�"%3)5�, ¼ � � <>!?"2"

�LUº� s ��� � $ �Fr�*P¸?2_@q*£@}>`2 �JKQ(v@C,R>F:1&)3�fUº� s � � � $ .0EF3�@q>`2§EF*O3`2§>J.0(D*dEF&=M$@ ¤j*�,R>F:1&)3`K+2/E~�fr�*P¸?2�@q*�@q>`2§(�2/,/*dEF3,R>F:)&13

�`Uº� s ��� � $ .0EF3 @q>`2·EF*O3`2�>J.L(©@}>`K+262�,R>F:)&13`K+2;E~� r�*P¸?2-@q*@q>`2�(�2/,/*dEF3,R>F:)&134:1s ��� � ( .0EF3�@q* @q>`2§@q>F:1KQ3�,R>F:)&134:1s ��� � ( U

k³¸d2;E?@q�J.0&)&¶M?�?¤j2±K+2P.L,R>4.$&12;.Ls U �u:)(�:1E·@q>`2¹@QKQ262±:=µ � :)(9.|@¥@q>F:)(¥&=2P.Ls U

� � ° � �J¬/® *�° � �

% �Pe��$STK+262±¤C:¶@q> ��&=26¸d2;&1(¥>J.0(¥¡�2G@ ¤ 262;E ��� "%$ .0EF3H��� "%$ &12;.P¸d2;( S�>O�F(�.��Pe ��@qK+262§¤C:=@q>��²2;&=2;r-2;E?@q(z¨t&12;.;¸?2;(}ª^KQ2'�O�F:1K+2;(.|@9&12;.0(v@�� & &)*0< = �]&=26¸d2;&1(.|@9r�*d(v@±� & &)*L< ( �]&12G¸?2/&)(

M�� � � � � � ����� ���HG������ ���� ���

KF*0K9.LE42UIF.0r � &=2d�f(+262=K :1<?�`K+2©�fU � +JU� ®7� ¬���°�� ��xU m *f,/.x@Q2§@q>`2±EF*f3`2��«�`¤C>F:),R>·(+>F*d�F&)34¡«2¹@}>`2 � .LK+2/EA@¥*0s �

�OU �hs��X>J.0( ��� � ,R>F:)&13`K+2;E~�

Page 148: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

5 -

5 -

2 5

8 -

7 8

v 12 -

10 12

v‘

16 18 19

1918

v

7 16

8 - 12

16 18 19

-

7 8 10 12

w

v v‘ 1918

- - 7 16w

10 - New root

Old root

Insert(18)

Insert(10)Split v into v and v‘

Split w into w and w‘ and makea new root

7 16

5 - 8 12 19 -

2 5 7 8 12 16 18 19

2 5

7 16

5 - 8 12 19 -

2 5 7 8 12 16 19

����� ��!?" $'& ¼3��(�� ��1#" !?<#� 3�A� � ¼ � � <>!#" "21 ( 6�� " *�,)- .�0 "

Page 149: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� $

5 -

5 -

p

delete (12)

-

10

16 18 -

16 18 19

5 8

of node vdelete(7).This leads to deletion

--

12 18

5 8 16 19

12 16 18 19

leads to deletion of p and p’and decreases the number of levels by 1

- - 7

10 -

8 -

7 8

-

10

18

16 18 -

16 18 19

p

v

L 2 5

- -

-

18p p’

2 5 8

2 5 8

- - 7 16

10 -

8 -

7 8

12 -

10 12

v

2 5 16 18 19

1918

�7� � ��!?" $'& ¼ $ (�� "20�" <#� 3�� � ¼ � � <>!?"2" 1 ( 6�����*�, - .�0�"

Page 150: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

rX.Lid2 �u.LEF*L@q>`2/K�,}>F:)&)3·*0s��·.0EF3 � &�.0,G2±:=@C:1E·@q>`2 � KQ* � 26K�*0KQ3`26K .03��v�F(�@ ��$ .LEF3 �.(9.x@9EF*O3`2���@}* K+2��J2/,�@¥@q>`2�E`2G¤!(+:¶@}�J.|@}:1*dE

��U �hs��X>J.0( � ������ ,R>F:)&13`KQ2/E~� ( � &1:=@ � :1EA@q* @ ¤j*EF*O3`2/( � .LEF3 ���´U [ .Lid2X@q>`2�@ ¤¥*(+rX.0&1&12/(�@�.0r�*0E`<st*0�`K_,R>F:1&)3`K+2/E (�@}.;M·¤C:=@q> �H.0EF3.0(+(+:1<dE @q>`2©*L@q>`2/K9@ ¤j*�.0(',R>F:)&13`K+2;E *0s����U

� 2/,6�`Kq(+:¶¸?2;&¶M�:)EF(�26K�@ ����.Lr�*dE`<�@q>`2z,R>F:)&13`KQ2/E·*0s��!¤C>`2/K+2� � .LK+2/EA@¥*0s �

S�>`2XKQ2/,6�`Kq(+:¶¸?2X:)EF(�26K�@}:1*dE ,;.LE � KQ*f,G262;3�.0&)& @q>`2�¤¥.PM]� � @q* @q>`2XKQ*O*L@;�rX.Lif:)E`<�:=@¹E`2;,G2;(+(Q.LK�Mu@q*�( � &):¶@§@q>`2 Kq*O*L@;U©� E�@q>F:)(_,;.0(�20� ,GK+2P.x@Q2$.·E`26¤Kq*O*L@;�f@q>f�F(�:1EF,6K+2;.0(+:)E`<�@q>`2zEf�Fr£¡«2/Kj*0s &12G¸?2/&)(j¡AM]�LU

M�� � � � � � ����� ���HG� �7F � ��� � �

#�¬�=¬�°�¬ � ��xU m *f,/.x@Q2§@q>`2±&12;.Ls��y,6*dE?@}.0:)EF:1E`< �u.0EF3H&12G@ �X¡«2±@q>`2 � .LK+2/EA@¥*0s ��OU  C2;&=26@Q2��jUºS�>F:)(³rX.;M�&=2P.;¸?2 ��¤C:=@q>$*dEF&=M�*dE`2�,R>F:1&)3~U � s �£:)(º@q>`2¥KQ*f*L@;�d3`2/&12G@Q2

��.0EF3 &12G@8:¶@}( &)*0E`2¥,R>F:1&)3£¡�2/,/*0r¢2 @q>`2�E`2G¤yKq*O*L@;U S�>F:)(ºK+2;3F�F,G2;(º@q>`2�Ef�Fr£¡«2/K*Ls &12G¸?2/&)(j¡AM²�LU^�hs���:)(�EF*L@j@}>`2±KQ*O*L@;�`&12G@

� � .LK+2/EA@�*0s��� s � >J.0('.�,R>F:)&134¤C:=@q>u��,R>F:)&13`K+2;E~�[email protected](�s 26KC.0E. �F� KQ* � KQ:�.x@Q2±*dE`2z@}* �:1sn@q>F:)(�,}>F:)&)3�:)(�.L3��+.L,62/EA@©¨ (+:=¡J&):)E`<Oª @q* ��U� sº,R>F:1&)3`K+2/E�*0s � .03���.0,G2/EA@ @}* ��>J.;¸?2¹*0EF&=MX@ ¤j*£,R>F:1&)3`K+2;E~�[email protected](�s 2/KD@q>`2&)*dE`2±,R>F:1&)3�*0s���@q*¢.LE .03���.0,G2;E?@�(+:1¡J&1:)E`<-*0s��·.0EF3�3`2;&=26@Q2��«U� �hs � EF*P¤ >J.L(j*dEF&¶MX*dE`2¹,}>F:)&)3~�OKQ2 � 2;.x@ K+2;,6�`KQ(Q:¶¸?2/&=M$¤C:=@q> � :1E � &).0,G2*0s �«U S�>`2uK+2;,6�`KQ(+:)*dEy,;.LElKQ: �F� &12.L&)&¥@q>`2u¤¥.;M � � @q* @q>`2 KQ*O*L@;�&12;.03F:1E`< @q*-.$3`2/,GKQ2;.0(�2z:)E�@}>`2zEO�Fr£¡�26K¥*0s &=26¸d2;&1(/U

WA@CB�� D%F � 5DNO262=K :1<?�`K+2��fU\�0�fU

Page 151: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

����� � 0"-# � ���

Z 2/E`2/Kq.0&1:1w;.x@q:)*dEX*0s �Pe � STKQ262/( [H�F&=@q:\eh¤�.;M�(+2;.LKQ,R>�@qK+262d�f¸d2/K�MX¤ 2;&1& (+�F:¶@q2/3�s{*0Kj2UIf@Q2/KQEJ.0& (v@q*0Kq.L<d2 NA@}.0EF3J.xKq3·*0K+<A.0EF:=wP.|@}:1*dE�s{*0K¥:1EF3F:),G2;(�:1E43J.x@}.L¡ .L(+2±(vM�(v@q2/r�( BI.0&�.LEF,62/3'@QK+2/20�/¤C>F:),R>±.L,R>F:12G¸?2/( r¢:)EF:)r¢:1w;.x@q:)*dE�*0sO3F:1(+i§.0,6,62/(+(+2/( :)E¹3J.x@}.L¡ .0(�2K+2G@QKq:=26¸L.L& . �F� &):1,;.|@}:1*dEF(6U

VXW_Y � U BD.;M?26K/U NAM�r�r¢2G@QKq:1,-¡J:1EJ.LK�M B eh@QK+2/2/(65� _.x@}.]NA@QKQ�F,G@q�`K+2;(�.0EF3�rX.0:1EA@Q2�eEJ.LEF,62z.0&=<?*0KQ:=@q>Fr�(6U �9���h���+���G�! R���"�{�b�}� �fg^*d&)�Fr-2-�L� �F� U\�L�2-|e �!-d��� �/� �0�fU

VXW_Y � ULBD.;M?26Kn.0EF3�k�U [ UL[H, �DK+2/:1<?>?@;Uº¦'KQ<?.0EF:1w;.x@q:)*dE§.0EF3©rX.L:)E?@q2/EJ.0EF,G2 *LsF&�.LK+<d2*LKq3`26K+2;3�:)EF3`2JI`2/(6U��C� �h� �+���G�! R���"�{�b�}�J��g^*d&)�Fr¢2C�L�2�C�Fr ¡«2/K �`� �F� U � �L��eR� �d�`��6� �d�fU

VXW_Y  ©U � *0r¢2/K/UTS�>`29�`¡J: �f�F:¶@}*0�F(IB eb@qK+262dU ��� � � �x����� �{� ��±�� R�0���x�d�dg8*0&)�Fr¢2�0�L�%�'�Fr£¡�26KC�O� �F� �P�`�ReR�6� �f�~�/� �L�`U

M���� � � � �� ��� ��� � � � � � ��� ������

% B eb@qK+262±*0sT*LKq3`26K�� :)(¥.0E��Xe .LK�M·(�2P.xKq,}>·@QK+2/2_¤C:¶@q>·@q>`2¹s{*d&)&1*�¤C:1E`< � KQ* � 26K�@q:12/(/5

S�>`2¹KQ*O*L@9:1(j2;:¶@q>`2/K9. &12;.Ls *LK�>J.0(9.x@9&=2P.L(�@j@ ¤j*$,}>F:)&)3`K+2/E k8.L,R> EF*f3`20�02UI`,G2 � @ st*LK @q>`2¥KQ*O*L@ .0EF3 @q>`2j&12;.P¸d2;(6�d>J.0( ¡�2G@ ¤ 2/2/E �����d� � .0EF3� ,R>F:1&)3`K+2/E

k8.L,R> � .x@q>·s{KQ*dr @q>`2±KQ*f*x@j@q*¢.$&12;.Ls >J.0(D@}>`2z(Q.0r¢2§&12/E`<0@q>~U S�>`2¹KQ*O*L@;��2P.L,R>4:[email protected]& EF*f3`20�J.0EF342;.0,R>4&=2P.xs :)(j@ M � :1,;.0&1&=MX.$3F:1(+i�¡J&1*f,}i�U k8.L,R>¢:[email protected]&FEF*f3`2C>J.0(8� � @q*�¨�� � �Pªºid2GM ¸L.0&)�`2/(8.0EF3�� � @q*�� � *d:)E?@Q2/KQ(¨ @q* ,R>F:)&13`K+2;E«ª

S�>`2�K+2/,/*LKq3F( .LK+2¥@ M � :),/.0&)&¶M�(v@q*0K+2/3-:1E¢&12;.;¸?2/(C¨t:)E-(Q*0r¢2�*0K+<A.0EF:=wP.|@}:1*dEF(6�|@q>`2GM.xKQ2z.L&)(+* (�@q*0K+2/34:1EH:)E?@Q2/KQEJ.0&�EF*O3`2/(Rª

Page 152: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

18

10 12 22 28 34 38

4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42

�7� � ��!?" $'& ¼ ��( 6�� " *�,)-/.�0�"%3)5+, � � <>!?"2"

K :=<?�`K+2¢�fU\�L��(+>F*P¤C(±. B eb@qK+262$*0sI*0KQ3`2/Kz�·:)E�¤C>F:1,R>].x@¹r�*d(v@z�·K+2/,/*LKq3F(��F@:1EA@q*$. &12;.LsT¡J&)*O,}iU

% B³eh@QK+2/2¢,;.0E ¡�2�¸�:12G¤ 2;3 .0(©.u>F:=2/Kq.LKQ,R>F:1,;.L&³:1EF3`2UI :1E²¤C>F:),R>]@q>`2�KQ*f*L@©:)(@q>`2 �JKQ(v@9&12G¸?2/&~:)EF3`2JI~U

k8.L,R>4EF*dEfe &12;.LsTEF*O3`2z:)(�*0sn@q>`2±s{*0KQr¨ � $ � � $ � � ( � � ( �)A A)A�� ��� "%$ � � �8ª

¤C>`26K+2��� :)(9. � *d:1EA@Q26Kj@q* @q>`2±:�� � ,R>F:1&)3~� � ��� � �� � $¹2GM¸L.0&)�`2/(6�8� � � � � � �L�~¤C>F:1,R>].LK+2 :)E�@q>`2$(+*0K�@Q2;3�*0KQ3`2/K/� � $ �

� ( ����� � ��� "%$ � (+�F,R>�@q>J.x@ .0&1&�id26M�(�:)E�@q>`2�(+�`¡`@QK+2/2 � *d:)E?@Q2;3�@q*$¡AM � $D.LK+2±&12/(+(j@q>J.0E � $ KF*0K¥� ��� � � ���x��.0&1& id2GM�(D:1E�@}>`2'(+�`¡`@QKQ262 � *d:1EA@Q2/3-@q*©¡OM ��� .LK+2<dK+2;.x@Q2/KI@q>J.0E4*0Kj2��O�J.0&�@q* � � "%$ .LEF3H&12/(+(j@}>J.LE � �

%_&1& i026M�(':1E4@q>`2�(+�`¡`@QKQ262 � *d:1EA@Q2/34@}*-¡OM � � .xKQ2z<dK+2;.x@Q2/K¥@q>J.0E�¨t*0K2'�f�J.0&�@q*Oª ��� "%$

M���� � � � � D%F � @ � ��� � � � � �������� D �� B ��� �����

m~26@¥@q>`26K+2z¡«2 �²K+2;,6*0KQ3F(6U �hs 2P.0,}>H&12;.LsT>J.L( �'K+2;,6*0KQ3F(¥*dE�@}>`2�.;¸?26Kq.L<d20�O¤j2±>J.;¸?20�.;¸?2/Kq.L<02¹Ef�Fr£¡«2/Kj*0s &12;.;¸?2/( � ��� ��� �

m *dE`<d2/(�@ � .|@}>F(I*O,/,6�`K :1s @q>`2_EO�Fr£¡�26KI*0s ,R>F:)&13`KQ2/EX.x@D2G¸?26K+M-(v@}.L<d2 �����d� � �� �(Q.;M

Page 153: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �

38 40 42

4 6 8 10 12 14 16 1819 20 22 23 24 26 28 30 32 34 36 38 40 42

Insert record with key = 19Insert record with key = 23

Delete record with key = 28Delete record with key = 10

30

12 18 22 24 34 38

4 6 8 12 14 16 18 20 22 23 24 26 30 32 34 36

18 28

10 12 22 24 34 38

18

10 12 22 28 34 38

4 6 10 12 14 168 2818 20 22 24 26 30 32 34 3836 40 42

��� �)��!#" $�& ¼ ��(�� ��1#" !?<>��3� , � � � "20�" <#� 3�A� � � � <>!?"2"21 ( 6�� " *�,)-/.�0 "

Page 154: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »�� �%9¸?2/Kq.L<02¹Ef�Fr£¡«2/Kj*0s EF*O3`2;(j@q>[email protected] � .xKQ2/E?@}( *0sº&12;.;¸?2/( � �%9¸?2/Kq.L<02¹Ef�Fr£¡«2/Kj*0s EF*O3`2;(j@q>[email protected]±(�2/,/*0EF3H&12G¸?2/& � .LK+2;E?@q(

� ������ �� �

� (�hs @ :)(j@q>`2±&12G¸?2/& *Lsn@q>`2�&=2P.;¸?2/(6�f¤j2±>J.;¸?2

�� �#"%$ � �

*0K @ � &)*0< � �:bU 2dU1� @ � &)*0<�� � � (� ��� ��� �

�hs � �#-�¥K+2;,6*0KQ3F(�¨��§r�:)&1&):)*0E�KQ2/,6*0KQ3F(RªR��� �)-`�J.0EF3 � �)-!-`�f¤ 2z>J.P¸d2@ �o� A �

M���� � � � ��� �������G ������������ �

� ®7� ¬���°��� �� ��� EF(�2/K�@C. KQ2/,6*0KQ3���¤C:¶@}>·id2GMX¸L.0&)�`2 �

m *f,/.x@Q2§@q>`2±&12;.Ls�� .|@¥¤C>F:),R>�� (+>F*d�F&)3·¡�2/&)*dE`<JU �hsT@q>`2/K+2±:1(jKQ*f*dr s{*0K�� :1E �j�

� ��EF(�26K+@�� :1EA@q* �y:1E·@q>`2 � Kq* � 26K�*0KQ3`2/K/U� �'*L@Q2§@q>J.x@9EF*$r�*O3F: � ,/.x@q:)*dEF(D.LK+2zE`2;,G2/(Q(Q.LK�MX@q*£@}>`2�.0EF,G2/(�@q*0KQ( *0s��jU

�hsT@q>`2/K+2±:1(¥EF*-KQ*O*dr s{*0K�� :)E �j�

� KQ2'�O�`2;(v@9@q>`2�� &=2©(vM�(�@Q2/r s{*0K'.¢E`2G¤ ¡J&)*O,}i � � .0EF3 r�*P¸?2§@q>`2©&).0(v@C>J.0&1s*0sn@q>`2±KQ2/,6*0KQ3F(js Kq*0r ��@q* � �)�J:)EF(�2/K�@q:)E`<�� :1EA@q* :=@q( � KQ* � 2/K � &).0,G2±:)E �*0K�� � Um 2G@ �

� .LK+2/EA@¥*0s �� � (+rX.0&1&12/(�@ id2GMX¸L.0&)�`2±:1E � �

Page 155: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »��P»� � � *0:)E?@q26K @q* � �

��EF(�26K+@ � � .0EF3 � � :)E�¨{K+2;,6�`KQ(+:=¸?2/&=MJª

� � s�.L&1K+2P.L3�M >J.0( � � *d:)E?@Q2/KQ(6� :1EF(+26K�@q:)*dE *0s � � .LEF3 � � :1EA@q*

�¤C:)&1&

,;.0�F(�2�@q*-¡�2z( � &):¶@C.0EF3�¤C:1&)&~E`2/,62/(+(Q:¶@}.x@Q2±.0EH:1EF(+26K�@q:)*dE�*0sº.$i026M4.0EF3

. � *0:)E?@q26K¥:1E·@q>`2 � .LK+2;E?@9*0s�U

� S�>`2jK+2;,6�`KQ(+:=¸?2D(+,R>`2/r¢2D,;.0E£KQ: �F� &=2 .0&)&?@q>`2 ¤¥.PM�� � @q*'@q>`2 KQ*O*L@ ,/.0�F(+:)E`<@}>`2±KQ*O*L@j@q* ¡�2�( � &1:=@;�`:)E�¤C>F:),R>�,;.L(+2 �DK+2P.|@q2$.�E`26¤ KQ*O*L@¹¤C:=@q>�@q>`2 @ ¤j*4>J.0&¶¸?2;(¹*LsI@q>`2-*d&)3�Kq*O*L@�.0(±:¶@}(@ ¤j* ,R>F:)&13`K+2;E~U S�>F:)(�º:)EF,GK+2P.L(+2/( @q>`2zEf�Fr£¡«2/Kj*0s &12G¸?2/&)(�º:)(±@q>`2�*dEF&¶M²(+:=@q�J.x@q:1*dE�¤C>`2/K+2¢. EF*f3`2¢>J.0(zs 2G¤j26K±@}>J.LE �����d� �,R>F:1&)3`K+2;E~U

WA@CB�� D%F � G NO262=K :1<?�`K+2©�fU � �fU

M���� � � � ��� �������G � �9F � ��� ���

#�¬�=¬�°�¬ �� �� �� '2/&12G@Q2z.$K+2/,/*0KQ3 � ¤C:=@q>·id26MX¸L.L&)�`2 �

m *f,/.x@Q2§@q>`2±&12;.Ls��y,6*dE?@}.0:)EF:1E`< � � 2/r�*P¸?2��£s KQ*dr �jU�j.L(+2¢�x5 �y3F*A2;(�EF*L@¥¡�2/,/*dr-2§2;r � @ M·.Ls´@Q26K¥3`2/&12G@}:1*dE� :1s �4:1(�EF*x@z@q>`2 �JKq(v@zK+2;,6*0KQ3]:)E �j� @q>`2/E²@}>`26K+2¢:1(�EF* E`262/3]@q* �+I�@q>`2id26M�¸L.0&1�`2;(¥.x@9>F:1<d>`2/K�&=26¸d2;&1(/U

� � s � :1(j@}>`2��JKQ(v@�K+2;,6*0KQ3·:)E �j��@q>`2;E� :1s �]:1(^EF*L@³@}>`2��JKq(v@^,R>F:)&13-*0s�:=@q( � .xKQ2/E?@��d@}>`2/E¢(�2G@ @q>`2�id2GM�¸L.0&1�`2

:)E�a�(�2;E?@QK�MXs{*0K���@q* ¡�2¹@q>`2�E`2G¤ �JKQ(v@9id2GMX¸L.0&)�`2±:1E �� :1s � :)(¢@q>`2 �JKQ(�@·,}>F:)&)3 *0s

��¥@}>`2uid2GMy*0s � :1(XEF*L@�K+2;,6*0KQ3`2;3 :)E�

�³&1*f,/.x@Q2$@q>`2¢&)*P¤j2/(v@©.0EF,62/(v@q*0K�� *0s�(+�F,R>]@}>J.|@ � :)(zEF*L@z@q>`2

&126s´@qr�*d(v@I3`2/(Q,G2/EF3`2;E?@¥*Ls��!.LEF3�(�2G@ @q>`2¹. �F� Kq* � Kq:).x@Q29id26M-¸L.0&)�`2_:)E��U

Page 156: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »��G¼�j.L(+2©�O5 � ¡�2/,6*dr¢2/( 2/r � @ M·.xs @Q26K¥3`2/&12G@q:)*dE�*0s �� � 2G@q�`KQE ��@q*£@}>`2�� &=2±(�M�(v@Q2;r� %_3��v�F(v@¢@q>`2 id2GM`(¢.0EF3 � *d:)E?@Q2/KQ($:)E

�¨ � .xKQ2/E?@�*0s �8ª�@q*]K+2��J2/,G@-@q>`2

KQ2/r�*P¸L.0&�*Ls��� � sJ@q>`2¥EO�Fr ¡«2/Kº*Ls«,}>F:)&)3`K+2/E£*0s

�EF*P¤ � � � �d� � �02JIJ.0r¢:)E`28@q>`2¥EF*O3`2

��

:)r�r¢2/3F:�.|@q2/&=M @q*£@}>`2z&=2/s´@9*0K @}>`2±KQ:1<d>A@;U �hs���>J.L(9.x@C&12;.0(v@�� & �����d� �

,R>F:)&13`KQ2/E~�_3F:1(�@QKQ:1¡J��@Q2�@q>`2]id2GM�(H.0EF3 � *d:1EA@Q26Kq(�:)E�

.0EF3�� 26¸d2;EF&¶M

¡�2G@ ¤ 2/2/E�.0EF3

��´U� [H*f3F:=s MX@q>`2¹id2GM�¸L.0&)�`2/(js{*0K

�.0EF3

�� :1E�@q>`2 � .LK+2;E?@9*0s

�� �hs�E`2;,G2/(Q(Q.LK�Md�³KQ: �F� &=2¢@q>`2X26µ�2;,�@q(©@}*�.0(�r�.0EAM .0EF,62/(v@q*0KQ(©*0s

�.L(

.LK+2z.xµ�2;,�@Q2;3~U� �hsº@q>`2�Ef�Fr£¡«2/K�*Ls³,}>F:)&)3`K+2/E4*0s�� :1(�2UIF.0,�@}&¶M �����d� � �J¤ 2©,6*dr£¡J:)E`2

�.LEF3

�� :1EA@q*4.H(Q:1E`<?&12-EF*O3`2-¤C:=@q> � � � �0� � eR�-,R>F:1&)3`K+2/E~U�S�>`2;E

K+2;r¢*�¸d2³@q>`2 i026M©.0EF3 � *d:)E?@Q2/K @}*��ds KQ*dr @}>`2 � .LK+2/EA@ s{*0K

���U³�hsF@q>`2

2Gµ�2/,G@q(8*0s 3`2/&12G@}:1*dE-KQ: �F� &12C.0&1&F@q>`29¤�.;M ¡ .0,qi @q*±@}>`29KQ*O*L@;�O,6*dr£¡J:)E`2@q>`2*dEF&=M @ ¤j* ,R>F:)&13`KQ2/Ep*0s§@q>`2uKQ*f*x@PU!S�>`2K+2;(+�F&=@q:1E`<�,6*dr£¡J:)E`2/3EF*O3`2¢:1(¹@q>`2-E`26¤ KQ*O*L@�.0EF3�@q>`2-*d&)3²KQ*O*L@z:)(¹K+26@q�`KQE`2/3�@q*�@q>`2 � &=2(vM`(v@Q2/r U S�>`2zEO�Fr£¡�26K¥*0s &=26¸d2;&1(¥3`2;,GK+2P.L(+2/(¥¡AM²�LU

NO262=Kº:=<?�`K+2©�fU\� �©s{*0K�.0E�2JIJ.Lr � &120U

M���� � M Q B � B ����� ��� � ������� �

��� ( � �+¬G¬��

[email protected]&JEF*f3`2/(I,/*0EA@}.0:1E$@q>`2C:)EF3F:),G2/( @}*±@q>`2'K+2/,/*0KQ3F(8,6*0K+K+2;( � *0EF3F:)E`<±@}*±@q>`2i026Mz¸L.0&)�`2/( � $ � � ( �)A A)A � ���](v@q*0K+2;3 .|@ @q>`2j:)[email protected]&OEF*f3`20U S�>F:1(º*0¡O¸�:�.|@q2/(T@q>`2E`262/3Hst*LK�KQ2 � 2;.x@q:)E`< @q>`2;(�2zid2GM�¸L.0&1�`2;(C.0EF3u.L(Q(+*O,/:).x@Q2;3�:)EF3F:1,62/(C.x@�@q>`2©&=2P.Ls&=26¸d2;& U

[H*0K+2¹2��X,6:12/EA@ @}>J.LEB e�STK+262;(j:)E�@q>`2±,/.0(�2�*Ls (+�F,/,G2;(+(�s{�F& (�2;.LKQ,R>`2/(/U

Page 157: Data Structure and Algorithm by Y. Narahari

������� °v¬���� � � � ® & ¬ 0 � �Q¬G¬�� »��J���� (>� �+¬G¬�� S�>`2-r�:1EF:)r �Fr Ef�Fr£¡«2/K¹*Lsj,R>F:1&)3`K+2/E][email protected],R>]:)E?@Q2/KQEJ.0& EF*f3`2¨{2UI`,62 � @±@q>`2KQ*O*L@�ª8:1( � � �

��� �������� ������������� ��Qr������� ��Ds������0¡A¸� ��d������ !�����"��� �#���$ ��$� ������%����&'&� ��� (� ��"���)���� ±r����� +*,�dr � �� UI.-

/�0#/ 132 465�287/� 9;:+5�<�= �>5? -A@B��CD�� !&FE @B���GIH"����KJ�-ILM��NO*(�P��CQ�!GR����&KH� ,ST�� ,U'V WB����XY���Z-)[]\"�^\`_�� �Ra(b

� � ced]\�fOg��Bh �ji! ek ��ljmnd"-�@o&�&� ����"�qpsrt !���� (U"G ?,u �"v�-w -yxz ����� ��|{�������P���P& ����& �}��~���{��������� ,U"- ����fOgj\�mYc�f��^\"h�d�i � �oh �ji! ek ��ljmnksa(d�-�y�� ���� �*, �p�Lo�����sG ?�u�u"� - �#��&� �����J�&� �� �����N�~����� ���� �&���U �y�� !�j� �*( �Lo�����z��C�#��&� ���G ?�u"u"� -v�-A�����XY����L�-R�����PX` ��ZG�������P�� ��%J�-��Z ! ��� ,�P���"�ZG�����&'VB�"������&��y-��� ��j ����!- ��fRb� Pi�g ��a���ksi�f �^i �Bh �ji! ek ��ljmnd"-y��� ��K��� J��� !*��P�P �*����.J����j ��� � ,�P ���� ����&¡���"XnpN�~��P ,�B¢q*, � ���*, �¢£ ,�P � ���G ?�u�u"¤ -y�#��&� ����'J�&� �� ��"�¥N�~����� ���� �&' �� ?�u"u"u -¦ -������I ��$�o�y-�$+�P~��$ �GZ{��P~�*( �>-T�Z !~�����GO����&6�������� ��;�y-I�>�"��&���-o[]\"�s\F_�� �Ra(b� � ced \�fOg¨§ Pi �! �\�m g�c�dk ��f�kDf ��- �y�� !�j� �*( 3Lo�����sG ?�u"u�? -�����&� �����J�&� ©�� ��"�N�~����� ���� �&¨��U �y�� ���� �*, �LB�����.��CA����&� ���G ?�u"u"u -ª -y�K����«F@o���� ��¨rt � ����,-;[¬\"�^\�_�� �Ra���� c�d¬\�f.g��oh �ji! �k �Dljm �;fO\"h�­�d�kDdzkDf �8®+®B-{� !���$��X` ��qp���~�X�X` ����j�,G ?�u�u ¦ -y�#��&� ����'J�&� �� ��"�¥N�~����� ���� �&' �� ?�u"u"� -� -�VB~����� F@�-y{8�� ��� (Uj-°¯£\�±�\|_�� �Ra ��� Pc�d�²¥[]\"�^\|_�� ��a���� c�d k�f³¯£\�±�\ �(i! ��l�c§ ekDf.a�k �.h�cPg3§ Pi �- P\�mnmYc �-��K*�xz��!´%p�LM ����O���j�P ��P����� ��������OJ�&� ©�� ��"�ZG ?�u�u"u -µ -�VB�"������&¶J�-�$+�q~��Z-³_Oi! �Dk�f �t\�fOg6_ZcP\! Pa(ljkDf �IG}E��"��~�X` ¥v|��CM��� '@B�$�3��C����X`N�~��P �� �y�P���"���X�X` �����G"@B&�&� ����"�qp^rt ����� (UjG ?�u µ v�-� -¸·n-y�¹�����j�P��XKG8��-ºH�-y@B~��" ����$�P � ��ZG»����&�@�-¼�t-}�½ !�� ��£�R��~�XK-³[]\"�^\¾_�� �Ra(b� � ced ��dk�f � �¿\�fOg ��®+®B-�¢£ !*,�"��&KJ�&� ©�� ��"�ZG �y�� ���� �*( �LB�����ÀG ?�u"u"� -y�#��&� ����J�&� ©� ��"�YN�~����� ���� !&���U �y�� !�j� �*( �Lo�����Z��CA�#��&� ���G w�¤�¤"¤ -

Page 158: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !"�"

u -$#+~��$�o�� !�������P�Z-%_Oi&%�'�kDf �¨\�fOg _.c\&%�a(ljkDf��-}E��"��~�X` ? ��C�[]\�'^\`_(')% �Ra*'��+%Pc�d\�fOg-,oh �ji&%�k.'Dljm3d�-�¢£N��P ����� ���p^Ey ��P������G ?�u�� ¦ -?�¤ -y¢�����������¢������ À-»[¬\�'^\n_(')% ��a/'���%c�d�01,oh �ji&%ek2'�ljmnd�0y\�fOg3, ���.h�k^a\�'�ksi�f�d�k�f ¯q\�±�\R-�'*�xz��!´%p�LB ����TLB ��"� ��;J�&�~�*���� ����ZG w�¤"¤"¤ -?"? -A�����XY��� @�-�¢�������&� ���Z-y[]\�'s\+_(')% ��a/'��+%Pc�d�kDf¥¯£\�±�\R->@B&�&� ����"�qp^rt ����� (UjG ?�u"u"� -�#��&� ����'J�&� �� ��"�¥N�~����� ���� �&¨��U�@B&�&� ����"�Frt !���� (U��¹�"���"XY���ZG w�¤�¤"¤ -?�w -$4M �*�«q����~��Zr� ����Z-y[¬\�'^\B_5'6% �Ra/' �+%cedM®7,oh �ji&%ek2'�ljmnd98�§:%�i �&%P\�mnd�- �y�� ���� �*, �pLB�����ÀG�J����j�� ,´)�q�£&'���� �SO�,- ?�u µ ª -? v�-yx�- ��-�@o&� ��.; ���"�qp^E� ��.; �$«� � )����&³J�- ��-��¸����&� ��,-�@B� �����j���P ���X C ���3�� ����p�j���� =<!��� ��"� ��CM ���C����PXY���� ��"�Z-°_Oi�±�k^c*'?>6\�'�l�cemY\�'Dk^a�d�>6i�f('�lqh�­TG}E��"��~�X  ¥v�GN�N - ?�w"ª�u p ?�w�� v�G ?�u���w -? ¦ -���-y{8�!Uj ,��-¶¢�U�X�X` (�P� �* �� ������$U¶{yp^�P�� � ���@¨Vo������¢��P�P~�*(�~��� !������& XY�� ����P �p������*, ¬�����j���P ���X��,GA,;a/'^\CB�f�D,i&%�mY\�'Dk^a\RGqE�����~�X` ? G�N�N - w�u"¤ p�v ¤"� G ?�u µ w -?�ª -���-�{8�!Uj ,�¸����&�J�-¼�t-��'* �8�� � ��jj�!-FEB�P�j���� =<!��� ��"�z����&�XY�� ��j� �������*( y��C��������" ���&� ,�� !&] ���&� HG� ��,-�,Ma*'^\IB�f�D(i&%em�\�'�ksa�\�G E��"��~�X` ? GJ4M~�Xn�I ��>v�G�N�N - ? µ v p ?��"u G?,u µ w -?�� -�V�-�����X` ���-½��� ;~��� =Kq~� ©����~��»{yps��� , "-�,��L> �yi�m����M'�kDf��_��%e±�c�­�d"G"E�����~�X` ?�? GM4B~�X��T ,� w G�N�N ?�w�? p ? v µ G ?�u µ u -? µ -½r� ����� ���X ��~��jZ- ¢£«q �N¿�¹ ������@¾@ N��P���R���� ��� ��$� �*'���©� ,�P����� ��j ¥�� �R��������*( !&�P�� , !�,- �}i�m3m �qfRksa\�'�ksi�fRdziNDO'�l�cP,��L> G�E��"��~�X  +v"v�GM4M~�X��T ,� � G�N�N - �"��� p� µ � G ?�u"u�¤ -?�� -�Vo���� � ��½V ¢q�� !������M����&¡�����I ��$�oJ�-T�A��� �$���Z-;¢£ ���C�p���&���~���� ���� �� ������$U��� !���P*e�P�� , !�,-�¯£i ��%efO\"h¹iNDO'�l�cP,��Q> GqE��"��~�X` +v w GM4B~�X��T ,�)v�G�N�N ��ª"w p �"�"� G ?�u"��ª -?�u -������I ��$��J�-"�A��� �����Z-A@BX����$� =<, !&�*��"X N�~��e���� ��"������*,�"X`N��� HG� �� U"-y_MB,I> ¯£i ��%�bfO\"hIi�fR,oh ��c/SH%P\�ksa�\�fOg�[zkDd(a�%c*'^c?>¾c�'�l�i�g�d"G"E�����~�X` � G�4B~�X��T ,� w G�N�N -ºv ¤�� pv ?�� G ?�u"�jª -

Page 159: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !"��

/�0�� 465�2�7���� �

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

!������ ,��L,����! #"%$&$('*)+��,�)+'�-T, �(. $&,2, �&/�0213� ,�,4$ / "�- 1 ,�'*-5'*-+6 1&0 ,87�, .:9 ,;�*<+,�$ !�=?>@=BA5=/"+�DCE0 ' /�0 "�F1&0 ,4$(, , � ,8GIHJ 1&� ,4,�$�K

>L�NM -O, , /�0 ";F 130 ,PFQ"%���*"R�P'*-+6 = '*-+$(, �(1S130 ,T7�, . $U'*- 130 ,�" �&V , � $ 0 "R�P- =51 "W)+<+'�� VX130 ,�YZ'*- 1 "[G\H�J1&� ,�,4$ �� , �]G =#^_=B`T=5ab=#cT=+db=B�b=@Ce=?fP= H =?gh��Q) ��G =?`T=#cT=?�b=Bfi=?gh=BjX=Bkl=BM�=#m5=Bno= J �� / ��G = H = J =+p=?q8=?fi=BM�=?rs=#tb=?no�M -u,2, /�0v/ ,�$&, =#V " 1&0 ,FQ"%�*��"R�P'*-+6 (� , � � ,4�*, 1 ,w, , /�0 ";F 130 , 130 ,:7�, . $b'�-+$&, �(1 , V '*-xJ Mygzt " �&V , � �{� ,�$ 1 7�, . '�-+$&, �(1 , V '�$[| � $ 1

V ,4��, 1 , V � ��Q) � � ,4�*, 1 ,},2, /�0 "�F 130 ,~7�, . $�'�-+$&, �(1 , V '*- g_Myg\t " �&V , � �Q| � $ 1 7;, . '�-+$&, �(1 , V '*$�| � $ 1V ,4��, 1 , V � �

A@� G�-�G\H�J 1&� ,�,b'*$ / "%-+$ 13� < /�1 , V ) . '*-+$(, ��1 '*-56 130 ,o7;, .�9 ,;�*<+,�$ !%=I>@=!A5=�"+=�� '*-�$("%Yw,b" �&V , �$( s, / '�|B, V ) . ,: #, � Yb< 1 , 1 '�"%-�"�F !%=I>L=�A5=�"5=I�@= '�- 1 "R,�-�'�-+' 1 ' ,���� . ,�YO 1�.v13� ,4, �[g " � � 0 ' /�0";F 130 ,4$&,[ s, � Yb< 1 , 1 '*"%-+$P'�$ 1&0 , � ,W-+"w-+,�, Vv1 " V " ,�- .2� " 1 , 1 '�"%-+$ , 1 ,�- . $ 1 ,;6%, V < � '�-+6 1&0 ,'�-+$&, �(1 '*"%-+$3K

"5�TrL0 "R� 130 , 1130 ,X-�<+Yb)#, � "�F �{$('*-+6��*,b" �V "%<+)+��, � � " 1 , 1 '�"%-+$ V "%-+,X'*- V ,��*, 1 '*-+6A,�7;, . F � "�Y,;-2GIHJ 13� ,�, / ,�-+-5" 1 , * / ,�, Vv0 ,���F 130 , 0 ,�'*6 0�1 "�F 130 , 1&� ,�, �

�U�� i��� ���I���;�������?���O�B�I�I�

!��TrL0 "R� 130 , 1 ,�- . , � )+' 1&� , ��.��#� -+" V ,�)+'*-�, �(.�13� ,�, / ,�-�)s, 1&� ,�-+$�FQ" � Yw, V '�- 1 " ,�- . " 130 , �, � )+' 13� , �(.O�#� -5" V ,8)+'�-T, ��.:13� ,4,8<+$('*-+6w��� � � � " 1 , 1 '*"%-5$ �

>L����� ,�� 130 , / "%YO 5�*, 1 ,h)+'�-T, ��. $(, , �(/�0X1&� ,�,i"�F 0 ,4'�6 0�1�A "%- 1&0 ,U7�, . $P� !� ¡>@ �¢R¢R¢£ !¤�L¥�� G V5VX1&0 ,¦ M J§��, , 9 ,�$4,�- Vu/ "%��"%< �h1&0 ,-+" V ,4$P'�- 130+� ,4, V '�¨s, � ,4- 1 � , . $P$&< /�021&0 , 1i130 ,)+� , / 7 ��0 ,4'�6 0�1 $";F 1&0 , � ,4$(<+� 1 '*-+6 � , V@� )+� , / 7 13� ,4,4$ , � , >@=BA5= ,�- V?"+�

A@�TrL0 "R� 1&0 , � , V@� )+� , / 7 1&� ,�,4$ 130 , 1P� ,�$&<+� 1 ,;F 1 , � $&< /�/ ,�$&$&' 9 ,�� . '*-5$&, ��1 '�-+6 130 ,7�, . $ "�!%=5A%©5=BA/!�=!R>@=�!Rª5=+© '�- 1 "/,�-u'*-+' 1 ' ,;�*� . ,�YO 1�.�� , V@� )+� , / 7 1&� ,4, � ¦N"R�«$ 0 "¤� 130 , qN`E1&� ,4,�$ 1&0 , 1P� ,4$&<5� 1F � "%Y 1&0 ,8$&< /�/ ,�$&$&' 9 , V ,4��, 1 '�"%-u"�F 130 ,87�, . $T'*- 1&0 ,8" �&V , �N©5=�!¤>L= !Rª5=BA/!�=BA/!%=BA�©5=�"�!%�

"5�Tr <+ + #"%$&, 130 , 1 ,[-5" V ,P¬u'*$S'*-5$&, ��1 , V '*- 1 " ,�- q�`~13� ,�,;,�- V:130 ,�-:'�YOYw, V ' , 1 ,�� .WV ,4��, 1 , V���M $1&0 , � ,�$&<+� 1 '*-56 q�`�13� ,4, 130 ,8$#,�YO, ,;$ 1&0 ,8'*-+' 1 ' ,�� qN`�13� ,4,RK m <5$ 1 '�F .]. "�< � ,�-+$(�­, ���

Page 160: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !"��

�L�Tc "�-+$ 1&� < /£1l1&0 , q�`���13� ,4,�$ 130 , 18� ,4$(<+� 1 ) .�� ,� s,2, 1 , V '�-+$&, �(1 '*"%-+$'�-�, , /�0 "�F 130 ,oFQ"%���*"R�P'*-56/ ,�$&,�$ = $ 1 , �(1 '*-+6bF � "%Y ,�-u'�-+' 1 ' ,���� . ,�YO 1�.�1&� ,�, �� , � !% ¡>@ �������  !¤��Q) � ©5 ."+ !R>@ ��5 ! "+ ¡>@ !��5 ��@ ! !% ¡�@ �ª@ 3A5 �©@  !% !R�� / � !% ¡>@ �A@ ."+ ¡�@ �5 ��@ !R�@ !"+  !RA5 !¤>L  !�!%  !�@ �ª@ 3©

�U�� i��� �I���Z�w�B�\�I���� �� �x���O�B�I�I�

!���g " � , >¤��AW13� ,4,�P' 1&02� ��, , 9 ,�$ =?/ "%Yw +< 1 , 130 ,FQ"%���*"R�P'*-+6 (� , ����'*-+'�Yb<+Y 0 ,4'�6 0�1�Q) ��� , *@'*Yb<5Y 0 ,�'*6 0�1>L��g " � , >¤��AW13� ,4,�P' 1&020 ,4'*6 0�1���=B/ "�YO +< 1 , 130 ,8FQ"��*�*"R�P'�-+6 (� , ����'*-+'�Yb<+Y -L<5Yb)s, � "�FD��, , 9 ,�$�Q) ��� , *@'*Yb<5Y -�<+Yb)#, � "�F_�*, , 9 ,4$A@�PCE0 , 1 , � , 1&0 ,8YO'�-+'*Yb<5Y ,;- V Y , *@'*YW<+Y -�<+YW)s, � $P"�Fz'*- 1 , � -T,�� -5" V ,�$ , `���13� ,4,8"�Fz" �&V , �� ,�- V20 ,�'*6 0�1�� �Q'*, � � ��� ! �h�*, 9 ,4��$ �UY , .:0 , 9 ,�K

"5�Tr <+ + #"%$&,w�h,O'*-+$(, �(1l130 ,O7;, . $ !%= >@=­������= '*-=,�$ / ,4- V '�-+6�" �(V , � '*- 1 " ,�-§'*-+' 1 ' ,;�*� . ,�YO 1�.§>R�yA1&� ,�, �DCE0 ' /�0 7;, . �­"%<+� Vu/ ,�<+$(, 130 ,��, , 9 ,�$ 1 "X)s,;, 1 �*, 9 ,4� " FQ" �h130 ,�| � $ 1N1 '*Yw,RK �{G�$&$&<5YO,1&0 , 1i1&0 , � "L" 1 '*$4, 1 ��, 9 ,4� ! � �DCx� ' 1 , V "¤�P- 130 , � ,4$&<5� 1 '�-+6 >¤��Ao1&� ,�, �

�L��� , 9 '*$&, ,;- ,���6%" � ' 130 Y 1 "o|B- V�1&0 ,������l� , � 6%,4$ 1 ,4�*,�YO,�- 1 '�- ,� , � >¤�yAb13� ,4, ��Q) � `S��1&� ,4, ��@�Tr <+ + #"%$&, 1&0 , 1w130 ,v7�, . $ !% �>@ ������£ ¡>��@= , � ,v'*-+$(, �(1 , V '�- 1&0 , 1 " �&V , � '*- 1 "W, `S� 13� ,4,v�P' 130� � >@�Dk "R�EY ,;- . '�- 1 , � -T,��?-+" V ,4$ V "L,4$ 1&0 ,P|B-T,�� `S��1&� ,�, 0 , 9 ,RK r@0 "R� 1&0 ,N|+-T,�� `S��1&� ,4, �c "�YO T, � , 1&0 '*$h�P' 130 ,b)+'�-T, �(. $&,2, �&/�0u13� ,4,�FQ" �­130 ,8$>,;YO,�$(,�!�<+,�- / ,l"�Fz'*-+$(, �(1 , V ,4��,4Yw,4- 1 $ �G�$&$(<+YO, 1&0 , 1 , , /�0 �*,2,;F\)+�*" / 7 / ,�-�"�-+� . $ 1 " � ,8"%-+, � , / " �(V��

�L�Tr <+ + #"%$&, 1&0 , 1w130 ,v7�, . $ !% �>@ ������£ ¡>��@= , � ,v'*-+$(, �(1 , V '�- 1&0 , 1 " �&V , � '*- 1 "W, `S� 13� ,4,v�P' 130� � "+�Dk "R�EY ,;- . '�- 1 , � -T,��?-+" V ,4$ V "L,4$ 1&0 ,P|B-T,�� `S��1&� ,�, 0 , 9 ,RK r@0 "R� 1&0 ,N|+-T,�� `S��1&� ,4, �c "�YO T, � , 130 '�$i�P' 130 , " � � , . $(, , �(/�0�13� ,4,8FQ" �i130 ,l$>,�Yw,l$&,�!�<+,�- / ,W"�F�'*-5$&, ��1 , V ,4��,4Yw,4- 1 $ �G�$&$(<+YO, 1&0 , 1 , , /�0 �*,2,;F\)+�*" / 7 / ,�-�"�-+� . $ 1 " � ,8"%-+, � , / " �(V��

©@�Tj ' 9 ,4- , `S��1&� ,�, = , *@ +� ,�'*- 0 "R� 1 "o|B- V� , � 130 ,8Yw'*-+'�Yb<+YZ7�, . '�-+$&, �(1 , V���Q) �� � , V , / ,4$&$(" � ";F+,o6%' 9 ,4-27�, . $ 1 " � , V��

Page 161: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !" �

� / ��$&< /�/ ,4$($&" � "�F�,X6�' 9 ,�-�7;, . $ 1 " � , V��ª@�Tr <+ + #"%$&,:�­, 0 , 9 , ,�|+�*,]"�FP"�-+,]Yw'*�*��'*"%- � , / " �&V $b� 0 , � ,�,2, /�0~� , / " �&V}1 ,�7�,�$ !� � ) .�1 ,�$ �` �*" / 7L$ , � , !� � � ) .�1 ,�$W�*"�-+6 ,�- V ,u #"%'�- 1 , �1 " ,u)+�*" / 7 1 ,�7�,�$ " ) .�1 ,4$ � G��*$&"2, , /�0 7�, .9 ,���<+,-+,�, V $ 1 �h"w) .�1 ,4$ �h� , 9 '*$&, , `S� 13� ,�,8" � 6J,;-+' � , 1 '�"%-:FQ" �U1&0 '*$U|B��, �

!�@��� ,�$&'�6%- , `���13� ,4,u" � 6J,�-+' � , 1 '*"%- '�F�' 1 '*$ � , !�<+' � , V~1 " / "%- 1 ,�'*- , 1 �*,2,�$ 1 "%-5,2)5'*�*��'*"%-§7�, . $)5< 1 '�$ / "�-+$ 1&� ,�'�-+, Vv1 " 0 , 9 , , 0 ,4'�6 0�1 "�F "�� '*, �� ��, 9 ,4�*$�� � G�$&$(<+YO, 130 , 1�130 ,W-L<5Yb)s, � "�F� , / " �&V $iFQ" � ,2, /�0 ��, ,;F\)+��" / 7:'*$ !�5�

!�!��Tc "�YO +< 1 , 130 ,�$&Y ,��*��,4$ 1 -�<+Yb)#, � "�F 7;, . $ = � 0 ' /�0 � 0 ,4-�'*-5$&, ��1 , V '*- ,�-R,� 5 � "% � ' , 1 ,P" �&V , ��P'��*�#FQ" �&/ , , `S� 13� ,�,8"�F_" �&V , ���W1 " 0 , 9 ,l, *�, /£1 � . � �*, 9 ,��*$ �{� "@" 1 , 1 �*, 9 ,4� ! ,�- V �*,2, 9 ,4$ , 1��, 9 ,4� � � �

!¤>L� G�� �(� 13� ,4,X'*$ , `S��1&� ,4,w'*- � 0 ' /�0 , , /�0 '*- 1 , � '�" � -+" V ,w'*$ , 1 �*,2,�$ 1W>��A FQ<+��� �{� , 130 , �81&0 ,�-0 ,���F�FQ<5�*�� �Dk "¤� V " 1&0 ,%,���6%" � ' 130 YO$DFQ" � $&,2, �&/�0 ,�- V�V ,4�*, 1 , /�0 ,�-+6%,TFQ" � ,�� � � 13� ,4,RK CE0 , 1�­"%<+� V )s, 130 , , V59 ,�- 1 ,�6%,�$ ,�- V2V '*$#, V59 ,�- 1 ,�6�,4$P"�F�� � ��1&� ,�,4$ / "%Yw T, � , Vu1 " `S� 13� ,�,4$3K

!RA@� G�$&$(<+YO, 1&0 , 1 ' 1�1 ,;7�,4$�� ��� � Yw'*���*'*$(, / "%- V $ 1 " � , , V ,])+��" / 7 / "%- 1 ,;'*-+'�-+6R,]-+" V ,o"�F ,�-Y � , �(. $(, , �(/�0x13� ,4, � GT$($&<+Yw, 130 , 1 ' 11 ,�7�,�$ � ��� �*"%6�� � YO'��*�*'�$&, / "%- V $ 1 "2 � " / ,�$&$l, , /�0-5" V ,['*-�'�- 1 , � -T,��zYO,�YO" ��.%��M F 1&0 , � , , � , � -+" V ,4$�'�- 130 , 13� ,4, =!/ "%Yw +< 1 , 130 , 1 " 1 ,�� 1 '*Yw,1 ,�7�,�- 1 "o|B- V ,w6%' 9 ,�- � , / " �&V '*- 130 , 1&� ,�, �

!"5�Tr <+ + #"%$&, 130 , 1PV '*$(7 0 , �&V � , � ,�,;�*�*"R�P$i<+$ 1 " /�0 "L"%$(, 1&0 ,8$&' � ,[";F+, V '*$(7])+��" / 7R, � )+' 13� , � '*� .%=)5< 1�130 , 1�130 , 1 '�YO,h' 1D1 ,�7�,�$ 1 " � , , Vo1&0 , V '*$(7W)+��" / 7['*$�� �����¡= � 0 , � ,���,�- V�� , � ,i$& #, / '�|B, V/ "%-+$ 1 ,�- 1 $ ,�- V�� '*$ 130 , V ,�6 � ,�,O";F , `S� 13� ,�, 130 , 1 <+$(,4$l)+�*" / 7�$8"�F 1&0 ,X$&,4��, /£1 , V $&' � , � ' � , �,2, /�0XV '*$(7b)+��" / 7 / "%- 1 ,�'*-+$ ����I! �_7;, .o9 ,��*<5,4$ ,�- V�� s"�'*- 1 , � $�� � G�$&$&<5YO, 130 , 1 , 1 " 1 ,��5"�F! � , / " �&V $ , � ,8$ 1 " � , V '*- 1&0 , `S��1&� ,4, V , 1 ,�)�,�$&, = �P' 130 , , /�0�V '�$&7])5�*" / 7:$ 1 " � '�-+6X"%-+, � , / " �(V��� ,"� c "%YO 5< 1 , 1&0 ,�YO'�-+'*YW<+Y -L<5Yb)s, � "�F V '*$(7x)+��" / 7�$ � , !�<+' � , V ) .}130 ,A,;)s" 9 , `S� 13� ,4,

" � 6J,;-+' � , 1 '�"%- = '*- / �*< V '�-+6 130 ,l)5�*" / 7L$iFQ" � $ 1 " � '*-+6 1&0 , � , / " �&V $ �� )#��GT$&$(<+Yw'*-+6 1&0 , 1 ,�- .W� , / " �&V '*$z,�!�<T,���� . ��'*7�,�� .81 "T)s,­$&, , �&/�0 , V FQ" �4= ,�$ 1 '*Y , 1 , 130 , 1 " 1 ,;�

, 9 , � ,�6%, V '*$(7:)+��" / 7 � , , V '*-+6 1 '�YO,�FQ" � , /4/ ,4$($&'*-56 , � , / " �(V���Q/ � k "R� V " . "%< /�0 "L"%$&, � $&" ,�$ 1 "�YO'�-+'*Yw' � , 130 , 1 " 1 ,�� , 9 , � ,�6%, V '*$&7 )+��" / 7 � , , V '�-+6

1 '*Yw,RK

/�0%$ 465�2�&85('b )+*,& - �_�.)+&�*� �/*%<���U�10U��� ���I���;�������?���O�B�I�I� �� ��32�4�y�65 �w�B�I�\�

pi0 '�$ ,�$&$('*6%-+Yw,4- 1 '*- 9 "%� 9 ,4$ 130 , '*Yw +��,4Yw,4- 1 , 1 '*"%- "�Fb$(, , �(/�0 ,4$ = '�-+$&, �(1 '*"%-+$ = ,�- V V ,��*, 1 '*"�-+$u'*-� , V@� )+� , / 7 13� ,4,�$ ,�- V $( +� , .�13� ,�,4$ = ,;- V , 9 ,���<T, 1 '�-+6 1&0 ,] #, � FQ" � Y ,�- / ,]"�FP, , /�0 V , 1 ,�$ 13� < /�1 < � ,'�-�$&, 9 , � ,��$ / ,4-T, � '*"�$ � pi0 ,�'*- 1 ,�- 1 '*$ 1 " $ 0 "R� 130 , 1]130 ,�$&, 13� ,4,�$A, � ,�)#, 1(1 , �]130 ,�-�" �&V '�-T, �(.� <+-�)T,�� ,;- / , V �U)+'*-T, �(. $(, , �(/�0�1&� ,4,�$ ,�- V ,��*$(" 1 " / "%Yw T, � , � , VL� )+� , / 7 13� ,4,�$P�P' 130 $& +� , .:13� ,4,�$ �

Page 162: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !"�©

� �*���� �/����� ������?���

G�$&$&<5YO, 130 , 1�. "%< � 7�, . $ , � , /�0 , � , /�1 , � $ 13� '�-+6%$N"�F��*,�-+6 1&03!� "%) 1 ,;'*-+, V ) . $ / ,�-5-+'*-+6 , c � " �6 � ,�Y � ' V ,�- 1 ' / ,�� 1 " � � "�6 � ,�YwYw'*-+6R,;$&$&'�6%-+Yw,4- 1 ! � �wM F ,2$ 13� '�-+6 0 ,�$8�*,�$&$ 130 ,;- !�u/�0 , � , /�1 , � $ =Y ,�7�,W' 1 <5 1 " !�]/�0 , � , /�1 , � $) . '*- / �*< V '�-+6,;- ,� + � "% � ' , 1 ,W-L<5Yb)s, � "�F 13� ,�'*��'*-+6���� $ �Wt - 1&0 ," 1&0 , �S0 ,�- V�= '�F 1&0 , / < �&� ,4- 1 $ 13� '�-+6 0 ,�$hYw" � , 1&0 ,�- !�[/�0 , � , /£1 , � $ =L13� <5- / , 1 ,T' 1S1 " 0 , 9 , 130 ,�| � $ 11 ,4- /�0 , � , /�1 , � $N"%-+� .%�

� ����� � ���� � �����$���� ���

pi0 ,8 #"%$&$('*)+��,'*-+ 5< 1 $ 1 " 1&0 ,8 � "%6 � ,�Y , � , (

� � ( pi0 ,['�-+' 1 ' ,��s-L<5Yb)s, � ";FD'*-5$&, ��1 '�"%-+$P"�F V '*$ 1 '*- /£1 $ 1&� '*-56%$ 1 "O)#,8Y , V ,FQ" � $&, 1(1 '�-+6O<5 ,�-'�-+' 1 ' ,��?$(, , �(/�0�13� ,4, � qN`hp " �Nr@p � �

��� ( pi0 '*$S'*$ , V , / '�Y ,��B-�<+YW)s, � F � "%Y � 0 ' /�0 , 1 , � -T, �(. $ 1&� '�-+6W'�$ 1 "W)#,�6�,4-+, � , 1 , V�� -T,�Yw,4� .1&0 , � , V ' * �yAo� ,� � ,�$&,�- 1 , 1 '�"%-2"�F � � ��M - 130 '�$ � ,4 � ,4$(,4- 1 , 1 '*"�- = ,�$&$(<+YO, 1&0 , 1 ,�� � ,4 � ,4$(,4- 1 $1&0 , �������� "% #, � , 1 '�"%- = , � � ,4 � ,4$(,4- 1 $ 1&0 , �=�� ��N� "% #, � , 1 '�"%- = ,�- V ,"! � ,� � ,�$&,4- 1 $ 1&0 ,����� �H�N� "% #, � , 1 '�"%- �

� ( ¦�<+Yb)#, � ";F_"% #, � , 1 '�"%-+$ 1 "w)#,8 s, � FQ" � YO, V "%- 1&0 , V , 1 ,X$ 13� < /�1 < � , �� G c � "%6 � ,�Y = F � "�Y � 0 ' /�0�130 , 1 "%7�,�-+$ , � , 1 "o)#, +' / 7;, V <+ �FQ" � $(, 1&1 '*-+6o<5 A,�- V , *@ #, � ' �Yw,4- 1 '*-+6b�P' 130�130 ,8$(, , �(/�0�13� ,4,�$ �

# ���/� �$�����=� �N���%� ��&� ��'� ("�*)

!��TrL/ ,�- 130 ,i6%' 9 ,4- c � "%6 � ,�Y ,�- V ,�$ . "�<w$ / ,�- = '�-+$&, �(1D1&0 ,U| � $ 1���V '�$ 1 '�- /�1 $ 13� '*-+6�$�$ / ,;-+-+, V'�- 1 " ,�-2'*-+' 1 ' ,��s$(, , �(/�0�1&� ,4, �{`ir@p " �Pq�`hp " �Nr@p � �

>L��g " � , , /�0 '*- V ' 9 ' V <T,;�!"% #, � , 1 '�"%- = 7;,4,� 13� , / 7�"�F (� ¦�<+Yb)#, � "�Fz � "%)s,�$ �{/ "�YO T, � '*$("%-�"�F 1 �h"O$ 1&� '*-56%$i"�F !�o/�0 , � , /�1 , � $N, , /�0 �� ¦�<+Yb)#, � "�Fs #"%'*- 1 , � ,�$&$('*6%-5YO,�- 1 $ � ,8$&'*-56%�*, � " 1 , 1 '*"%-o'�- 9 "%� 9 ,4$ 1&0+� ,�,� #"%'*- 1 , � ,�$($&'*6�- �YO,�- 1 $��

� ¦�<+Yb)#, � "�Fl$&'*-56%�*, � " 1 , 1 '�"%-+$,;- V -�<+Yb)#, � "�F V "�<+)+�*, � " 1 , 1 '�"%-+$ � '*- 1&0 , / ,;$&,�"�Fq�`hp $ ,�- V�r@p $��

� f *�,�Yw'*-5'*-+6o" �i/�0 ,�-+6%'�-+6 130 , / "��*"%< ��� '*- , � , V@� )+� , / 7 1&� ,4, �¦N"R� =B/ "%Yw +< 1 ,�FQ" �U130 , `irLp=sqN`hp= ,�- VvrLp $&" /4� , , 1 , V�=B1&0 ,FQ"%�*��"¤�P'�-+6 (� k ,4'�6 0�1 "�F 1&0 ,8$&,2, �&/�0u13� ,4,

Page 163: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !"�ª

� p " 1 ,�� -�<+Yb)#, � "�Fz � "�)s,�$PFQ" � ,��*� 130 ,8"% #, � , 1 '�"%-+$� G 9 , � ,�6�,-L<5Yb)s, � "�FI � "%)s,�$ � , 9 , � ,�6�, V " 9 , � ,;�*� 130 ,�"� s, � , 1 '*"%-+$���FQ" � , 1�. +' / ,���$&< /£�/ ,4$($(FQ<+�I$(, , �(/�0�= <+-+$&< /4/ ,�$&$�FQ<+�_$(, , �(/�0�= '*-+$(, �(14= ,�- VuV ,��*, 1 , �

� p " 1 ,�� -�<+Yb)#, � "�Fz s"�'*- 1 , � ,�$&$('*6%-+Yw,4- 1 $� p " 1 ,�� -�<+Yb)#, � "�Fz$&'�-+6%�*, � " 1 , 1 '�"%-+$ � '�- 130 , / ,�$&,l"�F q�`hp $ ,�- V�r@p $��� p " 1 ,�� -�<+Yb)#, � "�F V "%<+)5�*, � " 1 , 1 '*"%-+$ � '*- 1&0 , / ,�$(,["�F qN`hp $ ,�- Vvr@p $��� p " 1 ,��5-�<+YW)s, � "�F?, , /�0b1�. #,i"�F?$( +� , . '*-+6T$ 1 ,� +$ � ^ '*6 =%^ ,�6 =�^ '�6 � � '*6 =;^ '�6 � � ,�6 =�^ ,�6 � � '*6 =^ ,�6 � � ,�6 �­'�- 130 , / ,;$&,8"�F rLp $

� p " 1 ,�� -�<+Yb)#, � "�F � , / "%��"%< � '�-+6%$U'�- 130 , / ,;$&,8"�F qN`hp $A@�TrL/ ,�- 130 , � ,�$ 1 "�F 130 , c � "%6 � ,�Y 1 "%7�,�-}) .�1 "%7�,�- = $(, , �(/�0 '*-56vFQ" � ' 1 " � '*-5$&, ��1 '�-+6�' 1 " �V ,4�*, 1 '�-+68' 1�= ,;$ V ' /�1 , 1 , V ) .o1&0 , � , V ' * ��A� ,4 � ,4$(,4- 1 , 1 '*"�-:"�F � ,�- V ' 1 $� s, � Yb< 1 , 1 '�"%-+$ �\a "%<, � , 1 " / , �&��. "%< 1 , 1 " 1 ,���"�F� "% #, � , 1 '*"�-+$ �

"5��q ,4 #, , 1�rL1 ,� >b1 "X, 9 ,���<T, 1 , 130 , 13� ,4,�$�" 9 , �i130 ,� "% #, � , 1 '*"�-+$ �

�U�10U��� 2N��� 4 ���y���5���� �� ��� ���� 5��5�I���B��� �O�B�I�I�

pi0 ,X T,; s, � ) .�C '��*�*' ,�Y ��<+6 0 �ir 7�'* §JI'�$ 1 $ ( GZ � "%)�,�)+'*��'*$ 1 ' / ,�� 1 , � -T, 1 ' 9 , 1 "2)�,�� ,�- / , V 13� ,4,�$ ���� � ��������������������� ���� "!#�%$ = H�"%�*<+Yw, A�A5= ¦�<+YW)s, � �5= + � � ��© � ��� �5=+!Rª�ª � � / "%YO �, � ,�$ 1&0 , #, � FQ" � Y ,�- / ,l";FD$&7�'� v�*'�$ 1 $P�P' 130 G\H�J 13� ,4,4$ = $( +� , .�1&� ,4,�$ = ,�- V�>¤�yAo13� ,4,4$ �UM Yw +�*,�YO,�- 1 ,���� 130 ,�$&,V , 1 ,O$ 13� < /�1 < � ,�$ = V ,�$&'*6�-�, *@ #, � '�YO,�- 1 $�"%- 130 ,�$&, V , 1 ,O$ 13� < /�1 < � ,4$ = ,�- Vv9 , � '�F .2130 , � ,4$(<+� 1 $T � , �$(,4- 1 , V '*- 1&0 , 1 , ��1 ' / �*, �

�U�10U��� & '�(�)��*x� 5 2N�I���B��� �O�B�I�I� �� �� �x���O�B�I�I�

pi0 ,:"%)�+(, /£1 ' 9 ,�"�F 1&0 '*$ ,;$&$&'�6%-+Yw,4- 1 '�$ 1 "�'*Yw +�*,�YO,�- 1 '�-+$&, �(1 '�"%-+$�,�- V V ,��*, 1 '*"%-5$W'*- � �-,.�/��0213��4�5 ���67�8����67 8 8� ,�- V:9 02��67 8 8� = ,�- V , 9 ,���<T, 1 , 1&0 ,4' � #, � FQ" � Y ,�- / , �Dpi0+� ,4,�$ / ,�-T, � '*"%$ , � , / "%-5$&' V , � , V ('�-+$&, �(1 '�"%-+$4,���"%-+,<; V ,4��, 1 '*"%-+$4,;�*"%-+,<;�,�- V '�-+$&, �(1 '�"%-+$4,�- V�V ,��*, 1 '*"�-+$i'*- 1 , � ��, , 9 , V�� ,�- V "%Yw� .��

�>= �������/ ��� �@? � �� ��N�����&�� �&����BAj ,4-5, � , 1 , , � ,�- V "�Y #, � Yb< 1 , 1 '*"�-v"�F � -�<+YW)s, � $ = $#, . ��C   � �  �������  �ED �M -+$&, �(11&0 ,4$(,o,4�*, �Yw,4- 1 $S'�- 1 " ,�-w'*-+' 1 ' ,;�*� . ,�YO 1�.XV , 1 ,8$ 1&� < /£1 < � , ��pi0 '�$� � " / ,�$&$­�P'��*� � ,4$(<+� 1 '�- ,Yb<+� 1 ' � � , .$(, , �(/�0b13� ,4, ,�- V , `S��1&� ,�, = ,2, /�0 �P' 130W� -+" V ,4$ �_pi0 , �6GF� H6 "�F 130 , 13� ,�, 1 "T)s, / "%-+$ 13� < /�1 , V�=� = '*$�6%' 9 ,�- ,�$%,�- '*-5 +< 1�� ¦N" 1 , 1&0 , 1 ,])5'*-T, ��. $&, , �&/�0 13� ,�,o'*$C,]Yb<+� 1 ' � � , . $&,2, �&/�0 13� ,4,�P' 130 � � >@= � 0 , � ,2,�$ , >¤�yAW1&� ,4,'�$ , `S��1&� ,�,��P' 130 � � A5� G��*$(" 1&0 ,-�<+Yb)#, � "�F � , / " �&V $ #, � �*,2,;F�'*$C,��*$(" 1 "�)#,W$( s, / '�|+, V ,�$� T, �(1 "�F 1&0 ,b'�-+ +< 14�8ch0 "L"%$&, ,:$(Y ,;�*�\-L<5Yb)s, �4= $#, .�>" �PA5=+0 , � , �

�>= �������/ ��� !I? ( ��� �H�����&�� �&����BAr�1 , ��1 �P' 130w130 , 13� ,4, / "%-+$ 13� < /�1 , V '*- r@/ ,4-T, � '*" ! ,�- V:V ,��*, 1 , 1&0 , � ,4��,4Yw,4- 1 $ = "�-+,�) . "%-+, ='�- 130 ,FQ"%���*"R�P'*-56b" �&V , � $ (

Page 164: Data Structure and Algorithm by Y. Narahari

����������� ��������������������������� !¤���

? M - 1&0 ,8" �&V , � "�F_'�-+$&, �(1 '*"%-? M - 1&0 , � , 9 , � $&, V " �&V , � "�F_'�-+$&, �(1 '*"%-? M - , � ,;- V "%Y " �&V , �

�>= �������/ ����� ? � � �N���� �����&�*� � �� ��N����� � ����� ( ��������� �&�� �Ar�1 , ��1 �P' 1&0b130 , 1&� ,4, / "%-+$ 13� < /�1 , V '�- r@/ ,4-T, � '*" ! ,�- VwV " ,�$&, � '*,�$�"�F � ,�- V "%YO� . '�- 1 , � �*,2, 9 , V'�-+$&, �(1 '*"%-+$ ,�- V V ,��*, 1 '*"%-5$ � G�$&$(<+YO, 1&0 , 1 '�-+$&, �(1 '�"%-+$ ,;- V V ,4��, 1 '*"%-+$ , � ,], !L<�,��*� . ��'*7�,�� .��G�$&$(<+YO, 1&0 , 1 ,4�*,�YO,�- 1 $ / < �&� ,�- 1 � . '*- 1&0 , 13� ,4, ,;- V ,4��,4Yw,4- 1 $-+" 1/ < �(� ,�- 1 � . '*- 1&0 , 13� ,4,, � ,6%,�-+, � , 1 , V �P' 1&0 ,�!�<T,�� � "%)T,�)5'*�*' 1 '�,4$ �

pi0 ,8 #, � FQ" � Y ,�- / ,YO,2,�$&< � ,4$ , � , 1&0 ,FQ"%�*��"R�P'*-+6 (

� G 9 , � ,�6%, 0 ,4'*6 0�1 "�F 130 , 13� ,�, �Da "%<�$ 0 "%<+� V�/ "%Yw +< 1 ,�' 1 FQ" � )#" 130 � r@p ,;- Vu`hp '*-R,���� 1&0 ,1&0+� ,�,[$ / ,�-T, � '�"%$ � GT�*$(" =+. "�<v$ 0 "%<+� V )s, ,�)+��, 1 " / "%Yw +< 1 , 1&0 , � ,4$( s, /�1 ' 9 , 0 ,4'�6 0�1 $ , 1 ,�- .'�- 1 , � YO, V ' , 1 ,o$ 1 ,�6%, �]M�1 $ 0 "%<+� V )#,O #"%$($&'*)5�*, 1 "2) � ,2,�7�, *@, / < 1 '*"%-W, 1 ,;- .�V ,�$&' � , V s"�'*- 1,;- V�13� , / 7 130 ,8 � "%)s,$(,�!�<+,�- / ,lFQ" � , V ,4$&' � , V "% #, � , 1 '�"%- �

� G 9 , � ,�6%,W-L<5Yb)s, � "�F� � "%)#,4$ � ,�!�<+' � , V FQ" � '�-+$&, �(1 '*"%-+$C,�- V�V ,4�*, 1 '�"%-+$ �Npi0 '�$ / ,�-v)s, / "%Y � 5< 1 , V FQ" � ,2, /�0u1�. #,l"�F 1&� ,�,l'�-u, , /�0 "�F 1&0 , 130+� ,4,8$ / ,4-T, � '*"�$ �

q ,4 #, , 1W130 , ,�)#" 9 ,�, *@ #, � '*Yw,4- 1 FQ" � $(, 9 , � ,�� � ,�- V "%Y $&, !L<5,4- / ,4$ 1 "�"%) 1 ,�'*- )#, 1(1 , � ,;- V YO" � ,/�� , V '*)+��,i s, � FQ" � Y ,�- / ,i,4$ 1 '�Y , 1 ,4$ �\a "%<X�P'*���56%, 1 )s"%-�<+$SY , � 7�$�'�F . "�<O'�YO +��,4Yw,4- 1 � � ��13� ,4,�$ ,;�*$&" �

Page 165: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

@ ��������� �"!�U Kq~$#�~$#%��&('�)*��X`N+���,!-'�).!/'��0&1! �-'324!650'7!8'9! UqN+#��:)��;�"X`N�~<! #=�¨¢�2=�©p#>)?2=#�@ �A'CB1���/��ND#>��'C!��:��)?&E&�~�N�NF���,! #G5 ��U N?� �:��� �"!�U K£~$#!~$#>&('3�H#¾� 4+¢�J��>� '�)?5VzJ��¹J��;J8� � 4I@��KJ$#(U6LM)?5N#HG<! #>)?& �©��#�~?&,#O�:)

P ��X`N0Q�#�XR#>).!���)$SI&H28J$#>5�~?Q�#=� &��:) E�¢TGM'�)?5N5?��&1!�� ����~<!�#>5(&$U<&1! #!XE&P �H#,N?�H#G&,#>).!��:)$ST#(��#>).!KQ:�:&1!�&���)U5?�:&H24� #4! #V#,�W#G)�!K&H��Xn~?Q:'C!��:�W)P ��X`N0Q�#�XR#>).!���)$SI)£~�XR#=����~?&;SW��'�N0JX'�Q�SW��� �"!�J�XE&Y#=ZE2>�"#G)�!�Q�UP &,#>Q�#>24!���)$S[�\"] Q^'3�HSW#>&1!V���_[�\"] &�X/'�Q�Q�#>&,!`#GQ"#!Xa#G)�!�&`�:)bQ��:&1!�&acd��� 5$#>�e&1!-'C!��:&1!��:2=&N?� ���0Q"#!XR&8fP &H���,!��:)$S '�N�N0Q:�:2>'C!��:��)?&

¢���X`N0Q�#M´K'!U<&���gh��X`N0Q�#�XR#>).!��:)$S_'nN?� ����� �"! U�Kq~$#�~$#O�:)?2=Q�~?5$#J@P �i�:)�«W#>5NQ��:&1!;j/&H���,!�#>5U'3)?5'~?)?&H���,!�#>5P {Y�:)0'3�$U6&,#G'3� 28J(! �H#=#

�lk,m n ) *,'po$q r � '�s��

Ll#t'�N0&(cu�v2=2G'�&H���W)0'�Q:Q©U%2>'�Q�Q�#>5�'�&�NM'C�H!��:'�Q:Q©U%��� 5$#=�H#G5b! � #=#>&8fe'3�H#('K�W#>�$UtNF��N�~?Q^'3�50'C!-'T&1! �~?2w!~$�H#Vgd�3�K��X`N0Q"#!Xa#G)�!��:)$S¬N?������� �"!�U K£~$#!~$#>&=@

!¤�*!

Page 166: Data Structure and Algorithm by Y. Narahari

��������������� � ��� � � �� ��� ���� !¤�%>

3 5 9 6 8 20 10 12 18 9 . . . .

4 5 6 7 8 9 101 2 3 . . . .

3

5 9

6 8 10

12 18 9

20

g '*6�< � , �@� !�� G�-�,����YO 5�*,"�F� 0 ,��� ���- V ' 1 $ � �&� � .:� ,� � ,�$&,4- 1 � 1 '�"%-

P�� J$#t'��X��&Y#G� !-J$#=� '�XE��)qp J$#t'��E���;'�X/'�Gqp J$#G'��i@ � XE��)qp J$#G'��/&�~����F���,!�&p!�J$#��)?&,#>�,!;'�)?565$#>Q�#4!�#�XE��)R���D#>��'C!��:��)?&}´ J?�:Q"# '�XE' Gqp J$#t'��E&P~����+���,!�&Y!�J$# �:)?&,#=�H!'3)?5N5$#>Q�#4!�#�X/' G/���+#=��'C!��:�W)?&=@

P�� #t'��0& 2=�"~?Q�5¶�+#'�0��)0'3�$U��3�a5qp '3�$U�@ {Y�:)0'3�$U J$#t'��0&R'3�H#X&��+#>2>�:'�Q;g ���PXE&T��g�0��)0'3�$UE! �H#>#>&�´ J?�:Q"#e5qp '3�$U(J$#G'��0&l'3�H#O' &��D#G2=�^'�Q 2=Q^'�&H&K��g SW#G)$#=��'�Q+! �H#>#>&=@P {Y�:)0'3�$U6J$#G'��0&)´;#>�H# L0� &1!l�:)�! � ��5�~?24#G5F��U¥r ��Q:Q��^'�XE& ��)�� u"� ¦ @����� � � @ r @ � @�r ��Q:Q:�:'�XE&=@ � Q"S���� �"!�J�X w v w @ � #G'��0&H���,!G@)�;��X�Xn~?)?�:2>'C!��:��)?& ��g

!�J$# � ���"!�#p�WQ�~�Xa# µ ! � u"� ¦ !��� v ¦ µ p�v ¦ �r9#T5?��&H2�~?&H&B�0��)0'3�$U'XR�:)qp J$#G'��0&=@%�KJ$#_5?��& 2,~?&H&H�:�W) �:& �:5$#>).!���2G'�Q g ���;�0�:)0'3�$U�X/' G£pJ$#G'��0&=@

$ ��� � � �0�:)0'C��UXJ$#G'��A��& 'a2>�"X��0Q�#4!�#o�0�:)0'3�$U6! � #=#+´ �"!�JN#>Q�#�XR#>).!�& g � �"X '��M'3��p!��^'3Q:Q�UO�3��5$#=�H#G5I&H#4!!W&�~?28J_!-J0'7! !�J$# #GQ"#!Xa#G)�! 'C! #(��#>�$UI)?��5$# �:& Q�#>&H& !�J0'�)Ncd���h#*K£~0'�Q!��vf;!�J$#_#GQ"#!Xa#G)�! 'C!V� !�& Q"#>g !V2-J?�:Q:5'�)?5A!�J$#_#>Q�#�XR#G)�! 'C! �"!�& � �"S�J.!`28J?��Q:5 @�%h�"Sj~$�H#� @&�`& J?��´ &K'3)?5N#�G?'�X'�0Q"#V��g ' J$#G'��i@

P ¢���)?2=#X'J$#t'�� ��& '�2=�"X'�0Q�#4! #��0�:)0'C��Ub! �H#=#(! !�J$#6#GQ"#!Xa#G)�!�&_2G'3)°�+#X2>��)���#�p)?�"#G)�!�Q�UX&1!����H#G5A��)�'3) '3�H�-'!UW@%� gY'�)U#>Q�#�XR#>).! ��&`'C!)�+�W&H�"!��:�W)A� �:)U!�J$#T'3�H��'!U*!

Page 167: Data Structure and Algorithm by Y. Narahari

��������������� � ��� � � �� ��� ���� !¤��A

!�J$#>)X!�J$#IQ"#>g !l2-J?�:Q:5¥´ �:Q:Q.�D#I��) �F�W&H�"!����W) w � '�)?5X!�J$#O� ��S�J�!l28J?��Q:5¥´ ��Q:Q.�+#I�:)�+�W&H�"!��:��) w���� �C@�{�UX!-J$#_&�'�XR#O!���«�#G) !F'/)?�W)qp ���v�3! #>Q�#�XR#G)�! 'C!��F�W&H�"!����W)A�´ ��Q:Q J0'!��#e� !-& �M'3�H#G)�!l'C!��F�W&H�"!����W)�����

P {p#G2>'�~?&,#/��g �"!�&I&1! �P~?24!~$�H#�! 'AJ$#G'��t´ �"!�J J$#>��SWJ.!]«¾´ �:Q�Q�J0'!��#��D#=!�´ #=#G) w �'3)?5 w ������� �R#>Q�#�XR#>).!�&=@¨�KJ$#=�H#>g ���H#E' J$#G'�� ´ �"!�J9) #>Q�#�XR#G)�!�&z´ �:Q:Q�J0'��W#J$#>��SWJ.!�� �dQ:�3S ��

P {p#G2>'�~?&,#6��g !�J$#6J$#G'�� �?� ���D#>�,!��*! !�J$#¨XR�:)?��Xn~�X #GQ"#!Xa#G)�!]´ ��Q:Q '�Q©´K'��<&¬�D#�?�H#>&,#G)�! 'C!;!�J$# ���v�3! ��g !�J$# J$#G'��i@}�KJ£~?&Y!-J$# LM)?5�XE�:)/���+#=�-'7!-���W) ´ ��Q:QMJ0'��W#´ ��� &1!$p 2G'3&H#OE c��tf �P~?)?)?�:)$S !���XR#�@

i�(�S��� ����4�����Z� �5� ��� � !�#"$� ��5�I������ �� $ �\��� �5�%� �

� ��@�\����h�O�:)?&,#=�H!;'3)R#GQ"#!Xa#G)�!Y& '�� G !v�:)�!��e!�J$# J$#t'��`´ �"!�JR)E#>Q�#�XR#>).!�& !�´;#lL0� &1! 24� #G'C! # 'J?�WQ"#O�:) �F��& � !��:�W) cd) � �tf '�)?5A&,#=#_�"g !-J$#�J$#G'�� �?� ���+#=�,!&�X�:&%�<�:�WQ:'C! #G5¥��� ��~<!H!-��)$SG���).!��R!�J$# J?�WQ�#�@�� gp!�J$# J$#G'����?�����+#=�H!�� �:&`)?�3!o�<�:�WQ:'C! #G5 !0!-J$#>)¡´;# J0'!��#_g �"~?)?5!�J$#E2=���H�H#G2w! �F�W&H� !-���W)%g ��� G @ E !�J$#=�$´ �:&,#(!¹´;#('���~?& Jqp#~��*)A���+'��+#=��2=�WQ:'C! #(p�~��*) G~?)�!��:Q<!�J$#lJ$#t'��'�?� ���+#=�,!&� ��&��H#G&1!����H#>5 @A�h�O5?�V!-J?��& !j´;#l&HQ:�:5$#�!�J$#K#>Q�#�XR#>).! !�J0'C! �:&��)A!�J$#IJ?�WQ�#J; & �M'3�H#>).! )?�v5$#_�:)�!��a!�J$#_J?�WQ"#(!0!-J£~?&;��~����0Q:�:)$Sa!-J$#IJ?�WQ�#]~�� !-��´�'3� 5!�J$#`� �v�3!G@Ar9#V2=�W)�!��:)£~$# !�J?�:& �?� ��24#G&H&�~?).!��:Q G(2G'3)F�D# �0Q^'�24#>5(��)6!�J$#o´ J?��Q�#�@�¢v#=#%h��S"~$� # � @ w g ���l'�)N#HG?'�X'�0Q�#�@r ��� &1!�2G'�&,# 2=�"X'�0Q"#�G$�"!�� ��g$�:)?&,#>�,! ��&$E cdJDf.´ J$#=� # JI�:& !�J$# J$#G�"S�J�!h��g$!�J$# J$#G'��i@�KJ£~?& ��)?&H#=�,!��:�W)?& '3�H# E cdQ:��Sl)DfT´ J$#>�H#Y)I�:&i!�J$# )£~�X��+#=� ��g�#GQ"#!Xa#G)�!�& ��)e!�J$# J$#G'��i@

$ �z�y� �+��� � r J$#>)6!�J$#zXR�:)?��Xn~�X ��&;5$#>Q�#4! #G5 !<'_J?�WQ�# �:& 2=�H#G'C! #G56'7!;!�J$#`� �v�3! Q�#(��#>Q @�¢��:)?24#!�J$# J$#G'��X)?��´ J0'�& �W)$#`Q�#>&H&;#>Q�#�XR#G)�!;'�)?5/!�J$# J$#G'��(�:&�'_2=�"X'�0Q"#=! #;�0�:)0'C�,�a! � #=#�!!�J$#/#>Q�#�XR#G)�!I�:) !�J$#6Q"#t'�&1! �F�W&H�"!����W)9�:&�!�� �+#6�H#GQ���2>'C! #G5 @'�KJ?��&]´;#EL0��&1! 5?� �-��0Q:'�2>��)$SO!�J$# Q^'3&,! #>Q�#�XR#>).!p�:)a!�J$# J?�WQ�# 24�H#t'C! #>5E'C!Y!�J$# � ���3!G@>�KJ?�:&y´ ��Q:Q0Q�#G'!��#K!�J$#J$#G'����?� ���+#=�,!&� �+�W&H& ���0Q.�3�$���WQ^'7!�#>5E'7!Y!-J$# � ���C! Q�#(��#GQu@>r9#`)?��´ '���~?&HJqp 5?��´ )/)I���'��D#>� 2=�WQ^'7!�#�p 5?��´ )/)O!�J$#eJ?�WQ"#e'C!;!-J$#V� �v�3!�~?)�!��:QD!�J$#z�<�:�WQ:'C!��:�W)/�3g J$#G'�� �?� ���D#>�,!&���& &1!������D#G5 @8r J?��Q�# ��~?&HJ?�:)$S/5?��´ )X!�J$#�J?�WQ�#�!D� !`��&l��X'�+���,!8'3).! !��E&HQ:�:5$#��"! 5?��´ )

Page 168: Data Structure and Algorithm by Y. Narahari

��������������� � ��� � � �� ��� ���� !¤� "

Insert (4)3

5 9

6 8 10

12 18 9

3

5 7

20 10

18

4 7

6

10 18

20

12

6

20 10

3

89

89

5

g '*6%< � , �5� > ��M -+$(, �(1 '*"%-2'*- 1 " � 0 , ��

!��E!�J$#aQ"#G&H& �3gY�"!�& !�´��628J?��Q:5$�H#G) c ��~?& J?��)$S¥~���!�J$# Q^'C!H! #>�8f8@+�KJ?�:& ��&V5?�W)$# &H�N'3&)?�3! !��T24� #G'C! #`'�)?�3!�J$#>���<�:��Q^'C!��:��)R��g J$#t'�� �?� ���D#>�,!���@}¢v#=# %h��Sj~$�H# � @ºv$@}� ! �:& #G'�& �!��R&,#=#�!�J0'C!l!�J$#¬´ ��� &1!$p 2G'3&H#e�P~?)?)?�:)$S !���XR#O��g 5$#>Q�#4!�#�XE��)N�:&IE cdQ:��SR)Df�´ J$#=�H#I)��&;!�J$#�)£~�X��+#=����g #GQ"#!XR#>)�!-&;�:)6!-J$#OJ$#G'��i@

i�(�S��� � �B�\� �)� ���� �I��4

x ����#>) 'A&H#4!I��g�)9#GQ"#!Xa#G)�!�& ! !-J$#'�?�����0Q�#�X J$#>�H#R�:&O!�� 24� #G'C! #R' J$#G'�� ��g !-J$#>&,##>Q�#�XR#>).!�&=@

P ���£�<�:�"~?&e'����?���W'�28J���&e!��X�:)?&,#>�,!e!�J$#R)b#>Q�#�XR#>).!�& !i��)$#E'C!I'(!���XR#(!i�:)�!��U'�)��)?�"!��^'3Q:Q.�U#!X'�$!��J$#t'��i@F¢��:)?24# !�J$#n´��3��&1!�2>'�&,#a2=�"X'�0Q"#�G$�"!��A��g ��)?&H#=�,!�&O��&3EcdQ���S )Df !<!�J?�:&�'����?� ��'�28J(J0'�&l'�´���� &1!�2G'3&H#`�~?)?)?��)$S !���XR#V��g E ch)UQ:��Sa)Df

P�� )?�3!�J$#>� '����?� ��'328J ! ��~$� �F�W&,#>5¡�-��%hQ�� �<5 �:) � u"� ¦ !+�:&l!-�Y~?&,# ' �?� �v2=#>5�~$�H#2>'�Q�Q�#>5 '���~?&HJ?5?��´ )/)��H# �D#t'7!�#>5?Q.�(!�&1!-'3�,!��:)$S ´ �"!�J�!�J$#U'3�H��'�� 2>��)?& ��&1!-��)$S%��g!�J$#VS��©��#>)N)N#>Q�#�XR#>).!�& �:)X!�J$#O�:)���~<!$p ��� 5$#=�>@� �KJ$#�g�~?)?24!����W)���~?&HJ?5?��´ )Rc L0� &1!! Q:'�&1!4fM'�&H&P~�Xa#G&F!�J0'C! !�J$#�#>Q�#�XR#>).!�& '�� L0��&1!�!

@:@:@ !$'�� Q^'�&1! ���D# �R!-J$# J$#t'�� �?� ���+#=�,!&�(!v#HG?24# �$! �F�W&H&H���0Q �E!�J$#V28J?��Q:5$�H#G)6��g

Page 169: Data Structure and Algorithm by Y. Narahari

��������������� � ��� � � �� ��� ���� !¤�%�

deletemin3

5

6 8 10

12 18 9

9

5 7

8 20 10

18

9 7

6 8

10 18

5

6 7

9 208 10

12 18

20

12

6

20 10

5

7

g '*6�< � , �5� A��� ,��*, 1 ,4Yw'*-

'�� L0� &1! @>�KJ$#lg ~?)?2w!��:�W) ��~?&HJ$#G& 5?��´ )/'�� L0��&1!R~?)�!-��Q$!-J$# J$#G'�� �?� ���D#>�,!&��$���WQ^'C!����W)6�:&�&1!������+#>5 @� �KJ$#Og �WQ�Q:��´ �:)$S_2>�v5$#+´ �:Q:Q '32>2=�"X'�0Q��:&HJ�´ J0'C!l�:&;� #*K£~?���H#G5 @

gd�3�Ic � � � �� ��� � � � � � f��~?& J?5?��´ )9cu� ! )Df

P %h�"Sj~$�H# � @ ¦ &HJ?��´ &K'�)N#HG0'�X'�0Q�#`��g !�J?�:& g ���l'3)U'3�H��'�� � ª u ¦ w � � P �KJ$#]´���� &1!�2G'3&H#I2>��X'�0Q�#HG?� !&�X��g !-J?��& '����?� ��'328J 2G'�)¡�+# &HJ?��´ ) !��Y�7E cu)Df�-�Y�<���,!~$#e��g !�J$#Vg �WQ:Q�� ´ ��)$ST�H#G&�~?Q"!G@

���I�)'�(��� %?��� !�J$#��+#=� g #>24!��0�:)0'C�,� ! �H#>#`��g J$#>��SWJ.!;J62>��).!-'���)?�:)$S w ] ��� � � )?��5$#>& !!�J$#e&�~�X �3g !�J$#�J$#>��SWJ.!�&���g !-J$#e)?�v5$#>& ��& w ] ��� � � � c�� � �tf8@

� � ��"� �KJ$# �+#=�Hg #>2w! ����g�~?Q:QZ�0�:)0'3� �/! �H#>#e�3g J$#G�"S�J.!KJAJ0'�& �e)?�v5$#�'C! J$#G�"S�J�!lJ !w )?��5$#>&l'3�,!lJ$#>��S�J�!IcdJqp��Gf ! ¦ )?��5$#>&l'C!lJ$#>��SWJ.!_cdJqp w f ! @�@:@�KJ$#=�H#>g ���H#`!�J$#V�H#/K£~?���H#>5N&�~�X ¢(�:& SW����#>)¨�-�� � � ]����� w � c�� � � f

��� � w c�� � �tf � ¦ c�� � w f ������� � w ]�� �

Page 170: Data Structure and Algorithm by Y. Narahari

��������������� � ��� � � �� ��� ���� !¤���

pushdown (3,6)

pushdown (1,6)

pushdown (2,6)

1

5

2

9

5

2

1

9

5

2

9

1 6

5

2

9

1 6

4 4

44

66

g '*6�< � , �@� " �Sch� ,�� 1 '*"%-u"�F 0 ,��;

�'~?Q"!�� �0Q �$��)$S��F�3!�JU&H�:5$#>&%�-� w �<��#>Q:5?&w � � w � � ¦ c�� � �tf � � c�� � w f � ����� � w ]

¢q~��$! ��'�24!���)$S%!-J?��&/'��+� �W#A#/K£~0'C!��:�W) g � �"X !�J$##*K£~0'C!��:�W) �?� �:��� !-�b!�J0'C!!8´;#���$!-'���)

� � w ] ��� � � � c�� � �tf� !e�:& #G'�& �A!��X&,#=#T!-J0'7!`!�J$# '��F����# ��&V'�)|~����+#=�+�F�"~?)?5%��)!�J$# &�~�X ��gpJ$#G�"S�J.!�&��g )?��5$#>&K��g ' 2>��X'�0Q�#4! #o�0�:)0'C�,�R!��H#=#W@�¢��:)?24#O'a2=�"X'�0Q�#4! #o�0��)0'3� �E! � #=#e��ghJ$#>��SWJ.!JUJ0'3&%�+#4! ´;#>#>) w ]O'�)?5 w ] ��� )?�v5$#G& !$!�J$#I'��F����#e&�~�X ��&�!-J$#=�H#>g ���H# E cd)Df»´ J$#=�H#)U��&;!�J$#O)q~�X��+#=���3gh)?��5$#>&K�:)(!-J$#OJ$#G'��i@¢��:)?24# !�J$#o´ ��� &,!�2>'�&,# 2=�"X'�0Q"#�G$�"!��R�3g !�J$#VJ$#t'�����~?�:Q�5?�:)$S '�Q"S���� �"!�J�X �:& �3g !�J$#��� 5$#=�e��gp!�J$#R&�~�X ��g J$#G�"S�J.!�&V��gY!�J$#a)?��5$#>&e��gY!-J$#aJ$#G'�����~?�:Q ! !.´ #T!�J$#>)bJ0'��W#!�J$#z´ ��� &,!$p 2>'�&,#V2=�"X'�0Q"#�G$�"!��E��g J$#t'�����~?�:Q:5?��)$Sa'�&?E cd)Dfw@

Page 171: Data Structure and Algorithm by Y. Narahari

��������������� � ��� � � �� ��� ���� !¤� �

�lk�� n ) *��w )+'b�������������

����� � � #G'�) #�~?�:Q�Q�#E�:) @ � 50'C!-'&1! �P~?24!~$�H#/g ����/'�)?� ��~?Q^'C!���)$S �?� �:��� �"!�� K£~$#!~$#>&=@�� �������������� ' �� ����� D '��! , � >�! #p�WQ#"$R#&%���! 4'"$��+#=� ¦ ! ���i@)( ¤+*-, ( � ª !� * µ � @

����� � �A'3��«¡�e@/.Y� ��´ ) @10�'�0Q�#R#>).!-'C!��:��)A'�)?5%'3)0'�Q.�<&H�:& ��g320�:)?�+E�:'�Q1K4"$#"$#R'3Q ,SW��� �"!�J$E&=@65MB,I> ¯ �� % �7�+89 �� �3 ��;:<� ' ���>= ! #Y�WQ?"$R# µ !�4@"$�2D#>��(�! ���i@% *+A-, ( � * ! � * µ A @

PCB "����+���,!DR#=�HSW#(!7�:)?&,#=�,! !�'�)?5_5$#>Q�#4!�#E��)����D#>��'C!����W)?& �:)FEacdQ:��S � fHG���� &1!�2G'3&H#!��?R#W@

P�� 20��)?�+E�^'3Q5K�"$#"$#e�:&l' g ���H#G&1!K�3g J$#t'�� , ��� 5$#>�H#>56! �H#>#>&=@

�JI '�28J(��g !�J$#eJ$#G'�� , ��� 5$#=� #>5E! � #=#>& �:&;��g 'T2=�W)?&1!���'���)$#G5/g ���K L�)?�MG )X'3&' S ���7 ����N�+8 '6%� O w@

B 3

B 0 B 1 B 2

g '�6%< � , �5� � ��f ���Yw +��,4$i"�F ` '*-5"%YO' ��� pz� ,4,4$

Page 172: Data Structure and Algorithm by Y. Narahari

������������� � �� ���� ��� �� ��� ���� !¤��©

P�� S ���7 ������+8 ')%� � l��g J$#G�"S�J�!��a�:& 'E�W)$# , )?��5$#e! � #=# � � 20�:)?� E�^'�Q+! �H#=#�� � ��gJ$#>��SWJ.! [��:&Ogd�3��a#G5C2-�9'7! !-'�2-J?�:)$SA' 20��)?�+E�:'�Q !��H#=#�� � � � !��X!�J$#E� ���3!���g'3)?�3!�J$#>� 20�:)?�+E�:'�QM! �H#=#(!�� � � � @

PCB #=# %h��S "$�H#��$@��Ig ���K'�)N#HG0' ��0Q�# �3g�20�:)?�+E�:'�QM! �H#=#W@P�� 20��)?�+E�^'3QD! � #=#�� � 2=�W)?&H�:&1!�&���gh' � ���C!9G �"!�JX28J?�:Q�5$� #>)�� � !�� � ! @�@:@�� � � � @P � � J0'�&�#HG0'324!�Q.� % � )?�v5$#G&=@P 4@"$�2+#=� ��g )?�v5$#>&l'C!l5$# �$!-J �E�:&`["!�#P 0 g G;#��?'�F��&H# J$#t'��U��� 5$#>�K��)N!-J$# 20��)?�+E�^'3QM! �H#>#>&l'�)?5A'�Q�Q:�MG 'C! E�W&1!l��)$#20��)?�+E�:'�QC! �H#># ��g?'�)-��J$#>��S�J�!! G;# 2G'3) "?)?� K4"$#GQ �e�H# �?�H#>&H#>)�! ')�?� �:�3��� !&�PK�"$#"$#�3g '�) �(& � <># 2-�X' g ���H#>&,!���g�20�:)?� E�^'�Q0! � #=#>&>@

P �%$��*� 4�y� @ � �?� �:��� �"!�� K4"$# "$#X��gK&H� <>#"�( 2>�+"?Q�5 2+#(�H# �?�H#>&,#G)�! #G5 2�� !�J$#g ���H#>&1!&�%' !(� !)� � @ � )0'7!O"$��'�Q7G�'��(��g�Gl��� !��:)$ST!�J?�:&l�:&�@��(�*� �C@ B #=# %h�"S "$�H#�<@+�_g ���l'�20��)?�+E�:'�Q(K4"$# "$# G � !-J(&H��GX#>Q�#R#G)�!�&=@

16

18

12

21

24

65

g '�6%< � , �5� �� Ge)+'*-+"�YO' ��� !�<+,�<+,�,@C­�P' 1&0 $&' ��,4�*,�YO,�- 1 $

i���U��� ��� ��� �����.- '�� '��0/ 4W�I�B� ��� � ��1 �3254 6 � �72

8 J?��&;��& �#��0Q�#R#G)�! #G5�2-�6&H2G'�)?)?��)$S_!�J$#`� ���C!-& ��g '�Q:QM!-J$# ! � #=#>&>@ B �:)?24#`!�J$#>�H# '3�H#'C! E�W&1!iQ���S � 5?�39F#=�H#G)�!i!��H#=#G& !G!�J?�:&iQ�#G'�5?& !-�l' G ��� &1!�2G'�&,# 2>� '�0Q�#HG?� !&� ��g:�McdQ:�3S � f8@

Page 173: Data Structure and Algorithm by Y. Narahari

������������� � �� ���� ��� �� ��� ����� �¤��ª

� Q"! #>� )0'C!�����#GQ �*!Y�W)$#2>'�) LW#=# � ! �-'32OL ��g`!�J$#2"$�H�H#>).! R�:)?�#�"$ '�)?5 �+#=�Hg ���KLM)?5 , R�:)R��)��Mc��tfh!��#R#l�"g G # �H# R#�2+#=� !��1"��+50'C! # !�J$#;E�:)?�?�"$ ��g �"!;28J0'3)$SW#G&5$"$� �:)$S �3!�J$#=�K���D#>��'C!��:��)?&>@

� � �� �

� #=!�� � � #>Q�#R#>).!�&� �� #>Q�#R#G)�!�&

#�'3�H#e)?�MG Q"#>g ! G � !-J� ! �H#=#e��ghJ$#>��S�J�!%�( ! �H#=#G&��3ghJ$#G�"S�J�!;%

� �3! # !�J0'C! ��g+!�J$#@( 20�:)?�+R�^'�Q.!��H#=#G&���g J$#>��S�J�! % !+G;#l2>�+"?Q�5RJ0'���#l'3)-� �M'��"� !��eSW#=!'�)?�C!-J$#=� 20�:)?� E�^'�QhJ$#G'��i@ B ��)?2=#FR#=�HS��:)$S6! G � 20��)?�+E�^'3Q !��H#=#G& !-' LW#>&V2=�W)?&1!8'3).!!��#a#�'3)?5 !-J$#=�H#b'3�H# �McdQ:��S � f 20��)?�+E�:'�Q�!��H#=#G& ! R#=� S�# !-' L�#G&��McdQ:�3S � fE�:) !�J$#G ��� &1!-2>'�&,#�@ B #=# % �"S "$�H#G& �$@ � '�)?5 �$@ A gd�3� ! G �T#��?' '�0Q"#G&=@

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

8 J?��&I�:&I'A& �D#G2=�^'3QY2G'�&,#/�3g R#=�HS��:)$SN& ��)?2=# G;# R#=�H#GQ �%24�H#t'7!�#E'A�W)$# , )?��5$#R! �H#=#'�)?5 �+#=�Hgd�3�� '�R#=� S�#W@

��� &1!�2G'�&,#e2=�+'�0Q"#��$�"!��a!�J$#=� #=g ���H#;G �:Q�Q72+#�ERcdQ���S � f8@

� ���H#��?�H#G2=�:&,#>Q.� � ��g !�J$# �?� �:��� �"!����4"$#"$#X��).!���G J?�:2-J !�J$#/#GQ"# a#G)�!T��&12+#>�:)$S��:) ,&,#=�H! #>5 J0'�&l!�J$# �?�����+#=�H!��X!�J0'C!l!�J$#_& /'3Q:Q�#>&1! )?�W)$#��?��&,! #>).! 20��)?�+E�:'�QF!��H#=#_��& � � !!�J$#V�K"?)?)?�:)$S !��#R#V��& �?� ���F�3�H!����W)0'�QM!�� � � �3@

Page 174: Data Structure and Algorithm by Y. Narahari

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

14

26

23

24

65

51

13

2 : 7 elementsH

16

18 21

24

65

12

H1 : 6 elements

14

26

16

18Merge of and yields

26

16

18

14

We are now left with 1 tree of height 0 3 trees of height 2

g '�6%< � , �@� � ��f ���Yw +�*,�$i"�F ��, � 6%'*-+6

I S 0 )?&,#=�,!-���W)N��).!�� ��'_c G J?��28J(J0'�& �(T#GQ"# R#>)�!-&-f ! #>�KE��)0'C! #G& �:)6! G �a&1! # �0&=@

B ��)?2=#�#t'�2-J ! �H#>#I��g�'��M'C�H!���2"?Q:'3�K5$#=SW�H#>#T��)' 20��)?�+E�:'�Q ��"$#"$#T�:& �?�H#G&,#>).!'G �"!�J�?� � 2M' 20��Q:� !&� � !v��g G;# 5$#=LM)$#l!�J$# ��'�)?5?� �3'3� �^' 20Q"#�� '3&p� # �?�H#G&,#>).!���)$Se!�J$# )4"$ ,2D#>�l��g &,! # �0&K�:)N'�)U�:)?&,#=�,!l���+#=��'C!��:�W) !.!-J$#>)

Page 175: Data Structure and Algorithm by Y. Narahari

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

H3 : 13

12

65

2421

65

24

26

14

16

18

14

26

12

24

23

51

65

21

23

51

18

16

24

65

13H ’ : 3

g '*6%< � , �5� ©� ��, � 6%,8"�F",@C ��- V , �

� � � G �"!�J �?��� 2 � c � � )?�3! �?�H#>&,#G)�!wf� % G �"!�J �?��� 2 � c � � )?�3! �?�H#>&,#G)�!wfVc � � )?�3! �?�H#>&,#G)�!wf� ( G �"!�J �?��� 2 �

�@@@

8 J4"?&l' �W#>��'3SW#`)�"$�2D#>� ��gh&1! # �0&K��)A'�)N��)?&,#>�,!l���D#>��'C!����W) � %

8 J4"?& G # #����D#G2w!N'�) ��)?&H#=�,!��:�W) !-�9! #>�KE��)0'C! #U�:) ! G�� &1! # �0&/�W) !�J$#�'���#=�-'CSW#W@%$"$�,!�J$#>� E�3� #�! �+#=�Hgd�3��R�:)$S � �:)?&,#=�,!-&`�W)9'�)%��)?�"!��^'�Q�Q.�N# '�$!�� 20�:)?� E�^'�Q ��"$#"$#G ��Q:Q+!-' LW# �0c � f G���� &1!�2G'3&H# !-�?R#�@B #=# % �"S "$�H#G& �$@ * '�)?5��<@ �*�_g ���l'�)X#��?' '�0Q"#W@

(.���3� � � � �32

P %h�"��&1!OLM)?59!�J$# 20��)?�+E�:'�Q ! �H#=#FG �"!�J%!�J$#/& /'�Q�Q�#>&,!O� �v�3!G@ � #=!_!�J?��& 2D# � � @� #=! � 2+#e!-J$#e�3���"S��:)0'3Q �?� �:��� �"!�� �4"$# "$#�@

Page 176: Data Structure and Algorithm by Y. Narahari

������������� � �� ���� ��� �� ��� ����� ���>

Inser (5)

3

5

5

10

+

6 3

5

=

6

10

3

5

3

5

10

Inser (3)

Inser (10)

Inser (6)

18

6

10

3

5

Inser (18)

Inser (14) 14

18 6

10

3

5

6

3

5

14

18

2Inser (2)

18 5

314

6

100

10

Inser (100) 2 10

g '*6%< � , �5� ª��f ���YO 5�*,4$i";F M -+$(, ��1 $

Page 177: Data Structure and Algorithm by Y. Narahari

������������� � �� ���� ��� �� ��� ����� ��%A

P�� #E� ��# � � g � �+ !�J$#Vg ���H#G&1! �:) � g ���KE��)$ST'�)?�C!-J$#=�920��)?�+E�:'�Q �4"$#"$# ���^@P � �MG � #E� ��#V!�J$#I� �v�3! �3g�� � 24� #G'C!��:)$SF20�:)?�+R�^'�QF! �H#>#>& � � ! � � !h@�@:@ ! � � � � !G J?��28J(2>�WQ�Q�#>24!�����#GQ �Eg ���K '�20��)?�+E�:'�Q �4"$# "$# � � � @P � �MG !!R#>�HSW# � � '�)?5 � � � @

13

21

1223

51

65 26

18

16

24

65

1424

65

24

24

23

51

65

13

26

18

16

14

65

2421 16

18

14

26 23

51 24

65

H’ :

H :

H’’ :

Merge

21

13

H’’ :H’ and

g '�6%< � , �@� �� � ��, � 6%,4$N"�F:,�� ��- V ,�� �

0 !l�:&�#G'�& �6!��a&,#=#e!�J0'C! !-J$#�G ��� &1!�2G'�&,#V2=�+'�0Q"#��$�"!��E�3gh5$#GQ"#=! #E�:)(�:& �McdQ:��S � f8@

Page 178: Data Structure and Algorithm by Y. Narahari

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

� ��� �3� ����2 � �*��� � 2 �&� ��� �32$��� � � � � ��� ���

P 5$#>Q�#4! # R�:)9���+#=��'C!��:�W)b�H# ��"?�"� #>&T' 20��Q:� !&��!��ALM)?5 '�Q�Q & "!2$! �H#>#>&_��g�!�J$#/� �v�3!G@8 J4"?&�28J?��Q:5$�H#>)N��g #G'�28JX)?��5$#O&HJ?�+"?Q�5 2+#I'��3'��:Q:' 20Q�# cd&�'��X' Q:��)!LW#G5XQ:��&,!wf

P 5$#>Q�#4! # R�:)9� # �4"?���H#G&O!-J0'7!T!-J$#(28J?��Q:5$�H#>) 2+#X��� 5$#>�H#>5 2-� !�J$#X&H���=#X�3gl!�J$#>���& "!2$! �H#>#>&=@

P G;#;)$#>#>5_!-�;/' LW# & "$�H# � !���& #G'�& �I!���a#>�HSW#p! �H#G&H&=@ 8 G��@20�:)?�+E�:'�Q�! �H#>#>& 2>'�)2D#�R#=�HSW#G5N�W)?Q.�U��g !-J$#�� J0'���#e!�J$#T& ' R#�& ���>#�!FJ$#>)?2=#I!�J$#T&H���>#I��g !�J$#�! �H#=#�"?&1! 2D#_&1!����H#G5U��)N!�J$#�� �v�3!G@ J?�:Q"#1a#>�HS���)$S !$�W)$#���gh!-J$#e! �H#>#>& 2+#>2>�+a#G&!�J$#`Q^'�&1! 28J?�:Q�5(�3gi!�J$# �C!-J$#=� !<&H�1G # & J?� "?Q:5 LW#=# �6! �-'32OLR�3gi!�J$# Q:'�&1!�2-J?�:Q:56��g#G'�28J�)?��5$#�@ � S����v5b50'C!-'6&,! �K"?2w!O"$�H#T!�� "?&,#E��&O'X2=��� 2"?Q:'3�V5?�+"!20Q �%Q��:)!LW#>5Q��:&1!9G J0'7!K#t'328JN)?�v5$#O�:&K��g !�J$#eg �WQ:Q��MG �:)$S_g ���K

50'C!-' L0� &1! Q�#=g ! ���"S�J�! ��'�)!L � �$@���g2-J?�:Q:5 &H�?20Q:��)$S &H� 20Q:�:)$S 28J?��Q:5$�H#>)

i���U��� ��� ��� �����O� � �­���)��� �\� � ����15������

�� �� ���� ��4�.2�� � � � � ��� � � ���

P 8 ��a#>�HSW#6! G �C20�:)?� E�^'�Q �4"$# "$#>& ! '�) ���D#>��'C!����W) &H�#E��Q^'3�I!��9'�5?5?� !��:�W) ��g20��)0'3� �6�:)�! #>S�#>� & ��&��+#=�Hgd�3��a#G5

� !A'�) � &,!-'3S�#(! G #C/'�� J0'���# �=#>� ��! �W)$#(!K! G ��!l���/!-J$�H#=# � � ! �H#>#>& !5$# �D#G)?5?��)$S��W) G J$#=!�J$#=�_���T)?�C!_!�J$#6! G�� �?� ����� �"!&����"$#"$#>&T2>�W)�!-'��:) '� � ! �H#>#U'�)?5 G J$#=!�J$#=�R���R)?�3!E' � � ! �H#>#N�:&R2>'3�H� ��#>5 � �W#>� g ��� !�J$#�?� #��<�:�+"?&�&1! # �i@� ��gY!�J$#=� #R�:&��>#=� �A��� E���H# � � !��H#=#(! � !��:& �0Q^'�24#G5 '�&�'X! �H#>#R�:)%!�J$#

�H#G& "?Q !-��)$S�20�:)?�+R�^'�Q �4"$#"$#W@� 0 gi!�J$#=� # '3�H# ! G���!�!�J$# �/'3�H#�R#=�HSW#G5R�:)�!-� ' � � ��� ! �H#># '�)?562G'3�H� ��#>5

� ��#=�� 0 g !-J$#=�H#O'3�H# !�J$� #=#�!0��)$#e�:&��H#=!-'���)$#G5X'�)?5U�C!-J$#=�;! G���R#=�HSW#>5 @

Page 179: Data Structure and Algorithm by Y. Narahari

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

� ��� � ��� � A

P�� 20�:)?�+E�:'�Q ��"$#"$#���g � #>Q�#R#>).!�&h2>'�)�2+# 2 "?��Q"!�2�� � & "?2=2=#>&H& ����#K��)?&H#=�,!��:�W)?&��)��Mc � fY!��?R#W@

P .p�K"<!�#Vg ��� 24# � )0'3Q.�<& ��&� #=LM)$#V!�J$#O2>�W&1!l�3g #t'328JU�:)?&,#=�,!-���W)?& !���2+#

� � !��#R#;"?)?�"! � '�)(#���! ��'�"?)?� !Kg ��� #G'�28JUQ��:)!L��:)$S &1! # �8 J�"?&I!�J$#/!��3!-'�Q3G �:Q�Q 2D# � "?)?�"!�& �0Q#"?&I!�J$#/!��3!-'�QY)4"$�2D#>�_��gKQ:��)!L<��)$S&,! # �0&=@

� 8 J$#��4&,!!�(3� 5 ! @:@:@Y'3)?5N#t'328JU�v5?5 , )�"$�2D#>�H#>5X&1! # �N� # �4"?���H#G& )?�RQ:��)!L<��)$S&,! # �0&K&H�:)?24#e!�J$#=�H#e�:&K)?� � � �?�H#G&,#>).!G@

� � �4"0'3�,!�#=� ��g$!�J$#;�:)?&,#>�,!��:��)?& � # �4"?���H# �W)?Q.���W)$#;Q:��)!L<��)$S`&1! # � %7)?5 ! �C!�J !�*��! @:@�@��� )$#e#>��S�J�!�JN��g �:)?&,#>�,!��:��)?&;�H#��4"?���H# ! G�� Q:��)!L<��)$S &,! # �0&=@

#O2=�+"?Q:5X5?�E'�Q�Q+!�J?�:&l'�)?5 2F�+"?)?5X!�J$#O)4"$�2D#>� ��ghQ��:)!L��:)$S &1!�# �0& 2-� � @8 J$#a' 2+� ��# '�)0'�Q �$&H�:& G �:Q�Q )?�C!eJ$#GQ �CG J$#>) G #T! � �A!��N'�)0'3Q.� �># '(&H# �4"$#G)?24#�3gh���+#=��'C!��:�W)?& !�J0'C!K��)?2>Q?"?5$# E���H#`!�J0'�)TB "?&1! �:)?&,#=�,!-���W)?&=@

P�� E���,!����=#G5 � )0'�Q.�<&H�:&� ��)?& ��5$#>� !�J$#O�H#>& "?Q"!K�3g '�)N��)?&H#=�,!��:�W) @

� 0 gi!-J$#=�H# ��&;)?� � � ! �H#>#�!v!�J$#G)E!�J$#V��)?&H#=�,!��:�W)E2=�W&1!�&;��)$# !��#R#'"?)?�"!G@ 8 J$#� #>& "?Q"!p��g �:)?&,#=�,!-���W) �:& !�J0'C! !�J$#>�H#l�:&�)?� G '�� � ! �H#># '�)?5 !�J$#Kgd�3� #>&1!pJ0'3&�W)$# E���H# ! �H#>#�@

� 0 g�!�J$#=�H#T�:&V' � � !��H#=#�2 "<!V)?�3!�� � ! �H#>#�!+!�J$#G)��:)?&,#>�,!��:��)A2>�W&1!�& %a!��#R#"?)?�"!�&=@ 8 J$# )$# G g ���H#>&1! G �:Q:Q0J0'���# '�� � ! �H#># 2 "<!;)?�3!;'�� � !��H#=#W@ 8 J�"?&)�"$�2+#=���3g ! � #=#>&K�:)(!�J$#eg ���H#G&1!��:& "?)?28J0'�)$S�#G5 @

� � ) �:)?&,#=�H!����W) !�J0'C!(2=�W&1!-& ( !��#a# "?)?�"!�& G �:Q:Q 24� #G'C! #�' � !��H#=# 2 "<!5$#G&1! � � �X' � � '�)?5 � � ! �$�"#GQ�5?�:)$S �W)$#OQ�#>&H& !��H#=#e�:)X!�J$#Vg ���H#>&,!G@

� 0 )/SW#>)$#>��'�Q !�'3)/�:)?&,#>�,!��:��) !�J0'C!;2>��&,!�&�� "?)?�"!�&p�H#G& "?Q !-& ��)6'I)$#=!;��)?2=�H#G'�&,#��g�% � �`! �H#>#>&=@ B �:)?24#� ' � � � ! � #=#e�:&K24�H#t'7!�#>5

Page 180: Data Structure and Algorithm by Y. Narahari

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

� '�Q�Q � � ! �H#=#G& ! ��� � � � � �V'3�H#V�H# R� �W#G5 @8 J�"?& #���+#>)?&H� ��#��:)?&,#=�H!����W)?&F�H# E� ��#h! �H#>#>&i'�)?5e28J$#G'��O�:)?&,#>�,!��:��)?&i24�H#t'7!�#!��H#=#G&=@

����� � � � 2>�W&1!l�3g � \"] �:)?&,#>�,!��:��)� � � )?�?@���g ! �H#=#G&K��)Xg ���H#G&1! 'Cg ! #=� � \"] �:)?&,#=�,!-���W)

#IJ0'���#� � � �� � � c � � � � � � � f � %

� ��� � ��� ! A

P 8 J$#A' E���,!����=#G5 ��"?)?)?��)$Sb!-�?R#>& �3g 0 )?&,#=�,! ! � #>Q�#4!�# , E��) ! '�)?5 � #>�HSW#A'3�H#�0c �Gf !:�McdQ:��S � f !0'�)?5��McdQ:��S � f � #>&��+#>24!�����#GQ ��@

� �3! #>).!��:'�Q+g "?)?24!����W) � � ��g ! �H#=#G&���)X!�J$# ��"$#"$#8 � �?� � ��#`!�J?�:&��H#>&K"?Q !9G;#O28J?����&H#

P 0 )?&,#>�,!��:��)� � � '�2w!�"0'�Q 2>��&,! �3g � \"] �:)?&,#>�,!��:��)� � � )?�?@��3g ! � #=#>&K�:)Xg ���H#>&1! '3g ! #>� � \"]� � � � � � c � � � � � � � f� � � % �� �� � � � � � � ���� � � � � c � � � � � f� % � � c � � � � � f

� &�Q:��)$SE'�&Ic � � � � � f ��&��F�W&H�"!�����#(!�G;#O'3�H#e5?�W)$#�@0 ) '�) �%2>'�&,#c � � � � � f �:& 2F� "?)?5$#G5�2-�bQ:�3S � ��g G;#E&1!-'3�,! G �"!�Jb'�)b#'�$!&�! �H#=#W@

P � #=� S�# � &H&K"$a# !�J0'C! !�J$# ! G�� �4"$#"$#G& !-� 2D#�R#=�HSW#>5/J0' �W# � � '�)?5 � )?�v5$#G& G �"!�J � '3)?5 ! �H#=#G&=@ � #=! � � � � � � @ � 24!�"0'�Qh!��#R#T!�� �D#>�Hg ���K a#>�HSW# �:&SW� ��#>) 2-�

Page 181: Data Structure and Algorithm by Y. Narahari

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

� � � �McdQ:��S � � � Q:��S � f� �Mc�� ��� cdQ:��S � ��� Q:��S � f� �McdQ:��S � fc � � � � � � � f ��&V'C! E��&,! cdQ:��S � f &H�:)?24# !�J$#=�H# 2G'�) 2+#a'C! E��&,!acdQ:��S � f�!��H#=#G&'Cg ! #=� R#=�HSW#�@

P � #GQ"#=! #E�:) 8 J$#O'3)0'�Q.�<&H�:& J$#=�H#egd��Q:Q:�MG &Y!�J$#�& ' a#e'3�HS "$R#>).!�'�&�g ���9R#>�HSW#�@

�i���U��� �X� � 5 ��� ��� �y���%- '�� '��I�

.Y�:)?�+E�:'�Q �4"$#"$#G&K��) G J?�:2-J R#=�HS��:)$S ��&K5?�W)$#eQ^' �>�:Q ��@

� #>�H#�!F!�� R#=�HSW#I! G � 20�:)?� E�^'�Q ��"$#"$#>& !7G;# & �?'�0Q.�U2>��)?2G'C! #>)0'C! #�!�J$#_! G �/Q:��&1!-&��g 20�:)?� E�^'�Q?! �H#>#>&=@ 0 )/!�J$# �H#G& "?Q !-��)$STg ���H#G&1!!v!�J$#>�H#;/'�� 2D#e&H#���#=��'�QD! �H#>#>& ��gi!�J$#& ' R# & ���>#�@

.p#G2>' "?&,# ��g !�J$#VQ^' � � R#=� S�#(!4R#>�HSW# '�)?5(�:)?&,#=�,!�'C� #'2F�3!�J G ��� &,!�2>'�&,#��0c �Gf !��?R#W@

P � #GQ"#=! #E�:) � � �W) �W#>�,!KQ:' ��� 20�:)?�+R�^'�Q �4"$#"$#���).!�� 'a&1!-'�)?50'3� 5 20�:)?�+R�^'�Q ��"$#"$#� � �R5$#>Q�#4! # E��)('�&K�:)U&1!-'�)?50'3� 5 ��"$#"$#�@

1 �� � 2������� � �����

%h�?2+�W)0'�2=2>� J$#G'��X& "����F���,!�&K'�Q�Q 2M'�&H�:2VJ$#G'��X���+#=��'C!��:�W)?& �:) �Mc��tf ' E���,!����=#G5a!��?R#(!G � !-JN!�J$#_#��$2=# �$!��:�W)A��g�5$#GQ"#=! #E�:)U'�)?5�5$#>Q�#4! # G J?��28JU!8'�LW# �0cuQ���S � fK' E���,!����=#>5!��#a#W@

%h�?2+�W)0'�2=2>� J$#G'��0& SW#>)$#=�-'3Q:���=#�20��)?�+E�^'3Q �4"$# "$#>& 2��N'�5?5?��)$S ! G�� )$# G 2=�W)?24# �$!�&

Page 182: Data Structure and Algorithm by Y. Narahari

������������� � �� ���� ��� �� ��� ����� ��%©

P�� 5?� 9F#=� #>)�!l�#'�0Q"# a#G)�!-'C!��:�W)a��gh5$#>2=�H#G'�&,# , L�# �P � ' ��� R#>�HS���)$S 8 G�� J$#G'��0&K'3�H# R#=� S�#G56�W)?Q � G J$#G)U� !l�:&��H# ��"?�"�H#G5 @

0 !e2>'�)C2+# &HJ?�MG )���)%' % � 2F�W)0'32>2=� J$#t'���!-J0'7!e'�) �)?��5$# ��g��-'3)!L�� � �TJ0'�&V'C!Q"#t'�&1!���� ��� 5$#G&H24#G)?5$#>).!�&=@

�lk�� �� �o$���� � �Vo����� ho

�C@ � Q�g �H#G5 # � J?��! � ��J?) I @ � ���F24� ��g !!M'3)?5 � #�9+�H# � � � Q�Q#/'3) @�� ���N� 5 ��� ���������� � ��� �"!'8 = #� �$� � ��� @ � 5?5?�:&H�W) , #G&HQ�#��(! � *+A ($@

%v@&% �:Q�Q�#>& .Y��'�&H& '3� 5 '�)?5 � ' "?Q�.p�-'7!-Q"# �W@ ' �>� � ��� �(�N�+8)�6 *)+!;8 = #� �$� � ����� � @���H#>).!���2=# , � '3Q:Q ! � * * �$@ 0 )?5?�^'�) I 5?�"!��:��) � "!20Q��:&HJ$#>5 2-� ���H#G)�!��:24# � '3Q:Q ��g0 )?5?�^'! � *+*+A @

(<@ 8 J?� /'�& � @ � ���KR#>) ! � J0'3� Q�#>& I @ � #G��&H#=� &H�W) !?'�)?5 � �W)0'�Q:5 � @ � � ��#>&1!G@-, �.��/�K 0��� �1� �� ��2�N 3!'8 = #� �$� � ��� @ 8 J$# � 0 8 I Q"#G2w! � �:2>'�Q I )$S���)$#>#=� �:)$Sa'�)?5 � �+ ,� "<! #=� B 2=��#>)?2=# B #=� ��#>& ! � * * �$@30 )?5?�^'3) I 5?�"!����W) � "!20Q��:&HJ$#>5U�:)"� *+*+* @

4 @ � '3� L � Q�Q�#>) #>�:&H&=@5� ���N� 5 ���O���1� �6� � ���7�"!;8 = #�O�8� � � ! �7�+8:9��O������� ��;<; @.p#G)#=,' R�:) , � "$ R��)$S�& ! � * * 4 @30 )?5?�^'3) I 5?�"!����W) � "!20Q��:&HJ$#>5U�:)"� *+*+A @

�v@ I Q�Q:��& � ��� �MG �"! ��! B '3�,!-' � B '�J?)?� ! '3)?5 � '#=,'�&,#LC'C�-'3) @>' �>� � ��� �(�N�+8)� *) �3 ��"�:<��� �?!;8 = #� �$� � ��� @ @ � @�%?�H#=# E'�) '�)?5 � �+'�M'�) �(!�� * *+A @�0 )?5?�^'�) I 5?� !-���W)� "!20Q��:&HJ$#>5 2-�@%V'�Q"S��3!��^'_� "!20Q��:2>'C!��:�W)?& ! % � � �$@

�<@BA @ � '�)$SW&�' ! � @ � @ � "$SW#>)?&1!�#>�:) !C'�)?5 � @ � @ 8 #>)$#G) 2M' "$A@C� ���N� 5 ��� ���D� ��� ����O���>= � ��� � �-;<; @ B #>2>�W)?5 I 5?�"!����W) !Y���H#G)�!��:24# � '�Q:Q !�� *+* �$@FE B 0 )?5?�^'�)I 5?� !��:�W)�� "!20Q:��&HJ$#G5 2-�X���H#G)�!��:24# � '3Q:Q ��gD0 )?5?�^'�!<% � � �$@

� @ B '7!8'#= B '�J?)?�u@�� ���N� 5 �/� ���1����� �HGI!;8 = #�O�8� � ���JG9��� �K! : : 8)���O��� �� �� � ���ML��#N�� @� 20% ��' G , � ��Q:Q � ��SWJ$#>� I 5$"?2>'C!��:��) ! % � � �<@

A @ 8 J?� /'�& � @ B !-'�)?5?�:&HJ @&� ����� 5 ��� � �1� ��� � ���OL4�#N � @ � 5?5?�:&H�W) , #>&HQ�#��*!�� *+*+A @0 )?5?�^'3) I 5?�"!����W) � "!20Q��:&HJ$#>5 2-� � 5?5?�:&H�W) #G&HQ�#�� � �W)$S+/'�) ! % � � �$@

* @ � '3� L � @/.Y� �MG ) @10�'�0Q�#R#>).!-'C!��:��)A'�)?5%'3)0'�Q.�<&H�:& ��g320�:)?�+E�:'�Q �4"$#"$#R'3Q ,SW��� �"!�J$E&=@ 5P, !RQ L� ��6� �7�+89 �� �3 ��;:<�P� ���>= ! #ISWQ#"$3T � ! � "$�2(TVU�(�! ���XW% *+A-, ( � * ! � * � A W

Page 183: Data Structure and Algorithm by Y. Narahari

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

�*��W ��������� T�� � W*%�U T��$ ������� � � S 2 TDU � I W 8 � U8= ��� W % � 2 S ��������� � T � ��! ��� �"� � T � U" !*T#! �$�%� '��UJS � T#� � T&� G�S U L S��'� � � � � � � S �(� �$)�S U � � � *!VW L� ��6� �7�+8; *)+� �! ! � Q ! # S��#"$KT ( 4 ! � "$�2(TVU (�!����XW�� * � , � � � ! � *+A � W

�(�#W � S 2 TDU � W %+� S �,� W � �$) S U � � � % 4 �.- 8 U TDT B S U �0/ W �� ���������������� �� ����� *) � �! ! � Q ! # S��#"$KT � !����XW � � ��! � * � 4 W

�M% W � T ��� # " � �$� T ��� W � � � � � !1�JUK" � ��"�U T32�S U� ��� � � " � � � �$� ) ��U � S U � ��� �4"�T "�T#!VW�� ���������������� �� ����� *)M� �! ! � Q ! #IS4�#"$KT&%���! � "$�2(TVU 4 ! ���XW)( � *-, ( ��� !� * � A W

�(�W � W W � W 5� ��� �6� 7!DW � �8) S U � � � % ( %�- � T � ��!JS U9�0/ W �� ���������������� �� ���� *) � �! ! � Q ! # S��#"$KT � !����XW)( 4 � , ( 4 A ! � * � 4 W

�;:=< ?>$�-�A@ +B C

D1EGF�H0IKJ.LMH0N+OMN�PMQ&RSLTI U,VSW�PXNYOMLMVSW0Z[DY\�]_^�]`D1]'DKa�]�b1\�]'D�^�]4c�]�d0]4b�]�I9W0Nfe1LgehLMVSi+N ]�VjW�LXIhe WkVSW&VlLMVSe RjRlmN�i+n&L8mpo�VjW&e1OMmGH&N�e1nqE_r0I O`LMH&NsPMe i+NsVjW0n�Q0LY]�P=H0IKJtLMH&NsOMN�PMQ�RlL4I Uuo�Q&VSRSv�VSW0ZsLMH&NsH0N�e1nfo�mpLMH0NsRSVjW0N�e1OLMVSi+Nwe RlZ I O=VSLMH&ixv&VSPMyYQ�PMPXN�vuE

b�Ewz{N�P=VlZ9Wke W|e RlZ I O}VlLMH&i~LXI��#W&v�e RSR,W0I�v0N�P�RlN�PMPGLMH&e W|PXI9i+N���e RSQ&N ]4��]�VSWke�o�VSW&e1OMm[H0N�e1n�E��I9Q0Oe RlZ I O=VlLMH&i�PMH&I9Q&RSv�O=Q&W�VSW����i��}]0J,I O=PXL6�8yYe PXNgLMVSi+N ]0JsH0NYO=N�ixVjP`LMH&NwW�Q&iGo�NYO'I U�W0I�v0N�P,I9Q0LXn�Q&LYE

��Ew�3i�VSW��8i�e��hH0N�e1n�VSP{efv&e1LMe�PXLXO=Q&y�LMQ&OMNwLMH&e1L�PMQ0n&n�I OMLMP�o�I LMH�v0N�RlNYLXN�ifVSWhe W&v�v0N�RlNYLXN�i�e��VjW����RlI ZW#�{J,I O=PXL6�8yYe PXN�LMVSi+N E���H0N�PXLXO}Q&y�LMQ0OMNfVjPwVSv0N�W�LMVSyYe R4LXI�eho�VSW&e1OMm�H0N�e1nq]�o�Q0LTLMH0N�H0N�e1n�I O=v&NYOn&OMI n�NYOML8m�VSPsLMH&e1LY]�U�I O�e W�mhW&I�v0Nw��]�e1L{NY� N�W�v0NYn&LMHq]�LMH0NG� NYmPXLXI OMN�v�e1Ls�VjP�LMH0N�PMi�e RSRlN�PMLsVSWVSLMPPMQ0o&LXOMNYN ]�e W&v�U�I O'e W�mfW0I�v0N{��e1L'I�v�v�v0NYn�LMHu]�LMH&N�� NYm�PXLXI OMN�v�e1L,��VSP,LMH0N�RSe1OMZ N�PXL VSW�VlLMP,PMQ0o&LXO=NYN E��e��� {IKJ7v0I+J,Nw��W&v�i�VjW&VSi�Q&i�e W&v�i�e��0VSiGQ�ixN�RlN�i+N�W�LMP��o��¡¢OMN�PXN�W�Lse Whe RlZ I O}VlLMH&ixLXIfVjW&PXNYOML e�W0NYJ�W0I�v&N�VjW�LXI�LMH&Nwi�VSW��8i�e���H0N�e1n��yK�[£TVl� Nge Whe RlZ I O}VlLMH&ixLXI�n�NYOMU�I O=ixv0N�RSNYLXN�i�VSW�e W&vhv&N�RlNYLXN�i�e��

d0Ew¡�OMI¤� N{LMH&e1L'ewo#VSW0I9i�VSe R&LXOMNYN�¥�¦TH&e P`o�VSW&I9i�VSe R�LXOMNYN�P'¥�§�¨M¥g©�¨YªYªYª¤¨M¥�¦ � © e P,y}H&VSRSv&OMN�W+I UuLMH0N�OMI�I LYE^�Ew¡�OMI¤� NwLMH&e1Lse+o#VSW0I9i�VSe R�LXOMNYNgI U�H0N�VSZ9H�Ls«�H�e Ps¬�­6®�¯�«�°9±K²6�³«&����´�� W0I�v0N�P�e1L{v0NYn&LMH�´&Ec�Ew¡�OMN�PXN�W�L4e WGe RlZ I O}VlLMH&i�LXI�VjW&PXNYOML�µ¶W0I�v0N�P�VSW�LXI�e{o�VSW0I9i�Vje R9·�Q&N�Q0N`I U�¸fN�RlN�i+N�W�LMP4VSW+¹���µkºpRlI Z¢¸��J`I O=PML6�8yYe PXNgLMVSi�N E�¡�OMI¤� Ngm I9Q0O�o�I9Q&W�vuE

a�ET»$L,VSP�OMN�·�Q&VlO=N�v+LXIGVSW�y�OMN�i+N�W�L¢LMH0N{��e RSQ&NsI UuLMH0N{OMI�I LMP`I Uqe RSR�o�VSW0I9i�Vje R�LXOMNYN�P'VSW�eGo�VSW0I9i�Vje R0·�Q0N�Q&N E¼ H&e1L�VSPGLMH0NfJ,I O=PXL6�8yYe PXN�O=Q�W&W&VSW0Z�LMVji+NfI U LMH&VjPgVSW�LXNYO=i�PGI U�LMH0N�W�Q&iGo�NYOgI U N�RlN�i+N�W�LMPpVSW;LMH&No�VSW0I9i�Vje R#·�Q0N�Q0N E

Page 184: Data Structure and Algorithm by Y. Narahari

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

��Ewz{N�P=VlZ9W[e W;e RlZ I O=VSLMH&i LXIPXN�e1O=y}H;U�I Owe W[N�RlN�i+N�W�LgVSW�e�o#VSW&e1OMmH&N�e1nqE ¼ H&e1LGVSP�LMH0N+J,I O=PXL6�8yYe PXNy�I9i+n�RlN��0VlL8mAI UTm I9Q&O�e RSZ I O=VlLMH&i�E'e W m I9Q Q&PMNLMH0N�H0N�e1n n&OMI n�NYOML8mALXI|PXn�NYN�v&Q0n LMH0N�PMN�e1O=y=Hn&OMI�y�N�PMP��

�Ew¡�OMI¤� NTLMH&e1Lsepo�VSW&I9i�VSe R�·�Q0N�Q&N�J{VlLMH�W�VlLXN�i�P H&e P�e1L�i�I9PXL�RlI Z¢¸�o�VjW0I9i�VSe R#LXOMNYN�PY]0LMH0NwRje1OMZ N�PXL I UJsH&VSy}H�y�I9W�LMe VSW�Psb���������VlLXN�i�P�E

DY\�Ew sI¤J�v0I+m I9Q�VSi+n�RlN�i�N�W�L'LMH0NTU�I9RSRlI¤JsVSW0ZpI n�NYO=e1LMVlI9W&PsVSW�epo�VSW&e1O=m�H0N�e1n��

� z�N�y�OMN�e PMNgLMH0Nw� NYm�e1LsPMI9i+Nwn�I9PMVlLMVlI9W� »6W&y�OMN�e PMNwLMH0NT� NYmhe1LsPXI9i�Nwn�I9PMVlLMVlI9W��� N�i+IK� NGN�RlN�i+N�W�Lse1LsPXI9i�Nwn�I9PMVlLMVlI9W

D D1E ¼ H&e1L{VSP LMH0NGJ`I O=PMLMyYe PXNGy�I9i+n#RlN���VSL8m�I U4N�e y=H�n&OMI o�RlN�i o�N�RSIKJw]0Z9Vl� N�W�e�o�VjW0I9i�VSe R�·�Q0N�Q0NwJsVSLMH�¸N�RlN�i+N�W�LMP�������n#RSe VSW�JsVlLMH�OMN�e PMI9WhI O�N��0e i+n�RlNwVjW�N�e y=H�yYe PXN E��e���r4VSW�v�LMH0NgPXN�y�I9W&vPMi�e RSRlN�PML N�RlN�i+N�W�L��o��r4VSW�v�LMH0NgPXN�y�I9W&vRSe1OMZ N�PXL�N�RSN�i+N�W�L

D�b�E�,I9W&PMVSv&NYO�� �"!$#|o�VSW0I9i�Vje R ·�Q0N�Q&N�P�JsH0NYO=NhLMH0N&%('*),+-'�I n�NYO}e1LMVlI9WtVSP�RSe/.YmAe W&v VlL�VSP�RlNYU�L�LXI�LMH&N0 '*�1'$23'$%5476�I n�NYO=e1LMVlI9WfLXIGy�I9W�� NYOML'LMH0NsRSe/.Ym+o�VjW0I9i�VSe R0·�Q0N�Q0N�VSW�LXIGewo�VSW&I9i�VSe R0·�Q0N�Q0N{VjW�PXLMe W&v&e1O}vU�I O=ihEp��o���VSI9Q&PMRlm ]�LMH0N+i+NYOMZ N+I n�NYO=e1LMVSI9W[VSPw¹��6DK�}]�o#Q0L{LMH&N�v0N�RlNYLXN�i�VSW�I n�NYO=e1LMVlI9W[VjP�W&I LTJ`I O=PMLyYe PXNG¹���RlI Z`¸��`e W�m�i+I OMN E¢ {IKJ,NY� NYO�]�PMH0IKJ LMH�e1L�v0N�RlNYLXN�i�VSW�VjP,PMLMVSRSRu¹���RlI Z`¸��¢VjW�e i+I OMLMV8.YN�v�LMVSi�N E

�;::9 ?><;>=><?�B B @�AB= C C,CD@�=>AAB EA � C

�GF�HIFKJ LNMPO�QSRUTWV�TYX[Z\T^]\V`_�MKacbEdPefVgMKhi]

¡�O=VSI O=VlL8mw·�Q0N�Q0N�P�n&O=IK��VSv0N`e56j��2lk�)��/��v&e1LMP_PXLXO=Q&y�LMQ&OMN¢LXITQ&PXN'VSWGNY� N�W�L�RjVSPXL�ife VSW�LXN�W�e W&y�N VSWGv�VSPMy�OMNYLXN,NY� N�W�LPMVSi�Q&RSe1LMVlI9W�PYE���H0NGI o�m6N�y�LMVS� N�I U¢LMH&VSPse P=PMVlZ9W&i+N�W�L�VSPsLXI�v0NY� N�RlI n�NY� N�W�LTRSVSPXLse RSZ I O=VlLMH&i�P�Q&PMVjW0Z�n&O=VSI O=VlL8m·�Q&N�Q0N�P e W&v�Q&PXNTLMH&N�PXNwe P�e+y�I9i+n�I9W0N�W�LsVSW�e+v&VSP=y�OMNYLXNTNY� N�W�L{PMVSi�Q&RSe1LMVlI9W�n�e y=��e1Z N E�F�VSW0Z9RSm�RSVSW0� N�v�RSVjPXLMPe1OMNTy�I9i�i+I9W&RSmfQ&PXN�v�VSW�VSi+n�RSN�i+N�W�LMVjW0ZwNY� N�W�L�RSVSPXLMPYE¢��W&N�yYe W�Q&PMN{o�VjW&e1OMm�H0N�e1n�P'e W&v�o�VjW0I9i�VSe R#·�Q0N�Q&N�PU�I Oso�NYLXLXNYOsn�NYO=U�I O=ife W&y�N E

¼ O=VlLXNGe�PMVSi�Q&RSe1LMVlI9W�n�e y=��e1Z NGU�I O�e+v&VSPMy�O=NYLXNwNY� N�W�L�PXm�PXLXN�i ��JsVlLMHe+RSe1OMZ NgW�Q&iGo�NYO I U4NY� N�W�LMP}� e W�vy�I9i+n�e1OMN�LMH0N�n�NYOMU�I O}i�e W&y�N�I U¢W&e Vl� NpRSVSW0� N�v�RSVSPXLMP�]#o�VjW&e1OMm�H0N�e1n�PY]ue W&v�o�VSW&I9i�VSe R�·�Q0N�Q0N�P�VSW�NY� N�W�LTRSVjPXLOMN�RSe1LXN�vhe PMn�N�y�LMPsI U�LMH&NgPMVSi�Q&RSe1LMVlI9WqE

Page 185: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

��� ����� TVUHS � ! ! � � ��� � � S � ! ����� S ����� �JTDU � ��� T � � T"!$# � � � T �3� � �$� !%!'& � ) �$� TDTVU ��� )�!��� � �3���)( S�� � TVU � � ! ���*� � �$� T�!%!,+ �.-0/21)3 ���54 T32�S � � �76 � ��T � !*T ��� U T � U T#! T � � �$� )� U98 � �HU � U ( UJT#� � � � S � ! � �*� ! �:� S � )�� � � � S:8�= T � ��!VW'; � TVU T � UJT��<6 S=8�UJS � � ��� �JT�) S U � T#!S�2 )�U �>��� !%?�@ � UJT � �HT#�%)�U �>��� ! - � � )�U �>��� !�/ ��� � �k� � � U T � �JT#�%)�U �>��� !VW ��� � � � !�����A� �HTVUB!C6�T¶!1� � � ( ! S � T �D�E� S U � ��� � )�U �>���GF 8 � ! T#� � �8) S U � � ��� ! ���H� S �E��� �HTVU� ��� T � � T ��� � TJI �:�*�$� T|� � � � !1�HU � � � � UJT<U T#� � �JT#� � !9! � T#!VW

K :ML N @1>� PO7�� PQ R ><?$S<�AC

T � � U T � �JT#�¶)�U �>��� S U[� � )�U �>��� % � S ��� U � !*T#!U W � !*T��5S�2 4 TDU � ��� T#!=VW W � !*T&�>S�2�� � U T � �JT#� T#�')�T#! S U � U � !%!"X - ��� � U ��� ! ��� S U���TVUJT#� �s��� U S�2 4 TDU � ��� T�!�/

&YI �:��� � T"?C� TVT Z � ) � U T [6W UV \ ] U ! W !�^_! 4_`X \ ]'- U ! W /0!g- U !a^�/0!g- W ! 4 /0!g-b^_! W /0!g- 4 !c^_/ `

d � 2p� � TDU T � ! ���x� U � -fe2g.hA/0!G6�Tt! �5( h � ! e�i_j e<QST^]IV �HSke Wd Tml efVon � ! � !*T5p � T � � T�S�2 4 TDU � ��� T�!Perqsg.e>tJg5uBu5uveAw[! � ��� � ��� ��� � T 4 TVU �JTJI �s��� U�!-fe q g.e t /0gq-fe t g.eAx�/0!yuBu5uz!�-{e wo|�q g9e w / � U T � U � ! �$� � � T*) U �A��� W}; � T dPT^]'~ V�n S�2

� � �

Page 186: Data Structure and Algorithm by Y. Narahari

������������ ����;����������������������� � �!

3 4

1 2

"$#&%!'�(*) �,+ �!-/.10 #&%�(32�4�5768#:935�;=<!)>(?93#A@>)>BC2�D 0FE 2�(G@HB���s� � � � !;� � T ����� 8(TVU S�2 � U � ! S � � � T �s� � � W=T ! ��� )_� T 4 TDU �JTJI e}8 ( � ��!*T#�$2��T � S��JT#! � �s� � � S�2+� T � )�� �JI TVUHS�W

d T �s� � � erqsg.e>tJg5u5uBuJg.e w � ! ! ��� � �HS 8(T OgMKa l dKT � 2�� � T 4 TVU � �$� T#! � U T � � !1� ��� � �5!T I � T � � � S4!9! � 8�� ( erq ��� � e w W � 2$erqy\ eAw ��� �1KML U !26-T �#� ���G! � ���?���s� � �� OgMKa l dKT QON Q dKT W

P F�J FKJ L`efV�e _GVgR b Q Vgb RUT ORQ:h RTS RUe l nVU T l RUT OjT ]\V�efVUMPhi]

U W Tk�#= ��� T � � ( # � �JU � I ?�; � T �3� �JU � I � ! S�2 S U���TVU -?KXWYK�/ 6 � TVU TZK � !*� � T����� 8(TVU�S�2 4 TDU � ��� T�!VW ; � T � �#= ��� T � � (��3� �JU � I�2�S U� � Tk)�U �>��� ��� Z � ) � U T [6W W� !

[\\\\\\]

^ U U ^^ ^ ^ U^ U ^ ^^ ^ U ^

_a``````b

W W Tk�#= ��� T � � (dcg� !1�5?�Z � ) � U T�! [6W W ��� �7[6Wa^ � UJS 4'� ��T � 6�S¶� �fe TVUJT � � � �#= ��� T � � (� � !1� U T � U T�!*T � � � � � S � !2�S U�� � Tt)�U �>��� S�2YZ � ) � U T [6W U

Page 187: Data Structure and Algorithm by Y. Narahari

������������ ����;����������������������� � ���

1

2

3

4

2

2

3

3.

.

.

.

.

4

head"$#&%!'�(*) �,+ -/. 0�� 2�@>)HD�@����A#&B*98(*)>4�(*)>B*)>D 9 2 9G#�!D����935�) 0 #A%!(32 4�5

1

2

4

3

4

8

1

604

020

0

32

3

"�#&%�'�(G) �,+�� -/.C0 � 2�@>)HD�@����A#&B?9 '�BG#AD�% @>'�(*B��!(*B

Page 188: Data Structure and Algorithm by Y. Narahari

������������ ����;����������������������� � � ;K :�� �5�B;>����+C���`?���AC��?><; �A@��+B

S`MPZiT^] ? T � � )�U �>����� \ - V$g0X / �$� 6 � ����� T �����3� U �[��� ! � � S �GFK� T�) � � � 4 T� S�! � ��� ��S � T 4 TVU �HT I � ![��T�! � ) ��� �JT�� � !�� � T O�hib RUQST W

� RUh��EdPT^a ? ; S ��T��JTVU �7��� Tk� � T � S4!1� S�2�� � TA! � S U �HT#!1� �s� � � 2/UHS � � � Tt!JS � U � T�HS�T 4 TVU ( S�� � TVU 4 TDU �JT I �$� V - 6 � TVUJT"� � T*� T � )�� � S�2 � �s� � � � != � ! �[� � Tt! ��� S�2�� � T � S4!1��! S�2p� � T � U � ! S � � � T �s� � � / W

P F��IFKJ _�MK]'~\dPT _ hib RUQST _ n hiR�V�T O V � efVon O � RUh��EdPT a�� L`M j�� O V�RUe�� O�� df~ h��R M VonEa

U X! F & W#" W'@ �%$'& !1�JU � W}T � S��JT S � �<6 S � UJS:8�� T � ! �$�~� S � � T � � � S � 6 � � � )�U �>��� !VW(!)�*,+.-0/ 321J1 + Q�-43f1 +5* -43 /76 !98IS4� ��� T U ! ��� W W;:4< F W [ U ! U�<>=;< W

d@?BADCEC � (¶� �8)GF A � � ���d � �,6HF A & ! 8 (��3����� � ����� �$� ) � ! C �JIKF�2JL9! � C ���6� �NM 4 CEA � ��� C ! 6 � F�! C ! � F A � C !1�� � !1� ��� � C 2 A F � � � C !OF � A � C � ! � � ADC � � (P&,� F�6 ��Q T�� C ����� !1� C � ! � L � F �GF! � C ���6� �NM 4 CEA � C I � ! � 8�!DF A 8 C � ��� �0F�I Q

d ; � C � 8�!OF A � � � F � F�2 ��� C � C � C � �RF�2 V STI �$� �UF@I � ! ��F � C 8 (~� ) AOC�C � (!1� A � � C ) (GQ

d ; � C 27F4�$�VF�6 ��� ) � A F 4,� � C !�� � C !1� C � !WF�2p� � C � �8)GF A � � ���XQ

c C �V \ ] U g W g5uBu5u0g�K ` ��� ��!DF � A � C \ U - [ Q U /

Y[Z%\ g^]`_ \ � F4a'bcF`deb0f Chg;AOi[j \ gk]�lnmNdobUf Cpg;AOi[j \ gk]�l C IqmVa'bUaEr�F;bUf C�A 6smVa Cht

]��\ ] U ` rQ"h R j m'\ W r�muwv�rxmzy{y{l@ Z m|_P\ � Z U !}m~_�r

Page 189: Data Structure and Algorithm by Y. Narahari

������������ ���������������������������� � � EQ"h R j m \ U r�m u \ v F U r�m�ypy{l]i f�F9F4a Chg 4 C�A b C I 6 � 8����,a � i f bUf g b @ Z 6W_emVa g � mVv�m �k��� r� \ ���m]�6 ` rQ:hiR C g`i f 4 C�A b C I 4 � 8��_�@ Z 4 _ \ � mNv j @ Z 4 _ !�@ Z 6W_ y � Z 6�! 4 _7l

``

d ;Wf CBg 8�F 4 CBg�� F A m~b0f � m 4 C a bUf CBi F4a'bUa F;d b0f C aDf�F A b C a'b � g bUf�and A F � aDF � AOi2C4 CEA b C I�b0F C 4 CEA ( F;bUf C�A 4 C�A b C I Q

d ;Wf C[g`i b � g�� aDf�F A b C a b � g b0f�a iEg v g�� aOF 8 C[i F4v�a'b A � i b C � 8 ( � F � mNd ( mVv bUf Cg 8 F 4 C{g��� F A m|bUf �XQ

� n T h RUT^a � @Bm $�& a b AUg�� a g��� F A m|bUf � � v � a bUf C aOf�F A b C a'b � g bUf�a d A F � g aDmVv ��|CaDF � AOi2C b0F g��� F b0f C�A v�F �qC aWF`d g 6 C m fGb C���� m 4AUg � f 6sm|bUf � F4aDm|bUm 4 C 6 C m f>bUa Q

� RUh h QO� c C b 8 \ U ! W ! QVQNQ ! v g v � U 8 C bUf C aOF � AUi2C 4 CEA b C I Q " C � a C � g bUf C � g bUm iEg��mNv � � i bUmVF`v bUF aOf�F�6Tb0f g b

j g l � d g v�F �qC \ j��\ U l���I ! bUf C v @ Z m|_ m 4 C a bUf C��NC v bUf F`d bUf C aDf�F A b C a b � g bUfd A F � bUf C aDF � AOi�C bUF m Q

j 8�lpm|d g v�F �qC \���@Iy!�bUf C v}@ Z m~_ m 4 C anbUf C��NC v bUf F`debUf C aDf�F A b C a bHa � CEi m g�� � g bUfd A F � bUf C aDF � AOi�C bUF m Q

� e<OgMPO4� � v�m~bUm g��� ( � \ U g v � f C v i2C j g lmNa 4 g`i � F � a � ( b A � C Q Z�F A \ � Iy!>b0f C F4v � (a � CEi m g�� � g b0f d A F � bUf C aDF � AOi2C mVacb0f C�� m ADC i b C���4C mNd � AOC a C vGb d A F � aDF � AOi2C bUF mg v � @ mVaHmVv�m|bUm g�� m I C � g`iEi F A�� mVv �� (4Q � C v i2C,j 8�l mVa g�� aOFJb A � C Q! ]'i b Q VgMKhi] Q:h R QSh\]'i M VUMPhi] " e$#

Page 190: Data Structure and Algorithm by Y. Narahari

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

Source1

x

v"�#A%!'�(*) �,+ ; -�� 5�) BG5 �!(?93)HB*9 4 2 9G5 9�� <�@2�D�D ��98<,#ABG#:9��d ;Wf C mVv � � i bUmVF4v[f (G� F;bUf C aDmVa mVanbUf g b 8 F;bUf j g l g v �@j 8�l f�F � � $v� a'by8 C d F AOC 6 Cg�� � g v C 6 4 CEA b C I 4 bUF � Q

d Z�F A C 4 CEA ( v�F �qC g��|AOC g�� ( mVv � 8 C d7F ADC g�� � mVv 4 !!v�F;bUf�mVv i f g v `C a%!!aDFi F4v � m~b0mNF4v j g l mVaWa'bUm �� b A � C Q

d " C f g 4 C bUF F4v � ( aDf�F�6 j g l d7F A 4 6sf�m i f mVa $v� a'b g�� �qC � bUF � Qd�� C d7F ADC g�� � mVv m|b b0F � !Y6 C � � a b i f CEi & bUf g b @ Z 4 _ m 4 C a bUf C �|C v bUfPF`dbUf C aDf�F A b C a'b � g bUf�d A F � aOF � AUi2C b0F 4 Q � ( bUf C mNv � � i bUmVF`v�f (G� F b0f C aDmVa%!�@ Z 4 _i2C�A b g mNv � ( m 4 C aBbUf C �|C v bUf F;d b0f C aDf�F A b C a'b{a � CEi m g�� � g bUf Q " C bUf CEADC d F AOCf g 4 C bUF 4 CEA mNd ( b0f g bhbUf C aDf�F A b C a'b � g bUf d A F � bUf C aDF � AOi2C bUF 4 � F C aJv�F;b� g aOa b0f A F � f g v ( v�F �qC aHbUf g b � F v�F;b 8 C�� F4v bUF � Q

d � �_��� F4a C bUF b0f C�i F4vGb AUg;A (GQ ;Wf g bRmVa%! a �_��� F4a C b0f g b�6sf C v 6 C d7F �� F�6 bUf CaDf�F A b C a b � g bUfRd A F � aDF � AOi2C b0F 4 ! 6 C C v i F � vGb CEA v�F �qC a v�F;b 8 C � F4v mVv b0F,� Qc C b I 8 C bUf C � A a b a � i f v�F �qCBC v i F � vGb CEADC � j a CEC Z m � ADC [ Q� l Q ;Wf C mNv�m|bUm g��a C � C v>b F`d bUf C � g bUf[d A F � aDF � AOi�C bUF I�mNa g a � C i m g�� � g bUf g v � 8 ( � g A b j 8�lF;d bUf C mNv � � i bUmVF`v f (G� F;bUf C aOmNa%!;b0f C �NC v bUf F`d�bUf�mVa � g bUf mVa @ Z I�_ Q ��mVv i2C C���`C6 C m fGbUa g;ADC v�F F v C >g b0m 4 C ! bUf C bUF;b g�� � mVa'b g v i2C bUF 4�4 m g I mVa 4ADC g b CEA bUf g v F AC p � g�� bUF @ Z I�_ Q � F�6 C 4 CEA aDmVv i2C bUf C g�� F A m~b0f � f g a i f�F4a C v 4 g f C g�� F;d I !@ Z I�_� @ Z 4 _ Q ;Wf � a b0f C � g bUf 4 m g I iEg v�v�F;b 8 C aDf�F A b CEA bUf g v[bUf C aDf�F A b C a'ba � C i m g�� � g bUf �NC g�� mVv bUF 4 Q

Page 191: Data Structure and Algorithm by Y. Narahari

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

1

2 3

45

10

50

20

10

60

100

30

"�#&%!'�(G) �,+ E,- . 0 #A%!(32�4�5 ) ��2 � 4 �&) � �!(�� # ��� B?93(G2�� B82 �&% �!(*#A9G5 �! ]'i b Q VgMKhi] O V�T l Q:hiR QShi]'i M�VgMKhi] "�� # � c C b� �\ e g v � � � I Q "Kf C v 4 mVag�� �qC � bUF�� !eb0f C a C,g;ADC b 6HF � F4aDaDm*8xm � m~b0m C a d7F A bUf C aDf�F A b C a'bha � CEi m g�� � g bUf d A F �aDF � AOi2C b0F�6�?

U QY� b ADC � g mVv�a g a 8 C d7F ADCW QY� bcv�F�6 � g aOa C aHbUf A F � f 4 jg v � � F4aDaDm*8 � ( F;bUf CEA v�F �qC aWmVv��l

� v b0f C � A a'b i g a C !xbUf C�AOC mNasv�F b0f�mNv bUF � A F 4 C Q � v bUf C a C i F4v � iEg a C ! �NC b ( 8 CbUf C � g a'b!v�F �qC F`d � 4 mNaOm~b C�� 8 C d7F ADCRg;ADA m 4 mVv [g b=6 Q ;Wf C �|C v bUfXF`d a � i f g � g bUfmNa @ Z ( _ y � Z ( ! 6W_ Q

d THb � A a'b ��Vg v i2C ! b0F i F ����� b C bUf C v C 6 4 g�� � C F`d � Z 6W_ !m|b � F�F & a g a mNd 6 CaDf�F � �� i F ��� g;ADC bUf C F � � 4 g�� � C F`d @ Z 6W_ 6sm|bUf @ Z ( _cy � Z ( ! 6W_ d7F AJC 4 C�A ( � I j mVv i � � � mVv 4 l

d ;Wf�mNa i F ��� g;A mVaDF4v�6 g ahf�Fo6 C 4 CEA � g��qC d7F AJg�� � � I C I i2C � b 4 ! 6sf C v( 6 g a g�� �qC�� b0F � mNv bUf C g��� F A m|bUf �XQ ;Wf � a!bUf C v C 6 4 g�� � C F`d @ Z 6W_ iEg v8 CRi F ����� b C � aDm �E� � ( 8 ( i F ��� g;A mNv bUf C F � � 4 g�� � C 6sm|bUf @ Z 4 _ y � Z 4 ! 6W_ Q;Wf�mNa bUf Cpg�� F A m|bUf � � F C a Q

"Kf C v bUf C g�� F A m~b0f � a'bUF � a%! g��� bUf C v�F �qC a 8 � bHF4v C{g;ADC mVv � g v � m~b mVa i �NC g;AbUf g bhb0f C 4 CEi b0F A @ Z U _ !C@ Z W _ ! QNQVQ !Y@ Z v�_ l i F4vGb g mVv�apbUf C��NC v bUf�aJF`d b0f C aDf�F A b C a'b� g bUf�aHd A F � aDF � AOi2C bUF ADC a � CEi b0m 4 C 4 C�A bUm i2C a QX��5e a l dPT�� � F`v�aOm �qCEA b0f C � m 4AUg � f mVv Z m � AOC [ Q = Q

Page 192: Data Structure and Algorithm by Y. Narahari

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

��� � � �f�������I \ ] U ` � Z W _ \ U,^ � Z ^ _ \ t � Z � _ \ ^ ^ � Z = _ \ U,^ ^

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

� C �NCEi b h \ W !�aOF bUf g b!I \ ] U g W `� Z ^ _m\ � mVv j�t g � Z W _>y Y[Z W gs^ _ lP\ : ^ j [ Q W l� Z � _m\ � mVv j ^ ^ g � Z W _9y Y�Z W g � _7l \ ^ ^ j [ Q ^>l� Z = _m\ � mVv j U,^ ^ g � Z W _Gy Y�Z W g = _ lP\ U,^O^

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

� C �NCEi b h \ � !�aOF bUf g b!I \ ] U g W g � `� Z ^ _m\ � mVv j : ^ g � Z � _9y Y�Z � g ^ _ l \ =�^ j [ Q � l� Z = _m\ � mVv j U�^O^ g � Z � _Gy Y[Z � g = _ l \ <O^

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

� C �NCEi b h \ ^_!�aOF bUf g b!I \ ] U g W g � gs^ `� Z = _m\ � mVv j <O^ g � Z ^ _>y Y�Z ^_g = _ lP\ :O^

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

� C �NCEi b h \ = !�aOF bUf g b!I \ ] U g W g � gs^_g = `� Z W _m\ U,^ j [ Q = l� Z ^ _m\ =�^ j [ Q : l� Z � _m\ ^ ^ j [ Q [4l� Z = _m\ :O^

Page 193: Data Structure and Algorithm by Y. Narahari

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

� � � ���� � � � �� ������ �H������:� � ��� ��� ��� �"Km~b0f g�� $ g;i�C v i (�� g b A mzI AOC � ADC a C v>b g bUmNF4v !�bUf C A � v�v�mNv bUm � C mNa�� j v t l � ( � a FmNv Xg v g�� $ g`i2C v i ( � mNa'b AOC � ADC a C v>b g bUmNF4v g v � g l e<R�VUMPe dKd N h RoiET RUT�i V�RUT^T �xg b ga'b A � i b � ADC d7F A F A >g v�m I mNv bUf C a C b V S Iy!�bUf C i F ��� �NC Iqm|b ( iEg v 8 C aDf�F�6sv�b0F 8 C

� j�� � F K l6sf C�ADC�� mNa[b0f C v ��� 8 C�A F;d C���`C a g v � KwmNa[b0f C v ��� 8 C�A F`d 4 C�A bUm i�C a[mNv bUf C� m 4AUg � f Q

P F��IF � LJN�] e a MKQ � RUh ~iRUe a a MK]'~�� d ~ih R M�V�nEa

U X! F � m i f g;A�� �nC � � � g v Q������ - * / 1�� - �"! - - * * /#�$!�Q�% A mNv i�C bUF4v'&!v�m 4 C�A aDm~b ((% ADC aDa%!U�<>= [ Q

U X! F � m i f g;A�� �nC � � � g v Q � v gJA F � b0mNv � A F:8 �NC �XQ') ) - - 3 +.-+*,�-�/.(0 /)/ *}/ +2143 -43 165+5* -43 / 1 3 !�8nF � ��� C UE: !87 ��� 8 C�A U ! ��� Q�9 [ F <O^ ! UE<>= 9qQ

� F4v�aDm �qC�A g � m ADC i b C��Pg;i ( i � m i 4AUg � f j � m 4AUg � f 6sm~b0f�F � b i ( i �NC a0l�6sm~bUf�v�F4v Fv C >g bUm 4 C 6 C m f>bUa F4v bUf C � m ADCEi b C � g;AOi a Q

? m 4 C v g �qC a'bUmVv g bUmNF4v 4 CEA b C I;:_!>bUf C � A F:8 �NC � mVa bUF � v �,g aDf�F A b C a'b i F4a'b � g bUfd A F � C g`i f 4 CEA b C I F;d bUf C � m 4AUg � f Q � C�C Z m � ADC [ Q : Q

c C bY j \ gk]�l \ � F4a'bcF`dobUf C � m AOCEi b C � g AUi d A F � 4 C�A b C I \ bUF

4 C�A b C I ] j�t mNv iEg a C b0f C�ADC mVa v�F � mVv & l j [ Q,9 l< j \ l \ � � bUm � g���i F4a'bcF;d g � g bUf d A F � 4 C�A b C I \ !qbUF bUf C j [ Q < l

�qC a bUmNv g bUmVF4v 4 C�A b C I=:

< j \ l � g bUmVa � C a,?< j :>l$\ ^

g v � mNdobUf C F � bUm � g�� � g bUf d A F � \ bUF>: b AUg 4 CEA a C anbUf C � mVv & j \ g^]�lnbUf C v< j \ l$\ Y j \ gk]�l y < j ]�l

Page 194: Data Structure and Algorithm by Y. Narahari

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

i z

1

2

n(i)j

j

j

"�#A%!'�(*)�� + � -�� (*#&D�@H#&4 �A) ��� 0 ��D 2 � #&@ 4�( �!%!(G2 � � #&D�%� �_��� F`a C bUf g bed7F A C g`i f 4 C�A b C Is]sa � i fpbUf g b bUf C � mNv & j \ gk]�l C IqmVa'bUa%! bUf C F � b0m � g��

i F4a'b < j ]�l mVa & v�F�6sv Q ;Wf C v !qbUf C � A mVv i m � �|C F`d @ % m � � C � m g b C � ( m ��� � m C a%?< j \ l$\ � mVv

Z}Y j \ g^]�l y < j ]�l^_

T @ % g��� F A m|bUf � 8 g a C�� F`v bUf Chg 8 F 4 C F>8xa C�A 4 g bUmVF4v�a%?

U Q � C b < j :>l \ ^ Q THbnbUf�mVa � F`mVvGb�!4bUf�mVanmNanbUf C F4v � ( v�F �qC 6sf�F4a CBi F4a'b f g a 8 C�C vi F ����� b C � Q

W Q$� F`v�aOm �qCEA 4 C�A bUm i�C a \ � V a � i f bUf g bd < j \ l f g aWv�F;b ( C b 8 C�C v d7F � v �d d F A,C g`i f 4 CEA b C I ]�a � i fbUf g b g � mNv & j \ g^]�l C IqmVa'bUa%! < j ]�l mVa g��|ADC g�� (i F �E��� b C �

T!aDaOm v < j \ l g`i�i F A�� mVv bUF< j \ l$\ � mNv

Z Y j \ gk]�l y < j ]�l^_

^ Q � C � C g b �>b C � W � vGbUm � g��� 4 CEA bUm i2C a f g 4 C bUf C m A F � bUm � g���i F4a'bUa i F �E��� b C � Q

Page 195: Data Structure and Algorithm by Y. Narahari

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

X��5e a l dPT�� � F`v�aOm �qCEA b0f C � m 4AUg � f mVv Z m � AOC [ Q [

B C E

H D F

A Z

5

2 7

1

5

5 1

21

2

3 1 3

2

"�#&%�'�(G) � + � -/. DF) ��2 � 4 �&) 0 #A%!(32�4�5�9�� #��A'�B*9G(32 9G) 0 ��D 2 � #A@ 4�(��!%�(32 � � #AD�%_GV�T l JiF < j � l$\ ^_GV�T l �GF X mVa bUf C F`v � ( 4 C�A b C I a � i f bUf g b < j ]�l mVa & v�F�6sv�� ]Ta � i f bUf g b

Y j XEgk]�l �\ ^< j XJl$\ Y j XEg � l y < j � lC\ U

_GV�T l�� F � C �NCEi b�� Q< j �pl \ � mVv� � Y j �yg � l y < j � l$\ =

Y j �yg XJl y < j XRl$\ ^ j [ Q U,^ l\ � mVv j = gs^>lY\ ^

;Wf�mNa ( m C � � a bUf C F � bUm � g�� � g bUf�� X �hQ_���� l����y� C �NCEi b Y Q

< j Y l \ � mNv � � Y j Y g XRl y < j XJl$\ 9Y j Y g��pl y < j �hl$\ : j [ Q U"U l

\ � mNv j 9 g : lY\ :;Wf�mNa ( m C � � a bUf C F � bUm � g�� � g bUf Y � X �hQ

Page 196: Data Structure and Algorithm by Y. Narahari

������������ ���������������������������� � � � ��� l����y� C �NCEi b �

< j � lC\ � mNv ��������Y j � g Y l y < j Y lY\ [Y j � g XRl y < j XJl$\ ^ \ ^Y j � g��pl�y < j �pl$\ �

;Wf�mNa ( m C � � a bUf C F � bUm � g�� � g bUf � X �hQQQQ& 4 C vGb � g�� � ( !)6 C 4C b g��� b0f C F � bUm � g�� � g b0f�a g v �Xg��� bUf C F � bUm � g���i F4a'bUa Q

� � � ���� � � � �� ������ ��� � � ��� �d � b mVa C g a ( bUF a CEC bUf g b bUf CXg��� F A m|bUf � f g a g 6HF A a b i g a C i F �E� �NC I�m~b ( F`d

� j K t l0!_6sf C�ADC K mVaHbUf C v ��� 8 CEA F`d 4 C�A bUm i2C a Qd c m � m~b g bUmVF4v�F;d bUf CRg�� F A m~b0f �

� � F C aDv � b 6HF A & mNdobUf C�ADCpg;ADC{i ( i �|C aWmNv bUf C � m 4AUg � f Q

P � � � � ����� ��� ��� � n�� � � � � � �� ��n �[��� ����� �����h �� �$N i � � ��� ~�� �� �on��

U��! � � F:8 CEA bW" Z � F ( � Q T � F A m|bUf � < [ j ��f�F A b C a b % g bUf�l Q���� * * )$�x/ 1 -43 / ��� 3 �/.3 1 +�0���3 !�8nF � ��� C = !87 ��� 8 C�A : ! ��� Q ^ � = ! UE<4:rW Q

S � ��! ? T � m `A0g � f � \ j V$g XRlnmNv}6sf�m i f C g;i f g;AOi e h f g ag v�F4v�v C >g bUm 4 C i F`a b Y�Z e2g9hs_

� �#"$!'i ? Z�F AHC g`i f F A��qCEADC � � g m A F`d 4 CEA bUm i2C a j e g9h{l0!�bUf C a � g���NC a b�NC v bUf F`d g v ( � g bUf d A F � e�bUF h

% � ���8:� � � � ���f��� �d ;Wf�mNa!mNa g v � j K x l g��� F A m|bUf � !G6sf C�ADC K mVaWbUf C v ��� 8 CEA F`d 4 C�A b0m i�C acmVvXbUf C� m 4AUg � f Q

Page 197: Data Structure and Algorithm by Y. Narahari

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

i

[i,k]Ak-1

A k-1

[k,j]A k-1

[i,j]

j

k

"�#A%!'�(*) � + � -�� (G#&D�@>#&4 �&) ����" �� � 0 �aB82��&%��!(G#:935 �d &sa C aHbUf C � A mVv i m � �|C F`d @ ( v g � m i % A F 4AUg � � mNv d c C bkV \ ] U g W g5uBu5u0g�K ` Q ;Wf C g�� F A m|bUf � � a C a g � g b A mzI�� Z U uDu K _ Z U uDu:K _ bUFi F ����� b C b0f C �|C v bUf�a F;d bUf C aDf�F A b C a b � g bUf�a Q

d � v�m|bUm g�� � ( !� Z \ gk]`_ \ Y[Z%\ g^]`_ mNd \ �\�] j [ Q U�W l

\ ^ m|d \ \ ]

7sF;b C bUf g b Y[Z%\ gk]`_ mNaHb g & C v g a t mNd bUf C�AOC mNaWv�F � m ADC i b C�� g;AOi d A F � \ b0Fh] Qd ;Wf Cng�� F A m~bUf � � g & C a K � g aDa C aoF 4 C�A � Q c C b����5g�� q gBu5u5uJg�� w 8 C bUf C 4 g�� � C aF;d�� F4v bUf C K � g aDa C a%! 6sm|bUf���� 8 C mVv bUf C mNv�m|bUm g�� 4 g�� � C Q��"� a'b g d�b C�A bUf C S U� � m~b CEAUg bUmVF`v !���0|�q Z%\ g^]`_m\ � � g���NC a b �NC v bUf F;d g v ( � g bUf d A F � 4 CEA b C I \ bUF 4 CEA b C I ]j [ Q U ^>l

bUf g b � F C aWv�F b � g aDaHbUf A F � f bUf C 4 C�A b0m i�C a g y U gBu5uBu%g�Kj [ Q U � lj m Q C Q bUf g bWF4v � ( � g aDa C aHb0f A F � f � F4aDaOm 8 � ( U ! W ! QWQ Q S U l

� C�C Z m � ADC [ Q,9d ;Wf C � � g aDa C I � � F ADC a,6sf C bUf C�A bUf C 4 CEA b C I � m C aRF4v g v F � bUm � g�� � g bUfd A F � \ bUFp]�! � \ g^]

d " C � a C� � Z%\ gk]`_ \ � mVv � � � �0|�q Z%\ gk]`_

� �0|�q Z%\ g _9y�� �0|�q Z gk]`_

Page 198: Data Structure and Algorithm by Y. Narahari

������������ ���������������������������� � � ;

2

8

3

2

5

1 2 3

"�#A%!'�(*) � + � -/.10 #&%!(G2�4�5�) ��2 � 4 �A) � �!(8" �� � 0 �aB82��&%��!(G#:935 �d ;Wf Cpg�� F A m~b0f � ?

� � i Z � F ( � j�� � � � Y�Z K S U _ Z K S U _ g � Z K S U _ Z K S U _ l] ! � \ g^]"g r] Q � � j \ \ ^ g \�� K S U r \ yy{lQ � � j ]�\ ^ rk] � K S U gk]!yy{l� Z%\ gk]`_2\ Y�Z \ gk]`_�r

Q � � j \ \ ^ r \�� K S U r \ y y{l� Z%\ g \ _2\ ^ r

Q � � j \ ^ r � K S U r y y{l5r]Q � � j \ \ ^ r \�� K S U r \ y�y{l]Q � � j ]�\ ^ rk] � K S U gk]!yy{l

Q j � Z \ g _>y � Z gk]`_eu � Z%\ g^]`_ l� Z%\ gk]`_2\ � Z%\ g _9y�� Z gk]`_

``

``

Page 199: Data Structure and Algorithm by Y. Narahari

������������ ���������������������������� � � E��� � � l � � ? � C�C Z m � ADC [ Q < Q

Y \[\\\]W 9 =^ t tt W t

_a```b

� � \[\\\]^ 9 =^ ^ tt W ^

_a```b r � qC\

[\\\]^ 9 =^ ^ 9t W ^

_a```b j [ Q U = l

� t \[\\\]^ 9 =^ ^ 9= W ^

_ ```b r � xy\

[\\\]^ 9 =^ ^ 9= W ^

_ ```b

d "Km~bUf g�� $ g`i2C v i ( � g b A mzI ADC � ADC a C vGb g b0mNF4v ! Z � F ( � � a g��� F A m|bUf � f g a g 6 F A a'biEg a C{i F ��� �NC Iqm|b ( F`d � j K x l 6sf CEADC K mNaHb0f C v ��� 8 C�A F`d 4 CEA bUm i2C a

d � d�@!m $�& a'b AUg�� a g��� F A m|bUf � mVa � a C � d7F A bUf C a g � C ��� A � F4a C ! bUf C v 6sm~b0f g v g�� $ g Fi2C v i ( � mNa b ADC � AOC a C vGb g bUmVF4v !.bUf C 6HF A a b iEg a C i F ��� �|C Iqm|b ( 6sm �� 8 C � j K � � F K l Q;Wf � asmNd � mNa � j K t l0!�bUf C v bUf CJi F ��� �|C Iqm|b ( 6sm �� 8 C � j K x � F K ly6sf�m �|C m|d �mNa � j K l0!�bUf C v b0f Cpi F ��� �|C Iqm|b ( mNa � j K t � F K l Q

K���� � �������� � ������� ������� � ��

U��! � �>b C � f C v " g;A aOf g�� � Q T bUf C F ADC � F4v�8 F9F �|C g v � g b A m i2C a Q�� � )�- � - * �/. 3f1 +0 ��3 !�8nF � ��� C < ! 7 ��� 8 C�A U ! ��� Q U"U F U�W ! UE<`:rW Q

? m 4 C v g � m `A0g � f ? \ j 8 !a& l ! �qC b CEA � mNv Cd7F A C g;i f \ g^]! 0V C bUf CEA F A v�F bbUf C�AOCHC IqmVa'bUa g � g bUf F`d �NC v bUf F`v CF A � F ADC d A F � 4 C�A b C I \ bUF 4 CEA b C I ]" ��QO� ? m 4 C v,bUf C{g�� $ g`i2C v i ( � g b A m I � F`d g v ( � m 4AUg � f � \ j 4 !a& l !GbUf C � g b A mzIT mVa iEg���NC � bUf C b A0g v�aOm~bUm 4 CBi � F4a � AOC F;d � mNd � \ gn]# V$g� Z \ gk]`_m\ U m|dob0f C�ADC mVa g � g bUf F`d �NC v bUf F4v C F A � F ADC d A F � 4 CEA b C I m�bUF 4 C�A b C I $

\ ^ $&%(' �*) h \�+ �

Page 200: Data Structure and Algorithm by Y. Narahari

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

" g;A aDf g�� � � a g�� F A m~b0f � C v g 8 �|C apb0F i F ����� b C b0f C b AUg v�aDm|bUm 4 C�i � F4a � ADC F`d bUf Cg�� $ g`i2C v i ( � g b A m IPd g v ( � m `A0g � f Q " g;A aDf g��� � a g�� F A m|bUf � � ADC��xg b C a Z � F ( � � ag��� F A m|bUf � g v � aDm ��� �NC � a C a bUf C d7F �� F�6smVv d7F A � � � g mVvRbUf C � � g aDa C aF`d Z � F ( � � ag��� F A m|bUf � ?

��� Z%\ gk]`_ \ � �0|�q Z%\ g^]`_�� j � �0|�q Z%\ g _�� � �0|�q Z g^]`_ l6sf C�ADC b0f C � g b A m I C �NC � C v>bUa g;ADC b AOC g b C � g a�8 F9F �NC g v 4 g�� � C a ^ F A U g v � bUf Ca ( � 8�F � a�� g v � � �qC v�F;b C L � F m iEg�� F A M g v � L � F m i g��og v � M ADC a � C i bUm 4 C � (4Q � b{mVaC g a ( bUFha C�C bUf g b" g;A aDf g�� � � a g�� F A m~b0f � f g a g 6 F A a'b iEg a Csi F ��� �NC I�m~b ( F`d � j K x l6sf C�ADC v mVaHbUf C v ��� 8 CEA F`d 4 C�A bUm i2C a F;d bUf C `A0g � f Q

K���� NK�PSB� � ���� �T�W� ��� O �� Q � � � QB� � ���� � �W� ��� O

d T!v m ��� F A b g vGb 6 g ( F`d b AUg 4 C�A aOmNv ,g��� 4 C�A b0m i�C asF`d g � m 4AUg � f ! 6sm|bUf g ��� � m FiEg bUmVF`v�aHmVv � g v ( � A F:8 �NC � a Q

d c C b�� Z eG_r8 C bUf C g�� $ g`i2C v i ( � mNa b d7F A 4 C�A b C I e Q ; F � F g��qC � bUf � A a'b a C g;AOi fRF`dg�� � 4 C�A b0m i�C a C � g v g b0mNv d A F � e2!)6 C f g 4 C bUf C d F � � F�6smNv ADC i � A aOm 4 C a i f C � C ?

� � i � d7a j � � � ��� � 4 l]

� � � � � � hRr� g;A &E4 g a 4 mVaDm|b C � rQ � � C g`i f 4 CEA b C I 6 � c Z 4 _� d7a j 6 l

`

d ; F � F g � d7aHF4v,bUf C C vGbUm ADC � m 4AUg � f !�6 C � A a'b � v � g A & g��� 4 CEA bUm i2C a g v � � Fg � d7aWF4v g��� � v � g;A & C � 4 CEA bUm i2C a%?

Page 201: Data Structure and Algorithm by Y. Narahari

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

A B

C D

E

F

G

H

10

7

A

B

C D

E

F

G H

1

2

2

4

3

8 5

1

11

7

148

12

6

13

93

56

"�#&%!'�(G)�� + � � - � )H4�935�� (*B*9 BG)>2�(G@ 5 ��� 2 0 #A%!(32�4�5

Page 202: Data Structure and Algorithm by Y. Narahari

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

]Q � � e � V� g;A & e g a � v 4 mVaDm~b C � rQ � � e � V Q j e mNa � v 4 mNaOm~b C�� l� d a j eql5r

`

��� � � l � ��� � C�C Z m � ADC [ Q U,^ Q� %�� ����� ��d ; ADC�C T AOi aB?�� �og�� j ��l u�� j ��l �|C g�� mNv b0F � v 4 mNaOm~b C�� 4 CEA bUm i2C ad 7sF4v F ; ADC�C T AOi aB?

� 8 g`i & g;AOi aB?�� �og�� j ��l �� j ��l !�!mVa g v g v i�C a'bUF A� d F A 6 g;A�� g;AOi a%?� �og�� j ��l u�� j ��l0!��smVa g � A F � C�A��qC a i2C v �xg v>b� i�A F4aDa g;AOi aB? � � Q 7 C m~bUf CEAcg v i�C a'b0F A v�F A��qC a i�C v �xg vGb

P � � ��� � � � � i��on ��� � � � � ��� n

d c C 4 C�� 8 ( �NC 4 C�� b AUg 4 CEA a g��d T p � C � C �xg b g a'b A � i b � AOC mVa � a C��d ;Wf C{i F ��� �|C Iqm|b ( F;dP8 F;bUf @ Z$� g v � � ZC� mNa � j C l Q

� � � �� � � ���,� �� � ���� �� � � ����� % �f���H� � �������

� � i 8�d7a j eql ��� 4 mNaOm~bUa g��� 4 CEA bUm i2C a i F`v�v C i b C�� b0FkemNv 8 ADC g�� bUf F � A a'b d g aDf�mNF4v����

Page 203: Data Structure and Algorithm by Y. Narahari

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

14

1

1 2

3 3

54

4

2

7 8

6A

B C

D E

F

G H

6

7

8

59

10 11

12

13

"�#A%!'�(*)�� + � �!-�� (G)>2 0 9G5�� � (*B*9 BG)>2�(G@ 5 ����935�) 0 #A%!(32�4�5 #AD�"�#&%�'�(G)�� + �0�� � � ��� ��� g r� � � ��� ����� �� �� r]� g;A & Z e>_P\ 4 mVaDm|b C � rC v�p � C � C,j e2g l.r� n � � j v�F;b C ��� b ( l]�I \ d A F4v>b j l!r�qC p � C � C,j lsrQ � � j7C g`i f 4 CEA b C I g�� $ g;i�C v>b bUF � l

Q j � g;A & Z ( _ \ � v 4 mVaDm~b C � l]� g;A & Z ( _ \ 4 mVaDm~b C � rC v�p � C � C>j ( !� plsrmNv�a CEA b jDj������ l ��� l`

``

Page 204: Data Structure and Algorithm by Y. Narahari

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

A

C

ED

BC E

D

BA

Tree DAG but not a tree."�#A%!'�(*) � + � -�� ��2 � 4 �&)>B ��� 0 #A(G)>@ 93) 0 2�@ ��@ �&#A@ %!(32 4�5�B

v u

"�#A%!'�(*)�� + � � -/. @���@ �A) #&D 2 0 #&%!(G2�4�5

��� � � l � ����� C�C Z m ��qADC [ Q U"U Q����� ���� ���� � ������� ���� � � ������

��� m 4AUg�� f��sm|bUf�F � b g v � i ��i �|C a Q� � F ADC�4C v CEAUg�� bUf g v b AOC�C a� � C�C"! m ��qADC$# Q&%(' d F A aDF*) C C �xg ) � �NC a� &sa C d � � mVv+) g v � g���� � m i g b0mNF4v�a � a ��i f g a%;Q � C,��ADC a C v>bUmNv a � v>b g`i bUm i a'b A-��i b �qADC F`d g A m~bUf�) C bUm isC ����ADC aDaOmNF4v�a'�Q � C,��ADC a C v>bUmNv b g a & 4AUg�� f�a. Q % AOCEi2C��qC v i�C{ADC � g bUmVF`v�a mNv/) g v � a i f C ��� � mNv �g���� � m iEg bUmVF4v�a

0 � � ��� � � � �21 � �43 �*5 � � �� � 5687,9�: �<; = � m `A0g>� f mVa g`i ��i � m i m|d g v � F`v � � mNdom|bUa � A a'bca C g;AOi f � F C acv�F;bcf g@?GCBA g`iDC g�EOi a,F

Page 205: Data Structure and Algorithm by Y. Narahari

������� ; 7����� � � 7�� ; 7������ ����� 9 �����

��� ��

! m E a'b8��� ��E�� ? � b0f g bA g;i C g�EOi �"! i �qi � � F# ��b j%$&�"! ' l A � g4A g`iDC g�EOi F � f�mVa )(� g v�acbUf g b ' mVa g v g v i � a'b � E)� d+* F� f � a j,'.-�/0/1/0- * -2' l �sm � � A � g i ��i � �{mVv bUf3� � m *EUg�� f F7� � b8���{aDf � �TbUf g bi ��i � � �4! A g`i C g�EOi F

� �����5� a��76 819;: � :=<180:�F?> �A@ 9280B3� EDC : � :�<1� CE@ B�<F��GD* A �HGJI3� ? � E G�� � �K8FGJILGJI3�< � ���=9�GNMPO5Q $SR � �*)T�A@ GJI3�(: � :=<F�*F � �=� ! 81U ��E � # F % . FDVW�=: C � 9��(*7809 �E@XC : � :�<1� �GJI3� E �Y809 C ? � E G�� �Z$ 9 � :[IZG\I C GD] $^�"! *3_`819 CE@ �=B3UA�*F � 8 @ :��a*HI C 9`GJI3�a< � ����9bGMPOcQ $cR � �*);C ) �A@ U C <0< ? � E GJ80:d��9 �A@ GJI3� : � :�<1� �e$ ) � 9bG A � C�@ B3�=9�:d� @ B CE@ G �Ef * F

� 8gG: CE@h@e� G A � C G E �=� C>E :i928 @ :�� MPOcQ $cR � �*) ],*e_ � MbOcQ $SR � ��) ] $ _

� 8gG: CE@h@e� G A � C;f,� E � C�E B C>E : f,� E G\I3� 9 C )j� E � C 9 �A@� 8gG: CE@h@e� G A � C : E�� 929 C�E :i9�8 @ :��k* C�@ B $^C�E � �A@ GJI3� 9 C )j�i: � :�<1� F

7 � G��NG\I C GlGJI3� C�Am�(? �)G��=9bG f%��EC : � :�<081:=8gG � I C 9 � ��E 9bG�: C 9�� : � ) � <1� � 8FG � � ] � _ F

0 � � �on p �cq � � �Sr �� � � � � � ��s� �5� < � Ut80: C <"9 ��E GN809 C2��E�� :��=929 �EfWC 9�928FU @ 8 @ U C <08 @ � C�Eu� E B3� E 8 @ UvG � GJI3� ? � E GJ80:d��9�EfmC"� =uwx9 � GJI C GW8 f GJI3� E �`819 CE@jC�E : f EJ� ) ? � E G�� �;y G � ? � E GJ� �kz�� GJI3� @DysC���� � C>E 9A � f,� E � z 8 @ GJI3�k<08 @ � C�El� E B3� E 8 @ U

� &K9�� f � <{8 @ 9�:\I3��B � <18 @ U C���� <081: C GJ8 �A@ 9

� �| � �}q�� �S~ > �A@ 9280B3� E G\I3� � =uw 8 @ ! 81U ��E � # F %d� F = G ���m� < � Ut80: C <�9 � E G�809UA8 ? � @ A � ~ V � = � � � > �c� F � I3� E �.: � � <0B A �a92� ? � EJC <{G � �5� < � Ut80: C <�9 � E GJ9 f,� EC Ut8 ? � @ � =uw

� �s���m� < � Ut80: C <+9 � E G;: CE@ A �H� C 9280< �}C :�: � ) � <08092I3�=B A � 928 ) � < � 8 @ :�< � Be8 @ U CE@C BeBe8FGJ8 �A@�C <"9bG C G�� )j� @ GK8 @ GJI3��B3� � GJI�� E 9bG)92� C�E :[I ��E�� :d�=B ��E � �Ef G\I3�.Ut8 ? � @U E\C>� I F

Page 206: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 �����

A

B

C

D

E

�������� ���� ��������������������� �������� � "!$#�&%'#��(#� �#���&@)� �B*#��*%� # ��G @ � ) A � E,+ ? � E G�� �.- A �uGJI3� @ � ) A � E GJI C G ��� C 9�928FU @ 8 @ G � �5� < � Ut80: C <e9 � E G@F/ � � 9�� C Ut< � ASC <�8 @ G���UA� E ?�C�E 8 C�A <F�)Q � �KI � 9��k8 @ 8gG\8 C < ?�C < � � 80910�� E�� F

! � @ � 243� � 65 G � � 9 � E GY] ? � E GJ� ��? _ 3

��� C 929�8FU @ 9 @ � ) A � E 9 G � ? � E G\81:��=9 C :=:d��92928 A <F� f EJ� ) ? 8 @E � ? � E 9��NG � �m� < � Ut81: C < � E B3� E ���

? � E G�� � � 37) C�E C8+ ?9-4� ? 80928FG��=B 31 � � ] � : # + ?.- _

1 ] ) C�E C;+ � -"�k� �e@�? 81928FG���Bc_G � � 9 � E G.] �N_ 3

@ � ) A � E<+ ?9- � @>= %?

� � Ie819�G���:\I @ 8A@ � � � � E C 9 A ��: C � 9�� C � =uw I C 9 @e� ASC : CHC�E :=9,F> �A@ 9281B3� E �KI C GI C���� � @ 9 �KI3� @ G\I3� � ! � <F� C@? �=9 C ? � E G�� � � f,� E GJI3� < C 9bG�GJ8 )j�*F� I3� �A@ < �ZC>E :�9�� ) CE@�C GJ8 @ U f E�� ) * C�E �iG E ��� ��f,� E � C�E B �3CE@ BZ: E�� 929 C>E :�9,F V � G C <1<GJI3�=92� C�E :�9 C�E �YBe8 E ��: G���BHG � � C�E Be9 ? � E G\81:��=9lGJI C GKI C@? � A ��� @ : � ) � <F��G��=< �2? 80928gGJ�=BA � GJI3�Y9�� C�E :[I C�@ BHGJI3� E � f%��E � ��E �=:d��B3� � 8 @ GJI3� ��E B3� E8A ��8 @ Uj: �A@ 9bG ED� : G���B F

Page 207: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 �����

A AB B

C CD D

A Digraph G Strong Components of G�.������* ���� ������� %���#!D�� @ #�� �(#!D� HD�%3B8#!�� ������������

0 � � � � � � � � ! r�� � � q � ! ��! � �� � � � CE� � F � � 9 C�EJC���� F & @�����A <18092I3��B F %�� # 9 F� � � � � A � E G � F � C�E��2C�@ F � � � GJI � E 9bG�9�� C�E :[I C�@ B <08 @ � C>E U EJC�� I C <FU � E 8FGJI�)v9,F

��� 0 3 ������������� ��� �!��"$#%��&(')�+* �-,W� < � )j� % �/. � ) A � E ' � ��� F %d�1032 %�0 2 �%4� # ' F

� = 9bG E��A@ UA< � : �A@e@ ��: G���B : � ) �5�A@ � @ G �EfYC Be81U EJC�� I 809 C ) C � 8 ) C <�9���G �Ef? � E GJ80:d��9�8 @ �KIe80:[ILGJI3� E �Z809 C �SC GJI f E�� ) CE@ �L�A@ � ? � E G�� � G �&C�@ � � GJI3� E? � E G�� � 8 @ GJI3�k9���G@F !e� EKC�@ � �eC ) � <F� � 92��� ! 81U ��E � # F %65 F

� # ��GD6 � ]87 -�9 _ A � C Be81U EJC�� I F / �T: CE@ �SC�E GJ8FGJ8 �A@ 7 8 @ G � ��@ � 8 ?�C <1� @ :d�:�< C 9�9��=9-7+: - % � y � ) � 9 � :[IjGJI C G ? � E GJ80:d��9�* C�@ B ' C>E ���@ � 8 ?�C <1� @ GW8 f GJI3� E �819 C �SC G\I f EJ� ) *vG �;' CE@ B C �SC GJI f E�� ) ' G � * F# ��G 9 : - % � y � ) ��A �kGJI3� 9���G ��f C�E :=9 �K8FGJIhI3� C B C�@ BHG C 80< A5� GJIZ8 @ 7+:�F� I3� @ GJI3�kU EJC�� Ie9Y];7<: -�9 : _ C�E �k: C <0<1�=B G\I3� 9bG E��A@ UD: � ) �m�A@ � @ GJ9 �Ef 6 F= Be8FU EJC�� I �K8FGJI �A@ < � �E@ �X9�G E��A@ U?: � ) �5�A@ � @ Gh809Z9 C 81B G � A � 9bG EJ�E@ Ut< �: �A@e@ �=:dG��=B F

��� � � GJI 2 � E 9bG 2 9�� C�E :[IY: C�@ A � � 92�=B.G � �>= :�81� @ GJ< � B3��G�� E )j8 @ ��GJI3��9�G E��A@ Uu: � ) 2�5�A@ � @ GJ9 �EfsC Be81U E\C>� I F

� � � 9 C�EJC����@? 9 ] %4� #�A _ C <1U � E 8gG\I�) f,� E � @ Be8 @ Ui9bG EJ�E@ UN: � ) �m�E@ � @ GJ9 8 @;C U E\C>� I ~

% FCB � E2f%��E ) C � ! � �Ef w CE@ B @ � ) A � E GJI3� ? � E GJ81:��=9l8 @H� E B3� E��Ef : � ) � <1� 2G\8 �A@h��f GJI3� E �=: ��E 928 ? �i: C <0<09,F

Page 208: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 ����

A B

CD

A

B

D

CG

DFS of G

After Step 1.

�������� ���� ������� %' )� � �&D %'�� B %'�*#!D�� @)#���� #�D� >D�%3B;� ��#��*� %'���' F > �A@ 9bG E-� : G C @ � � Be8 E �=: GJ�=B U EJC�� I 6�� A� E � ? � E 928 @ UvG\I3�aBe8 E ��: GJ8 �A@ �Ef� ? � E �HC�E :i8 @ 6 F

. FCB � E2f%��E ) C�� ! � �A@ 6 � 9bG C�E G\8 @ U(GJI3�a9�� C�E :[I f EJ� ) GJI3�aIe8FUtI3�=9�G @ � ) 2A � E �=B ? � E G�� �}C :=: � E Be8 @ UZG � G\I3� @ � ) A � E 8 @ U C 929281U @ �=B C G;9bGJ� � % F�� fG\I3� � ! � B � �=9 @e� G E � C :[I C <0< ? � E G\81:��=9 � 9bG C>E G�GJI3� @ � � G � ! � f E�� ) GJI3�Ie81UtI3�=9bG @ � ) A � E �=B E � ) C 8 @ 8 @ U ? � E GJ� � F

� F �WC :[IZG E ���Y8 @ GJI3� E ��9 � <FGJ8 @ Uv9 �SCE@e@ 8 @ U f,� E �=9bG)819 C 9bG E��A@ U : � ) �5�A@ � @ G�Ef 6 F

� |�� q� ������ ��� ! 81U ��E �=9 # F %�0 CE@ B # F % #

�����������������>9 � � ��� :�� 9 �"!$#�� � � ;2�&%��! 8 E 9bG ���i92I � � ~ � f * CE@ B ' C�E � ? � E GJ80:d��9 8 @ GJI3�N9 C )j�u9bG EJ�E@ U�: � ) �m�A@ � @ G �GJI3� @ GJI3� �+A ��< �A@ U�G � GJI3�k9 C )j�i9 �SCE@e@ 8 @ UDG E �=�k8 @ GJI3�('*),+ �Ef 6�� F* CE@ B ' 8 @ GJI3�k9 C )j�N9�G E��A@ U(: � ) �m�A@ � @ G

�"! -(C �SC GJIh8 @ 6 f E�� ) ? G � � CE@ Bf EJ� ) � G � ?

�"! -(C �SC GJIh8 @ 6 f E�� ) � G � ?hCE@ Bf E�� ) ? G � �

Page 209: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 ��� �

A B

CD C

B

A D1

2

3

4

GrDFS of Gr

�������� ���� ������� %' )�� �&D %'�� B %'�*#!D�� @)#���� #�D� >D�%3B;� ��#��*� %'���# ��G � 9Y9 C � 8 @ GJI3� '*) + �Ef 6 � ���j9bG C�E G C GY9 � )j� � CE@ B E � C :[I * ��EY' F� 8 @ :��uG\I3� E �N819 C �SC GJI f E�� ) *DG �;' CE@ B ? 80:d� ? � E 9 C � * CE@ B ' �K81<0<5� @ B ���8 @ GJI3� 9 C )j�i9 �SCE@e@ 8 @ UDG E �=�v]%I C@? 8 @ U E�� � G � _ F

� .K� � �l�Y92I � � ~ � f * CE@ B ' C�E �Y8 @ GJI3�.9 C )(�Y9 �SCE@e@ 8 @ UjG E �=� 8 @ GJI3� '*),+��f 6 � � GJI3� @�� GJI3� �HC�E �k8 @ GJI3�k9 C )j�k9bG E��A@ UD: � ) �m�A@ � @ G �Ef 6 F# ��G

� A �iG\I3� E�� � G �Ef G\I3� 9 �SCE@e@ 8 @ UDG E �=�k: �A@ G C 8 @ 8 @ U�* CE@ B ' F

�"! *�819 C B3�=92:�� @ B CE@ G �Ef ��"! -(C �SC GJIh8 @ 6 � f E�� ) � G � ?�"! -(C �SC GJIh8 @ 6 f E�� ) ? G � �

� @ GJI3� '*) + �Ef 6�� � ? � E G�� � * � C 9k9bGJ80<1< �e@�? 81928FG���B �KI3� @ GJI3� '*) + C G �� C 9�8 @ 8FGJ8 C GJ�=B ]%9�8 @ :�� � 819�GJI3� E�� � G _

�"! � � I C 9 C Ie81UtI3� E`@ � ) A � E GJI CE@ *]%928 @ :d� '*) + �Ef 6 � 9bG C�E GJ9 f EJ� ) Ie81UtI3�=9bG @ � ) A � E �=BX] E �@) C 8 @ 8 @ U _ ? � E G�� � _ /

�"! � @ GJI3�('*),+ �Ef 6 � GJI3� E ��: ��E 928 ? �i: C <1< C G`*vG�� E )v8 @�C G���B A � f,� E �NGJI3�E �=: ��E 928 ? �i: C <0< C G � Be81B FK]%B � �kG � GJI3� @ � ) A � E 8 @ U;B �A@ �k8 @ 9bGJ� � % _

$�� �] # F %�0 _

=

Page 210: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 ��� �

���=: ��E 928 ? �k: C <1< C G`*vG�� E )v8 @�C G���9 A � f,� E �NGJI C G �Ef � 8 @ 6 ] # F % # _

� @ GJI3�('*),+ �Ef 6 � GJI3� E � C>E �NG � � �m� 9�928 A 80<08gGJ81�=9 F

% _ � � C�E :[I �Ef * � :=: ��E 9 A � f,� E � � ] # F % A _' _ � � C�E :[I �Ef � � :=: ��E 9 A � f%��E �i* ] # F %�� _

] % _ - ] . _ �"! '*) + �Ef *�F F F 8 @�?�� C �=9 '*) + �Ef � ASC : C G � * /�"! 9�� C�E :[I C G � � �*� <1Bh9bG C�E G CE@ BH� @ B A � f,� E �NGJI3� 9�� C�E :[IH9bG C>E GJ9 C G`* � @ Be9 /�"! E �=: ��E 928 ? �N: C <1< C G`*vG�� E )v8 @�C G���9 C�f G�� E GJI3� : C <1< C G � : �A@ G EJC Be81:dGJ9 ] ' _ /

�"! 9�� C�E :[I �Ef � � :�: ��E 9 A � f,� E �i* /] � _ - ] ' _ �"! *�819 ? 81928FG���BHB ��E 8 @ U;G\I3�k9�� C�E :[I ��f � /

�"! *�819�B3��92:d� @ B C�@ G ��f � /�"! -HC �SC GJI f E�� ) � G � * /�"! � CE@ BH* C�E �k8 @ GJI3� 9 C )j�i9bG E��A@ U(: � ) �m�A@ � @ G /

������������� � - � CE@ B ' C�E �k8 @ G\I3�k9 C )(�k9�G E��A@ UD: � ) �m�E@ � @ G /�"! � 8 )v80< C�E < � � * CE@ B ' C�E �k8 @ GJI3� 9 C )j�i9bG E��A@ UD: � ) �m�A@ � @ G /

����� ��� �������$ ��������� ��

% F =u< f E ��B , =uI � �! A� I @�� F!" � � : E��Ef G �SC�@ B �$# E � �/� % <1< ) C�@ F'& ��&;� � &(����(*)&)�<�,+.- ���0/�1� * ����'�&32 "4- F =)BeBe809 �A@ 2'/ ��92<1�*576 %4� A . F

' F�wN80<1<1�=9^V EJC 929 C�E B CE@ B B C98 <�V E\C G\<F�$5*F : �<�0/ ��";+ � &;���<- �>=?1$� * ����'�&32 " '@(*- FB E � @ GJ81:�� 2 " C <0<@6 %�� ��0 F � @ Be8 CE@ � Be8FGJ8 �E@ �A8�A <18092I3�=B A 5 B E � @ GJ80:d�B" C <0< �Ef� @ Be8 C 6 %���� A F

. FDC`I � ) C 9E"$FS> � E )j� @ 6�>�I C�E <1�=9 � F # ��8192� E 9 �A@ 6 CE@ B �u�A@�C <0B # F �`8 ? �=9bG@F � ��)&)� �F/��A( &(' ��� &;�G1� * ����'�&32 "4- FHC`I3� � �IC � <F��: G E 80: C < �+@ Ut8 @ �=� E 8 @ U CE@ B7> � ) 2�A8 G�� EKJ :�81� @ :�� J � E 81�=9L6 %�� � 2 F � @ Be8 C�@Z� Be8FGJ8 �A@ �A8�A <18092I3�=BZ8 @ %������ F

� F ��C�E C =)<1<1� @ / �=80929,F�& ��&;� � &(� ��( &(���,+M- ���N/�1$� * ��� ' &O2 " 1/�����<P - 'O- ')�RQ�S�S FV+� @���C )j8 @ 2 > 8 )2)j8 @ Ut9$6 %�� ��� F � @ Be8 C�@Z� Be8FGJ8 �A@ �A8�A <18092I3�=BZ8 @ %���� A F

5 F =u< f E ��B , =)I � 6 A� I @7� FT" ��� : EJ��f G�6 CE@ B �$# E �$5 � % <0< ) CE@ FVU 2W+ & +M- ' *��

Page 211: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 ��� �

���0/41/�����<P - 'O- �>= Q!��"$#%� & + � 1$� * ����'�&32 "4- 6�=uBeBe809 �A@ 2 / �=92<1�*5 6 %�� # � F0 F J�C>E\C V CAC 9�� CE@ B =)<0<F� @ ,WCE@ wN�=<0B3� E F Q!��"$#%� & + �D1$� * ����'�&32 "4- � � � &(� ��/���( &(' ���& � & +M- ' *�� ���0/ 1/�����<P9- 'O- F =)BeBe819 �E@ 2 / ��92<F�$576C`Ie8 E B � Be8gG\8 �A@ 6 ' 2 2 2 F�� @ Be8 CE@� Be8gGJ8 �A@��A8�A <08192I3��B A 5 Bs� C�E 9 �A@h� B 8 : C GJ8 �A@ =)928 C 6 ' 2 2 2 F

# F �`81:[I C�E B VW�=<0< ) CE@ F�& P�����" '@(�� � � * � ��" " '(�<* F B E 8 @ :��dG �A@�%u@ 8 ? � E 928gG 5B E ��929$6%4�15 # F

A F�wN80<1<1�=9sV EJC 929 C>E B C�@ B B C8 < V EJC GJ<F�$5*F 1$� *�����'�&32 " '�(M- � U 2W+ ���.P ���0/�� ��� ( &('@(.+ FB E � @ GJ81:�� 2 " C <0<@6 %�� A A F

� F � <1<0819�" � E�� �K8FG 06 J�C�E G C 0 J�C I @ 8@6 C�@ B � C���C 9�� C C>E\C�@ F : �<�0/ ��";+ � &;���<- �>=�Q!��"�)#%��& + � 1$� * ����'�&32 "4- F / F<"$F !�E ���@) CE@;CE@ Bj> � ) �SCE@ 576 %�� � A F�� @ Be8 CE@;� Be8gG\8 �A@�A8�A <18092I3�=B A 5 w C <FU � GJ8 C B 8�A <180: C GJ8 �A@ 9$6 ' 2 2 2 F

% 2 F � 8�E G � �=Ie<0I ��EJ@ F�� � ��#!2 1$� *�����'�&32 "4- ���N/��� )*Q!��"$# � +�&�+ �N+M- - F ,W� < 8 )j� '��f & ��&;� � &(���A( &(���,+M- ���0/41$� * ��� ' &O2 "�- 6 J ��E 8 @ UA� E 2 , � E < C UA6 %�� A � F

%*% F � � A � E G J ��B3UE�,�K81: C F 1$� *�����'�&32 "4- F =uBeBe809 �A@ 2 / �=92<1�*5 6 J ��: �A@ B � Be8FGJ8 �A@ 6%4� A�A F

%(' F . 80: C < C98 9 / 8 E GJI FH& ��&;� � &)����( &)�<�,+.- S 1$� * ����'�&32 "4-��� ��� *�� ��"4- F B E � @ GJ81:�� 2" C <0< 6 �+@ Ut<F�,� � � BZ>�<08 #m9,F %�� # 5 F

% . F �`81:[I C�E BhVW�=<0< ) CE@ F� @hC EJ�8 G\8 @ U ��E�� A <1� ) F�� �����4&�+ �4�<P �>=K1 # # � '�+,/�� ��&O2�)+�" ��&)'�(M- F ,+� < 8 )(� %�0 6 . 8 ) A � E % 6 ��� F A #�� � 2 6 %��15 A F

%d� F � F / F � 8 ��C 9bG E\C F+= @e� G�� �E@ G � �/��E�� A <F�@)v9i8 @ : �A@e@ �=:dGJ8 �A@ �K8FGJI&U EJC�� Ie9,F��<";+ � '3-*(*2W+�� ��&32W+�" ��&)'�� 6 ,+� < 8 )j� % 6 ��� '�0�� 2 ' # % 6 %4�15�� F

%65 F tC : CD� B�) �A@ Be9,FCB C G\Ie9$6AG E ���=9L6 CE@ B�� � ��� E 9,F Q!����� /�' ����� ���<� � ���%�>=�� ��&O2�)+�" ��&)'�(M- 6 ,W� < 8 )j� % # 6 ��� �A�1�32 �10 # 6 %���015 F

%�0 F � � A � E G / ! < � 5�B F =)<1U � E 8FGJI�) � # ] J I � E G��=9�G/B C GJIc_ F Q!��" " �<� '@( ��&(' ���A- �>=&O2W+ 1 Q�� 6 ,W� < 8 )j� 5 6 .K8 ) A � E 0 6 ��� F . � 5 6 %���0 ' F

% # F A� I @(� " � � : E��Ef G C�@ B � � A � E G � FC C�E���CE@ F � =v:=8F� @ G C <1U ��E 8gGJI�)v9 f,� E U EJC�� I) CE@ 8 �A8 < C GJ8 �A@ F Q!��" " ��� '�( ��&(' ���A- �>= &32W+ 1 Q�� 6 ,W� < 8 )j� %�0 6 .K8 ) A � E 0��� F . # '62 . #�A 6 %�� # . F

Page 212: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 �����

% A F � � A � E G � F C C�E��2C�@ F � � � GJI � E 9bG�9�� C�E :[I C�@ B <08 @ � C>E U EJC�� I C <FU � E 8FGJI�)v9,F��� 1 � � ���<� � ���<����Q!��"$#%� &)'(�<* 6 ,W� < 8 )j� % 6 . 8 ) A � E ' 6 ��� F %d�10 2 %40 2 6 %�� # ' F

%�� F J G�� � I3� @ / C�E 9�I C <0< F = GJI3� � E � ) �A@ Am� � <F� CE@ ) C G E 80:d��9,F � �����������-�>= &32W+1 Q�� 6 ,W� < 8 )j� � 6 . 8 ) A � E % 6 ��� F % %�2 %(' 6 %���0 ' F

����� �����E��� �� �

�� ��� �� B*������ � �������� � �#! � ������ H@ %� )� ��'����� 8� %'� D� )��� %'��� ��� ������%� )��� >B !$#��� 8���&@ ��"����� B*%'�����aB � ���#��� %���� ����# ���@ >B9�&D�@ #����* >@ %.��D�B� > )�GB ��� ��� ��#� HBGD�� % %'�� ���*#�#!�#!��"����� B*%��'���aB� ���#��*� %���� ��# %'���*#����� 8�� >D D� ��� %'�!�� "�# > )���� %; ���� >B ��* � � #$ > )�&%

� � ��� ���D �������� � # !"� !$#���=D�# �� ���� �� >@�%' � ��'����' 8� %�� B�#��� 7D� )��� %'�!�� ��� ������%� )���� >B!$#�( 8���&@ �)�"����� B*%��'���aB � ���#��� %���� ����# ���@ >B �AD�@)#���� H@ % ��D�B* �GB � � &B*#�+ ����� ���D ��� � �� # !�� !$#��� D�# �� �����* >@ %� )����������, 8� %��7B�#��� D� )��� %'�!�� ��� ������%8 ���� >B8!$#��- 8���&@ �.�"����� B*%��'���aB� ���#��*� %���� � � �/�,B8���*#����@) HBC@ #����* >@ % ��D�B� > )�GB �10 D )� %'�� �8@���B* 2+3�*�B %'� !4�5��#���;��D�B� > )�)�

���76����� ���&D ��#8 %'# � # ��� !4�5�"����� B*%'�����aB8� ���#��� %���� B�# %'��� %8� ! %'�� )�� �AB � #��* %'����D #�D� � �AD��!�� �� �<� %'� !$��#�� B�#��G@ %'# � �� >B %'�&D�� %'� #!D5�� �*%� ��9+�%'�� >D�� �<� %'�5 8� %'� %��� !$ : > >B %8D ��<;( )�# !� ���� >B8�AB @ ��#!B� HD �

��� � ����(#!B� "%��<� % �AD ������ � � HD %��&D��=�"����� B %'�'�>� B B*��#�� %' >B %;�<� %'��� ���#��*� %����.+ #!D� �B� HB8��D��@?(A%��� �'� %��� )� %��<��D �1�<�� %'��� � !��#����� �� � %��� !$#��"�� ���� HB� HD %��&D���%'�� CB2D3EGF2H�I�JLK8M�N # ! D�#�D>�B*� H@)��� O� )� %'�&@ >B �P� �<� %Q 8�� � R;( %��� . >#��GB %7@�� B� @ #�� �� � ���� %S� #! %'�� ,� ��#���� %'��� � ! ��D� �T����@) HD�@:� ��&B % �� ���� HB� HD %'� %'� #!D �&B �B* )� !$#�� %'�� ������������U%V� #�� ��W��#RB %'�� ���* !$ � %��� ����*%�� � �� #��*�� )�* )� %��� � � �� � )�� >D�%'� %'� #!DU%

� �R� ��� ������ >D � ��� �� >@�%' � ��������WXZY\[^]`_ba<c #�de 8����f � )�2f � )���� �[hg@_ji�clkma �<�2n �2d�3njn�#of)��� %' ���� �� <p�[qgr_bi>c"+s 8���tf � �tn � �* �� ud ��l; � ��d %'�� ���2d��� wvyxzp�[hg@_ji�c�xL� %��<� %�* )���* {n* {d�%bn %��� �* ) � �2;�� �� %S� # ! �=f #�� � �d��tf)� %'� #�d�f �<�2d�d� ) (!$��#��|� )�*%� ��Qg1%'#L�� �*%' �}i ��� ��d�%' )�*���� �%~p�[hgr_bi>c"�2n"%'�� ����*#�;<�2;�� �� %S� %��<� % %'�� �f ���2d�d� !$�*#���g %'# i. 8� � ud�# % ! ��� ^+ �2d�� > �3njn��� %'�<� % %'�� :n� ����#�;<�3;��� � %'� {n � �� ��d��� � :d��� {d�%)�� ���� �2d ���f)�� :d�% � ��#���� %'��� %'#� d�� %��� � #2n*%8�� ����2;� � �<� %��.;( %S > ) :d %S >#Q�� �*%��tf) :n)�

���R� ��� %' � ���*#����'� � %�# � d�� %'�� #�d��� :n*% �<� %'�,�td � �����* {f %� )� �2f��of) ���f �������� �O� �<� % �tn %��� f #����� � ��� %S� # !�%'�� � ���#��*� %����}%

� �7�" :njf ���t;( �1� � %��� )� � %'��f�� ��#��� ) !$#�� %��� !$#� �#8 8�td���njf �� )��� �td�� ����#�;� )� �7 �!�� {d %'�2nj��n�r�"_j�9�/_/�{�/�{_j�G�>+> 8����f � �� {� �� �� %����� O�b��_j���8_/�/�/��_j�S� %'#<f #�� �� � %� 2+��2d�� �<n* % # !rf)#�d�n %'����td�%bn:+ )�2f � # ! %'�� !$#��*�����}H���K�N���M,J��TH�G�tM�NSMjB��G�"I��T�wN��.N4�&M�K�N#F2�"NL���7�9�#+ � d�� %'�� ���td�� � ��%����� =d� {f) :njn����� %�#}f)#����� %' � � %'�� % �2n��on �3njn��� ��d��1�d� ����� %� )��d ��l; �"#! ����#of) :njn*#��jn%�#w; �/� ��� ��2;� � �

Page 213: Data Structure and Algorithm by Y. Narahari

������� ; 7����� ��F� 7�� ; 7������ ����� 9 ���[�

���O0Sd � �� ��%'�o� � ��n*% n* ����f �1#! � �����* {f %� )�1��'����5X Y [^]`_�alc�+ �� � d� � [qi>c �2n>%��� %����� {n % ���� 8�� {d,i �tn � �tn�� %' � !$#�� %'�� � �jn % %'� � �2d����u[qi>c4%'�� ;%'���� {n % ����Q 8�� {d1%'�� n� )��jf � � d��tn*�� {n ���� ��d��td�� %'�� ��$���2f) :d�f:�� �tn*%&#!�i �%����#8 %'�<� %;�3d ���� Q[qgr_bi>c-k�a ��n[ ��c � %��� ���� #��&!$#��* &��*� ���� � !.�2d�� #�d� ��1� ! ��� g��� �� i���� � � i���� � � g�� �[h;Uc��w;��2f�� )��� � !4�3d���#�d� �� � ! �� i���� �� g������ � g���� � � i��A�[hf8c��wf ��#�n�n ���� � !��2d���#�d� ��1� ! �� i���� � � i���� �� g����� � g�� �

���;�7d�6 � � ���9#��� # ! �}f)#�d�d� {f %� )��+ ������ :f %� )� �������� X Y [�] _�a<c8�tn"�}f��of) � %'�<� % %'���8� )��n� {n )�2f � )���� #!�X ����2f�%' !� #�d�f 2+ � %'��#������� % � �/�5� �tn*� %;�<�� �*%' � � #��* "%'�<�3d #2d�f) �[ ��c/����#8 %��<� % X �<�2n �2dm6 � )�1%�#���1� ! �2d�� #�d� !� � !���� ����� p ��� [qi>cyY �Tg&� ����� p ��� [hi>c

� i}k ] �[h;Uc �" {njf ����; �3d! 5[ � c � ���#��� %���� %'# � d�� �2d 6 � � � %'#��� #!@X � ! #2d� " �����n*%bn:+� 8�� )�* � ��n

%'�� ~d ��<;( )�8#!. )��� {n)��8v��7�" :n�� ��d��2d :��f)� {d�% � ���#��� %���� %'# �� %� )�*� ��d� ( 8�� %��� )� � ����� {d.�;�O��tn8� %'�� ��[��7A �%1=Y [h?l+�6 c�; 8�"��� ���'� ��� �u�" � d� 8� �� � %���#�d#" #�d�?mn��f ��%��<� %`g$(i � ! �2d�� #�d� !� � !9g

�3d��<i ��� #�d �(f #���� #�d}[qd�# %ud� :f) {n�n'��*�� !�ln*������ � /c@f:�of � �&% ��#8�� &%��<� %'" �tn��2d {� ��!�� � {d�f) �* ) �� %'� #�d1#�d ? �

���)( �����+*��-,<� � .�/0* 1 ���2.�*+/�� 34/65 �

798;:<8>= ? � q� �&� �A@CB &B�DFEG@HEJILKMDONQPLR�BTS LUVRXW rJEGS�D;B�Y�� Z[R\D]@ r_^`D]@ -STacb � �q�R'@ 5 ^`D>@�E �dD � �egf �Af �R

� �� 8#�;��* {f %���� #!(%'���tn �2njn*����d�� :d % ��n4%'#Lf)#����<��* &%'�� 8�( )� !$#���� �2d�f #!�;���d<��*� �� )���n>�2d��w;��td�#3���� � 9� � )� :n"�td�� � �� )�� {d�%'��d�� %'�� ih)jlknm\o pih>q\r�sut�pvhxwnq�suyFpzh>y�{}|�y)w~|�o m�q�s�j y)w�� #!2� � �����x���n� +& 8���tf �f #�� ���%' :n %'�� Qf)#�n %bn �2d�� �<� %���n #! %��� }n���#��*%� {n*%<f)#�n % �<� %���n !$��#� �.n�#����f) 5� )� %' �� %'# ��� ���#%��� )�O�� �*%' � ��d � ��2;( ) � � ������������. 8� %'�yd�#�d>�Sd� )��� %���� L > )� ����%bn)��� #%� %��<� % %��� �>�>d��� ��f=n* %][�`� �tn ������ )�� {d�%' � �n��td���;��td<��*�1�� )���n;#�� ;���d�#���� � G� � )� :n)�? @sq4f�B(rJS �q4Y� �� ���'���� %'�<� %��tn4��d����%.%'# %��� � ��#��*� %'��� �tn� � %��� )��%�����#���� �(n*������ � %' ��% � � &#���tn.�� {d� )�'� %' )����2d���#��� ���u0Sd�%'�� � ��n*%Of��2n* 2+ �2n�n���� %'�� ��d����%8%'#w;( �td1%'�� !$# � �#8 8��d�� !$#��*� � %)�

� A ��d� ~���'� ��<; � #!�� )� %'�tf {n8�td %��� ���'����� A ��d� ���<��#���jf) � )� %' ��C[ �2d ��d %� )�� �u;( %S > ) {d!� �2d���� +� 8�� )�* <�1�tn�%��� d ��<;( )�4# !G� )� %'�tf {n� A ��d� ��� A �tn*% #! � � �� )����� %' Rd� ������;(#����n #!��;#��� i� 8� %�� %��� > )���� %jn&#�d �3njn�#of)��� %' � ���f{n� A ��d� ����A �tn % # !8����� ��� � %� wd� )� ����; #���jn #! ? �*%� �� �. 8� %'� %'�� 5 > )� ����%bn #2d �2njn*#>f � � %� )�� �jf{n

Page 214: Data Structure and Algorithm by Y. Narahari

�������������� ��� ��� � ��� ���6�}������� �2v�v

� M�NSJ������0Sd�%'�� ~n* {f)#2d��.f)�2n� 3+<%'# �� {d� )�'� %' �����2d���#� ��� ���'�����+<�2n�n���� %'���* ) �td����%bn)�����;��<;( )� #!@�� �*%��tf) :n{+��� �;�O�� �'��� �� ���� # !4��d�# �� ����";�2d�� #! [$�td�%' �� )�bc1 ������%jn;%�#�;( �'�2d���#��� �� �� {d� �'� %� )��!$#��&%'�� ������ :f %� )� ��jf:n

� ��# #�n* �3d � ������#������� %' �<� % ��n*%����f�%'��* !$#��&%��� ���'� ��� �� Y &B�DFR`B\E�� � 5 EG@ ���0 ���� � � :d�%@�"������n*%��'��� n9� ���#��� %����C+��n���d��O;��td<� ���"�� ����n��2d�� �n���d��O;��td�#� ��� 3� � � {n ���,�2� 1n*��� %�#;�n� %'�� n*%'�2d��<��*� � ���'�/� ��� % �Rn*%����f�%'��* !$#�� ;��td<��*� �� )���n.�2d�� �2d ���f)�� :d�%/+ ������*#�������� %' �<� % �n %'���f %'��� !$#��~;��td�#�� ��� @� � )� :n}[ !$#�� �������� � 3+ �# #�� � % %'�� w;(#�#��.;�� � �3dy� �tnjnbc�� �&%�%� )����%%�# ��# � % ��d �! " ;��% � �tn � tn*# ��# #�� {d�#���� � �7n1�n*<� �+ n*� :f)��� f)��� .n���#�� �� ;( % �3� {d%�#)n*%����f�%'��* ���#��1���*#����'� � �2f{f #�������d�� %�#W;( {n*% ���'�3f %'��f) :n1�td n�#! %S ��� , {d�����d� ) ����d���� �n* #!��# # � �2;�n*%'���2f %���#�d�n{+�n*� � �*% � ���#��� %�����n{+ ���tn�f)� �� ���d� �tdef)# ���td���+���#of)��� {d�%'� %'� #�d�+9����#8� �tn*��#�d !$#�� ��f )��%���#�d�n[ !$#�� �������� 2+�d� ��� %����� > )� ����%bn`n���#� ��w;( �� %� {f %� )� ����� ��� � %� ) !�# )�*��#���n �td �td����%n*��#�� �C;( %$ ���� )� �2n'� �&#< %jf� c��

�<#��&%'�� ��d����%8��'���� �2d�� %��� ~n�#����f) ~�� �*%' �9+(�����td�% %��� !$#� � #$ 8��d����� n*��#�� %' {n %Of)#�n % ��� %'��%'# ��3f �.�� �*%� �� �2d���%'�� Lf #�n*%;#!9%'���tn n���#��*%� {n*% �<� %��� 6��� {f �%'� #�d�%'���� {n #!�%��� ����#���'�� 8� %'� ;���d<��*�1�� )���n �2d�� ;��td�#�� ��� G� � )� :n� �9#%'� rd ��<; � #! �� ��� #� �'� %���#�d�n; ��� :f)�%� )�� 8� %��y;��td�������� )���n �3d��y;���d�#���� � �� � � {n[ %'����n �td�f ���� {n)� ����#�;( {n:+&n� ���n{+( ���d�� %'�'�/� )�jn�� tn:+< %jf� c

798;:<8 n ' B\S�EC@ r�� E�� q EC@ ��@CB\R

(&)+*-,-)+*-.0/212354�*-.�674�8%9�4�*;:<*=15/>4�?A@B.�)DC�:<*E,-)+.�3F@�9 GH)+/>@�*I)+8%9�4�3515@�*J1�9-3F@�6715)+6K@�LM9-3F4�N LD:<8PORQS4�TIG-@<C�:/215T-,-)+:<,VU!4�/F@�3F@XW2TZY[/P@�LD.�4�3F)D15G-8\?]4�3P15G-)+/�9 T;3F9�4�/5:�O�^_G;:K35:B@�35:`4�15G;:K3a@�LD.�4�3b)D15G-8"/c@<C�@�)+L+@�NdLD:e)f*V15G-:L+)D12:K3F@�15T-35:>?g4�3h,;:K12:K3b8")+*-)+*-.i15G;:"/512354�*;.P674�8%9�4�*;:<*J15/KO"jk@�*JlB4�?m15G;:%3F:K?g:K35:<* 67:</hL+)+/212:K3A:<@�3FLf)D:K3h6K@�*`N�:674�*-/5T-L+12:<,h?]4�3n15G )+/KOpoq8%9 L+:<8%:<*=1U!4�/5@�3F@XW5TrY[/&@�*-,�@�1nLD:<@�/514�*;:�4�15G;:K3s@�LD.�4�3F)+15G-8t?]4�3n,-:K12:K3F8")+*-)f*;.�/212354�*-.674�8%9�4�*;:<*J15/_@�*-,a674�8%9d@�35:h15G;:!9�:K35?]4�3F8"@�*-67:!4�?&15G;:!1vum4�@�LD.�4�3F)D15G 8"/KO

Page 215: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

(���� � ��� 3 � 3�� / .z5-. �+/��

��� � !#"%$'&�()+*-,'.0/21435/7698:*<; 8 ;>=-?A@CBD?EBF@HG5*<6I?J=<KMLNBD?�OA69,PBF8�RQ *-;>@TS *-?EBVU>1 N U>WN/ @CB 6XK !YQZ$ S ( =<?[B]\ 8 6IL-*<^IBF;NOA^ 5 ! S $_QC( 6X8J*<;0B]@C`aB<b C .CBB]@C`aB !YQZ$ S ( 6X8J69;>,D69@CB];2O 8 Gc=a;TOA.CBdLNBD?�Oe6X,DB]8 Q *-;>@0S�b�gfih U B�Y 698j*k8�B]\ 8 B];>,PBJ=<KZLaB]?�OA69,PBF8 Q2lA$_Q-mP$Fn]nFnP$_Qpo 6 8 8 ,'.�Oe.q*pO !YQprs$EQtrvuZlw( 6X8x*<;B]@C`aByKz=-?|{|}i~+����b f h U B�Y 698 RTDY� h4� /�6IK�*-^9^5LaB]?�OA69,PBF8�=a;H6vOJ*-?EBy@>698�OA69;>,�O 6B��C,DBDGCO�G�=a8E8E6X�q^ 5 Q2l *-;>@ Qto b C .CB�G5*tOA.7.q*<8�^XB];C`<OA.�����{�*<;>@7,D=a;>;CB],POA8 Q�l*-;>@ Qpo b�gf `a?A*-Gq.T698JW EG@4@ /2W B /21 6IK�BDLaB]? 5 G5*<6I?[=<K�LNBD?�OA69,PBF8�698J,D=a;>;CBF,�O_BF@�b�gf R\f%� 3 S U h Y ���>� !�"|��$�&|��( =-K�*k`<?e*tGq. � � !�"%$�&�( 6X8�*k`a?A*-Gq.�8 8 ,'.�OA.q*tO{-b " �c� "� b & � ,]=a;NOe*<69;>8�8E=a��BdB]@C`aB]8 !z�M$_QC( =<K & 8 8 ,'.�Oe.q*pOJ��=-OA. � *-;>@ Q *-?EBk69;"|�

 �K &d� ,]=<;2Oe*<6X;>8¡U �Y� B]@C`aBF8 !Y��$EQ>(:¢�& KY=<?:£¡.>69,'. ��$EQR¢�"d�¥¤ OA.CB�8E¦C�>`a?A*-Gq.�y� 698J,]*<^9^IBF@T*<; D>@ 1 f WN/21 RTf%� 3 S U h Y b�gf W EG@4@ /�W B /21§W EZ� h EG@ / @CB =<K>*y`a?A*-Gq.�6X8¨*<;�6X;>@>¦>,DB]@�8E¦C�>`a?A*-Gq.V£¡.>6X,'.�698,D=a;>;CB],PO_B]@7*<;>@�£¡.>6X,'.�6X8+;>=-O�*�G>?_=<GcBD?�8E¦C�>`a?A*-Gq.�=-K©*<;2ª�=-OA.CBD?�,]=<;>;CBF,�O_BF@8E¦C�>`a?A*-Gq.�=<K � ! 6sb«Bab ¤ �7*p�C69�7*<^5,D=a;>;CBF,�O_BF@T69;>@>¦>,PBF@08_¦C�>`<?e*tGq. ( b

¬ v\�

Page 216: Data Structure and Algorithm by Y. Narahari

��������������&����m������� � ��� � �6�}������� ¬ v ¬

e

b

d

f

c

aa b

c d

A Graph GA Subgraph of G

(not induced)

Induced Subgraph(but not connected )

(connected graphwith cycles )

a b c d

A Free Tree

b

c

d

f

aAn Unconnected Subgraph

Another Free Tree

���� �������� ���`6�����������{n��� ! �d#"�����:f%$��&"'���(����)#*

�gf R\Dz� h4� /�W a W � /�6X8+*|8E69��Gq^IB�G5*tOA.�=<K�^IBF;C`-Oe.,+.- ¤ OA.q*tO+,D=a;>;CB],POA8%*dLaB]?�O_BP�OA=�6IOA8�BF^IK b�gf `a?A*-Gq.T698JW a W � D W�6IK46IOJ,]=a;NOe*<69;>8 *tO:^IB *<8�O:=<;CB ! 8E69��Gq^XB ( ,�ªC,D^XB<b�gf I S /2/ B\S /2/H698:* ,]=a;>;CB],�OAB]@ ¤ *<,�ªC,D^96X,�`a?A*-Gq.�b�0/ �q8�BD?ELaBdOe.q*pO{-b¨)jLNB]?�ªHK ?EB]BdO_?EBDBd£¡6IOA.T��LaB]?�OA69,PBF8�,]=<;2Oe*<6X;>8�B��q*<,�OA^Iª7�0� {dBF@C`aB]8� b¨ #K�£�B�*<@>@ *<;NªHB]@C`aB|Oe=�*�KY?EBDB|OA?EBDB ¤ £�Bk`aBPO¡*�,�ª ,]^IBab

�01 BDB3246X`N¦C?EB54Cb�{�KY=<?[8EBPLNBD?A*<^�BP�>*<��Gq^IBF8Db

Page 217: Data Structure and Algorithm by Y. Narahari

��������������&����m������� � ��� � �6�}������� ¬����

b a

e

c

f gd

a

b

d

e

c

f

g

� �� #� � ��� ¬ ��� �&��$�)��� � * $�* � ���� ) �� ���' �#"# ���� $(�%" �������#)����� � 3�� 5�� �������A5 �"!$# %&�(')�*#,+(� �-�����.+ �/')�*��01�

1 BDB32¨6I`N¦C?EB54Cb � KY=<?:*-;0BP�>*<��Gq^IBab f 8E8E¦>��BdOA.CB|KY=a^9^X= £¡69;C` *<@32�*<,PB];>,Pª�^X698�OA8]b4 �������65 7`��8J:9 ���z�

� ;=<?>@A> "?> �CB< ; �D> "E> �CB ; �D># F>��GB" ; �D>@<E> �CB� ; �D>@<E> "HB ;=A> �GB� ;=A># IB

�KJ 2 1 =<K�*<;0¦>;>@>6I?EBF,�O_BF@�`a?A*-Gq.06X;2L2=<^ILNB]8�=<;>^Iª7Ow£ =�Owª GcB]8J=<K¨*-?_,D8Db{-b�L�?_BDB�*-?_,]8Db� b:M�*<,�N�*t?A,D8 ! OA.CB]?EBk6X8J;>=�@>6X8�OA6X;>,POA69=<;��ZBDO £ BDBF;��5*<,�N�*-?_,D8J*<;>@0KY=<?�£[*-?_@*-?_,]8 (

�PO ?_=a8E8�*-?_,]8�*<^98E= @>=a;RQ O�B��C698�O��ZBF,]*<¦>8�BR`N6ILaBF; *<;Nª Ow£ =�LNBD?�OA69,PBF8 ¤ 6XKyOA.CBD?EBB��C698�OA8�*-;T*t?A,:�cBPOw£�BDBF;�OA.CB]� ¤ OA.CB];H=a;CBd=<K OA.CB]� £¡69^X^5�ZB|*<;�*<;>,PBF8�OA=<?�*<;>@

Page 218: Data Structure and Algorithm by Y. Narahari

��������������&����m������� � ��� � �6�}������� ¬����

b a

e

c

f gd

a

b d e c

f g

BFS

�!��� #� ����� � ��� ���&��"�$�)��� � * $ *��&��� ) �� ���� �#"# ���� $(�%" �������#)

OA.CB�=-OA.CBD?�*�@CBF8E,PBF;>@q*-;2O�6X;�Oe.CB J 2 1 b LJ.�¦>8�*<^9^ *-?_,D8MOe.q*pO4£[=a¦>^X@�.q*FLNB��cBDBF;,P?_=a8E8�*-?_,]8�69;�OA.CB J 2 1 =-K�*�@>6I`a?A*-Gq.�£ =a¦>^9@��cB],]=a��B¡O_?EB]By*-?_,D8�6X;�OA.CB�,]*<8�B=-K¨*<;0¦>;>@>6I?EBF,�O_BF@�`a?A*-Gq.�b

������� ^ � /2U>1�������� ��� � � /2U � W������ f�� 1�� � /2W �F/�1 3 � U h �!#" U � h4� /%$ 1 BDB3246X`N¦C?EB54Cb -Cb

f 8E8E¦>��BdOA.CBV*<@32�*<,PBF;>,�ª�^96X8�Oe8'&

4 �������65 7`� 8 9 � �z�

� ; <?>@�> "E> �CB< ; �D>#"?> ��B ; �D>� F> �GB" ; �D> <?> ��B� ; �D> <?> "@B ; �> �GB� ; �># B

���)( * ��!$�,+ -.+ /1032 � + ��� �*!$!$��!54 6 �(')'��

7�BDO � � !�"%$�&�( �cB�*�,D=a;>;CBF,�O_BF@�`a?A*-Gq.�6X;�£¡.>69,'.�BF*<,'.�BF@C`aB !Y�M$_QC(�¢�& .q*<8�*<;*<8E8E=�,]69*tO_BF@�,]=<8�O98 !Y��$EQC( b

Page 219: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬����

1

3

2 4

5 6

1

3

2 4

5 6

1

3

2 4

5 6

1

3

2 4

5 6

65

2

6

3

51

5

46

5

5

4

6

3

1

5

46

5 1

24

5

3

A connected graph. A spanning tree with cost = 23

Another spanning tree with cost 21MST, cost = 15

� �� #� ����� � � � � ��� �� �#� $(� �&�%* �'� %��� �#� %$(�%" �������#)

�gf !�h U ��� � � 3 " � /�/ Kz=-? � 6987* 8E¦C�>`a?A*-Gq. =<K � OA.q*tO76vO7698�* K ?EB]B O_?EBDB,D=a;>;CB],POA6X;C`0*-^9^�LNBD?EOA6X,DB]8d69; " b LJ.CB�,]=a8�OV=<K+*T8�G5*<;>;>69;C`HO_?EB]B�698�OA.CB 8E¦>�=-K4,]=<8�OA8[=<; 6IOA8 B]@C`aB]8]b�gf ;$# ! " =<K � 6X8:*�8�G5*<;>;>6X;C`�O_?EB]Bk=-K � .q*FL 69;C`�*���69;>69� ¦>� ,]=<8�OFb�01 BDB3246X`N¦C?EB54Cb&%�KY=<?[8EBPLNBD?A*<^�BP�>*<��Gq^IBF8Db

���('��� # ! " ) � � h / � ��*1 ¦CG>Gc=a8�B � � !#"%$'&�( 6X8y*�,]=<;>;CBF,�O_BF@0`<?e*tGq.T£¡6IOA. ,D=a8�OA8J@CB�+5;CB]@R=a;g*<^X^-, ¢ & b7�BDO/. �ZB�8E=a��B�G>?A=-GcBD?J8E¦C�q8EBPO¡=<K " b �K !z�M$_QC( 6X8J*<;0B]@C`aBV=<K¨^X= £�B]8�O[,]=<8�OJ8_¦>,e.0Oe.q*pO ��¢ . *<;>@ Q�¢§" �0. ¤ OA.CBF;

OA.CBD?_B|B��C698�OA8J*<;21 1 L OA.q*tO:6X;>,]^X¦>@CBF8 !z�M$_QC( *<8:*<;0B]@C`aB<b 1 B]B3246X`a¦C?_B54 b 5 b

Page 220: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬����

lowest cost edge

u v

U V-U

���� #��� � � � ��� �' ��� #* $��(� $�������� �� ��� �#� ��� �%� $��

U V - U

u

u’

v

v’

���� #��� � � � � ���#* $��� $(���� �� � �� �#������ *�� �A� �# ��� $����%�

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

1 ¦CG>Gc=a8�B�OA= OA.CB ,D=a;NO_?e*t?Eª�OA.q*tO�OA.CB]?EB 6X80;>= 1 1 L KY=<?HOe.CB�`a?A*-Gq. � £¡.>69,'.6X;>,]^X¦>@CBF8�OA.CBkB]@C`aB !Y��$EQ>( b7�BDO�� �cB�*<;Nª 1 1 L =<K � b Mxª�=a¦C?�*<8E8E¦>��GCOA69=a; ¤ � @>=2BF8V;>=-OV,D=a;2Oe*<6X; !Y��$EQC( bf @>@>69;C` !z�M$_QC( OA=�� £¡69^9^�6X;2O_?_= @>¦>,PBV*�,�ª ,]^IB�8E6X;>,DB�� 698:* KY?EBDBVO_?EBDBab LJ.>698J,�ª ,]^IB6X;2L2=<^ILNB]8 !Y��$EQC( b LJ.CBD?EB]KY=<?EB�OA.CB]?EB�698V*�G5*pOe.§K ?_=a� Q Oe= � OA.q*tOV@>=2B]8V;>=tOkG5*<8E8OA.C?_=a¦C`N.HOe.>6X8[BF@C`<Bab LJ.>698J��BF*<;>8�OA.q*tO��0*<;>=tOe.CBD?[B]@C`aB !z�q�9$_QN��( 69;�� 8E¦>,'.0OA.q*tO� � ¢ . *<;>@ Q � ¢§" � .�b 1 BDB3246X`N¦C?EB54Cb �CbJ B]^XBPOA69;C`�B]@C`aB !Y� � $EQ � ( �>?_BF* N 8�OA.CB|,�ª ,]^IBk*<;>@�ª 6XB]^9@>8�*�8�G5*<;>;>69;C`�O_?EB]B!� � £¡.>=a8�B,D=a8�OT698�,DBD?�O'*-69;>^Iª } OA.q*tOT=<K"� 8E69;>,PB 8 !z�M$_QC( } 8 !Y�q�X$_QN��( b LJ.�¦>8H£�B�.q* LaB,D=a;>8�O_?A¦>,�O_BF@T*<;21 1 L OA.q*tO[69;>,D^9¦>@CB]8 !z�M$_QC( bL4=H69^X^9¦>8�O_?e*pOAB ¤ ,D=a;>8E69@CBD?:Oe.CB�`<?e*tGq.6X;0246I`N¦C?EB 4Cb$#�*-;>@?EBDKYBD?yOA=,246X`N¦C?EB]8 4Cb 4

Page 221: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬����

65

6 4

4

6

5

3

1

5

2

65

2

3

1

���� #������� � � � � � �#� ���#� � ���(� �#) ��� �@�#"# �#� ��� � � �

65

6 4

1

3

42

5 6

5

� �� #� ����� � � � * � ��� �� �#� $(� �&�� � $�)#� ��< ����� ���(���#)E>��� $()�%��* $ ¬ �*<;>@ 4Cb�� b O =a;>8E69@CBD? OA.CBk8�BDOA8'&

. � � { $ � $ 5" �0. � � - $ % $ �� n

1 G5*<;>;>6X;C`�OA?EBDBy£¡6vOe.7,D=a8�O � � �Cb �y= £ ¤ ^IB *<8�O ,]=<8�O�B]@C`aB�K ?_=a� . OA= " � . 698! { ¤ - ( bM%ª�6X;>,]^X¦>@>69;C` ! { ¤ - ( 69;�OA.CBd*-��= LNB¡8�G5*<;>;>69;C`�OA?EBDB ¤ *�,Pª ,D^XB:£¡69^9^qKY=<?_� ! KY=<?+B��q*-���Gq^IB ¤ {�� � �%-��'{ ( b 7©BPO¡¦>8[?EB]Gq^9*<,DBdOA.CB|B]@C`aB ! � ¤ - ( ��ª7OA.CBkB]@C`aB ! { ¤ - ( bLJ.>698 .q*<8 ªC6IBF^X@CBF@0* 1 L £¡6IOA.0,D=a8�O � �a�

� !�� � f 8�BDO�=<K B]@C`aB]8 L 6X;H*�,D=a;>;CB],PO_B]@�`a?A*-Gq.�G>?_=a��6X8_6X;C`k6XK©6IO�,]*<;��ZB�B�� O_B];>@CBF@OA= G>?_= @>¦>,PBV*���6X;>69�7*-^Z8�G5*<;>;>6X;C`�O_?EB]B|KY=<?�Oe.CB|`<?e*tGq.�b� M%ªR@CB +5;>6IOA69=<; ¤ � � � 6X8�*<^v£J*Fª 8JG>?A=<��698E69;C`�8E69;>,PB *�£�BF6I`N.2O_B]@R,]=<;>;CBF,�O_BF@`<?e*tGq.0*<^v£J*Fª 8 .q*<8:*pO:^XBF*<8�OJ=a;CB 1 1 Lkb

Page 222: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬�� �

65

1

6 4

1

3

42

5 6

� �� #� � ��������� �#��$�)#�&��* � ��� �# �#� $(� �&��>@<� �$ �� $()�%��* $ ¬'¬

e

f in S

UV - U���� ���������� � ��� � �� #* $(�(� $(������� � � ��� �&� ���

�gf ^98E= ¤ 6XK4*�G>?_=a��698E69;C`�8EBPO =<KMB]@C`aB]8 L 698 *�8EG5*-;>;>69;C`�O_?EB]B ¤ OA.CBF;�6IO � ¦>8�O��ZB*-; 1 1 Lkb

J BDK & f ;�B]@C`aB¡698x8_*<6X@�OA= � /2U�c/�*k`N6ILNB];�8EBPO�=<K�;>= @CB]8+6XK�B��>*<,POA^vª =a;CBJB];>@�=<KcOA.>698B]@C`aBk698J6X;TOA.CBk8�BDOFb

# ! " �/ � � U & 7©BPO

��� � !#"%$'&�( �cBk£ B]6X`a.2O_B]@�,D=a;>;CB],PO_B]@0`a?A*-Gq.� . � " *�8�O_?_69,�OJ8E¦C�q8�BDO¡=-K4;>= @CB]8J69; �� � � & *�G>?_=a��6X8_6X;C`�8�BPOJ=<K©B]@C`aBF8�69;T) 8_¦>,e.HOA.q*tO ;>=�BF@C`<B|69; L ^XBF* LaBF8��� B *�^IB *<8�O:,D=a8�OJB]@C`aB|OA.q*tOJ^IB *FLNB]8��

LJ.CB];�OA.CBV8�BDO¡=<KMBF@C`aB]8 ��� � ��� � , �698[G>?_=a��698E69;C`qb

Page 223: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬�� �

) � � �%�1 6X;>,DB L 698�G>?_=a��6X8_6X;C` ¤ 6IOH,]*<; �cBgBP� O_BF;>@CB]@�OA= =<�COe*<69;�*<; 1 1 L ¤ 8_* ª 8 1 b� �K, ¢ ��¤ OA.CBD?EBk698[;>=-OA.>6X;C`�OA= G>?A= LNB<b

 �K , ¢ ��¤ OA.CBF;£ B�*<@>@�BF@C`aB B�OA= 1c¤ £�B�,P?EB *pOAB�B��>*<,POA^vªg=a;CB�,Pª ,D^XB ! 8_6X;>,DB 16X8J*�8�G5*<;>;>6X;C`�OA?EBDB ( bj  ;TOA.>6X8[,Pª ,D^XB ¤ 8_6X;>,DBkBk^IB *FLNB]8 � OA.CB]?EB|B��>6X8�Oe8[*tOJ^IB *<8�O:=<;CB=-OA.CBD?JBF@C`<B ¤ Kj8_*Fª ¤ Oe.q*pOd*-^98E=�^XBF*FLNB]8 � ! =-OA.CB]?�£¡698�B|OA.CB�,�ª ,]^IB�,D=a¦>^9@R;>=-Oy,D^9=a8�B ( b1 BDB32¨6I`N¦C?EB54Cb¥{��Cb

 �KM£�Bk;>= £ ?EBF��= LNB¡K ¤ OA.CBk,�ªC,D^XBk@>6X8_*-G>GcBF*-?_8[*<;>@�£ Bk=<�COe*<6X;�*�;CBP£ O_?EB]B�� OA.q*tO8�G5*<;>8 ��b

�y=tOABdOA.q*tO�� � !�� � � , ( � ��

f ^98E=�;>=tOABJOA.q*tO+£�BF6I`N.NO+=<K , } £�BF6I`N.NO�=<K K�8E69;>,PByBy698�*�^XBF*<8�O�,]=<8�O�B]@C`aBy^XBF*FLC6X;C`��bLJ.CBD?_BDKY=<?EB� 698�*<^98E=y*<; 1 1 L�*<;>@�6IO�6X;>,]^X¦>@CBF84B]@C`aB�Bab 2>¦C?�Oe.CBD?_��=<?EB � � �

*<;>@78E=�,]*<;��ZB�B�� O_B];>@CBF@�OA=kOe.CB 1 1 L��Vb.LJ. ¦>8 L 6X8�*VG>?A=<��698E69;C`k8�BPO�=<K�BF@C`aB]8Db

���('�� � ) � � � � ��� � 3�� � � ��� �LJ.>6X8y*-^X`N=<?_6vOe.>� 6X8y@>6I?EBF,�OA^Iª��5*<8�BF@g=a;0OA.CB 1 1 L G>?_=<GcBD?�Owªab f 8E8E¦>��BkOA.q*tO " �� { $ � $Fn]nFn'$ � �b

� !�� � �kb O b��%?_69�Rb 1 .>=<?�O_BF8�O�,D=a;>;CBF,�OA69=a; ;CBPOw£ =<? N 8k*-;>@ 8E=a��B�`aB];CB]?A*<^X6��F*tOA69=a;>8Db����������� �"!#�"$ %&�('*),+�-.'0/1�325476980+3/1� ¤9: =a^X¦>��B -�� ¤ G>G©bJ{ - 4 ���e{ %;�q{ ¤ { �;<�#�b

�L � �>=� � � { =? ��� � / ! . @� "�(�^XBPO !Y�M$_QC( �ZBVOA.CBk^9= £�BF8�O[,]=a8�OJB]@C`aB8E¦>,'.TOA.q*tO �¢ . *<;>@ QH¢§" �0. =

Page 224: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

� � ��� �C!Y��$EQC( . � . � � Q

�01 BDB3246X`N¦C?EB54Cb�{a{yKz=-?:*<;TB��>*<��Gq^XB<b����! � m ( *<^X`a=<?_6IOA.>�Rb

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

" ��/ � � / � $ �%?_6X� Q 8�*<^X`a=<?_6IOA.>� +5;>@>8:* ��69;>6X��¦>� 8�G5*<;>;>69;C` O_?_BDB<b

) � � �%��$ 7©BPO � � !�: ¤ ) ( �cB*�£�BF6I`N.NOAB]@ ¤ ,D=a;>;CBF,�O_BF@ `a?A*-Gq.�b 7©BPO L �ZB0OA.CBB]@C`aBk8�BDOJOA.q*tOJ698 `a?_= £¡;�69; �%?_69� Q 8�*<^X`N=-?A6vOA.>�Rb)LJ.CB|G>?_= =<K�698[�2ª��7*tOA.CBF��*tOA69,]*<^6X;>@>¦>,POA69=<;T=a;�Oe.CBk;�¦>���cBD?[=<KMBF@C`aB]8J69; L *<;>@ ¦>8E6X;C`�OA.CB 1 1 L 7©B]���7*Cb

� U � � � $�LJ.CB�BF��GCOwª�8EBPO � 6X8�G>?_=a��6X8E69;C`T8_6X;>,DB�*R,]=a;>;CB],�OAB]@ ¤ £�BF6I`N.2O_B]@§`a?A*-Gq.*<^v£J*Fª 8�.q*-8:*tO:^XBF*<8�O:=a;CB 1 1 Lkb

� � 1� �W � ��� � ! � / h $ f 8E8E¦>��B�OA.q*tO L 698dG>?_=a��6X8E69;C` 2�¦>8�OV�ZB]KY=<?EB�OA.CB�*<^I`N=<?_6IOA.>�*<@>@>8 *g;CBP£ BF@C`<B�B � ! ¦ ¤ L ( b 7©BPO � �cBHOe.CB�8�BPO�=<KJ;>=�@CBF8�`a?_= £¡; 69; �%?_69� Q 8*<^I`N=<?_6IOA.>�Rb LJ.CBF;0*<^9^ZOA.C?EBDB|,]=<;>@>6IOA69=a;>8�69;7OA.CB 1 1 L 7©B]���7*�*-?EB|8_*tOA698+qBF@T*<;>@OA.CBD?_BDKY=<?EB$L � BV698:*<^X8E=�G>?_=a��6X8E69;C`qb� .CB]; Oe.CB�*<^X`a=<?_6IOA.>� 8�OA=<Gq8 ¤ � 69;>,D^9¦>@CB]8y*-^9^©LaB]?�OA69,PBF8:=<K4OA.CB�`<?e*tGq.g*<;>@g.CBF;>,PBL 698:* 8EG5*-;>;>69;C` OA?EBDBab 1 69;>,PB L 698:*<^X8E=�G>?_=a��6X8E69;C` ¤ 6IO[£¡6X^9^��cB�* 1 1 Lkb

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

�¡8EB|O £[=�*-?E?A*FªC8 ¤ W � � � / � ��*<;>@ � � ? W1� � �ab� 2>=<? ~ ¢ " �0. ¤ ,]^X=a8�BF8�O�� ~���`N6vLNB]8�OA.CBkLaB]?�O_BP�H69; . OA.q*tOJ6X8J,]^X=a8�BF8�O[OA= ~� 2>=<? ~ ¢ " �0. ¤ ^9= £[,D=a8�O�� ~�� `a6ILNB]8�OA.CBV,]=<8�OJ=<K�OA.CB|BF@C`aB ! ~ ¤ ,]^X=a8�BF8�O ! ~ (E(

Page 225: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

1

2 4

3

5 6

1

2 4

3

5 6

1

2 4

3

5 6

1

2 4

3

5 6

1

2 4

3

5 6

1

2 4

3

5 6

56

15

5

6

23

1 1

4

1

4 2

1

42

51

5

3 4 2

Iteration 1. U = {1} Iteration 2. U = {1,3}Iteration 3. U = {1,3,6}

Iteration 4. U = {1,3,6,4} Iteration 5. U = {1,3,6,4,2}

���� ���������� ����� � �� #* $(�(� $(������� �� � ���� *�� ������� $�)#�

65

6 4

4

6

5

3

1

5

2

65

2

3

1

�!��� #� ������� ¬ � � ��� �#� ���#� � ���(� �#)' ��� ���� #* $��(� $� �#��� ������ *����������� $�)#�

Page 226: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � ¬

�gf O B *-,'.08�O_B]G ¤ £�Bk,F*-;08E,F*-;0^9= £ ,]=<8�O�OA= +5;>@HOA.CBdLNB]?�O_B���69; " � . OA.q*tOJ6X8,D^9=<8EB]8�O�Oe= .�b*LJ.CB];�£�Bd¦CG�@q*pOAB�^9= £ ,]=a8�O�*-;>@�,D^9=<8EB]8�O�O'*3N 6X;C`�69;NOA=�*<,D,]=<¦>;2OOA.CBk;CBP£ *<@>@>6vOe6X=a;�OA=$.�b�PO =<��Gq^XB��>6vOwª& ��! � m (

!#" U � h4� /%$ O =<;>8_6X@CB]?�Oe.CBk@>6I`a?A*-Gq.�8_.>= £¡; 6X; 246X`a¦C?_B54 b¥{ � b� $��&� �

����� ��� ������� ¬ �I��� ��� � � � �%����* �&* $ �����1&��* $

���� �¬ � �� � �� � �� � �� � �

1 B]^XB],PO[LaB]?�O_BP� -�OA=�6X;>,]^X¦>@CBk69; .� $(�&� ¬

����� � �I� � ������� ¬ � ��� � � � �%����* �&* $ �����1&��* $

���� �¬ � �� � �� � �� � �

� ��� *��&� �� $ ���&� $(� � �

� $��&� ������ � �I��� � � �������� ¬�� ��� � � � �&� ��*��%* $ ����� %��* $

���� �¬ � �� � ¬� � �� � � *��%���� $ ���&� $(� � � > ���#"�*�� ���

���('�� ' � � ��� U � � � � � 3�� � ��� � �� !�� � � b M¡b��d?_¦>8CNt*<^sb / ; OA.CB78E.>=<?�OAB]8�O�8�G5*<;>;>6X;C`g8_¦C�CO_?EBDB7=<KJ* `a?A*-Gq. *<;>@ OA.CB

O_?A*FLNB]^969;C` 8_*<^IBF8E�7*-;TG>?_=<�q^XB]�Rb�� 8 4 ' �(���7-�+��7� 4! ! ) �#"�$ �"8 -.'(/7+%$ /1! ) �"$ /1!'&-.'(/1� � 4 '"-#��! � ¤ : =a^9¦>��B # ¤ G>G©b�% 4�� <7� ¤ { �;< �Cb

�PO =<��Gq^XB��>6vOwªk6X8 ��! ,M^9=<` , ( £¡.CBD?EB ,J698¨Oe.CB[; ¦>���cBD?¨=<KZBF@C`aB]8Db O *-; �ZBJ�7*<@CBBPLNB];0��=-?_B�B�(�,]6IBF;NO[�2ª0* G>?_=<GZB]?J,e.>=a69,PBk=<K¨@q*tOe*�8�OA?_¦>,�OA¦C?_B]8Db� ��?EB]B]@ ªT*<^I`N=<?_6IOA.>��gf ^X`N=-?A6vOA.>� &

Page 227: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

7�BDO � � !#"%$'&�( �ZB|Oe.CBk`N6vLNB];T`a?A*-Gq. ¤ £¡6vOe.�� " � � ��1 Oe*-?�O £¡6vOA.0* `a?A*-Gq. � � !�"%$���( ,]=a;>8E6X8�OA6X;C`�=<K�=a;>^Iª7OA.CBLNB]?�OA69,PB]8 =<K � *<;>@T;>=�B]@C`aBF8 =���� LJ.>6X8[,]*<;T�ZBVL 6XBP£ B]@T*<8[�,]=<;>;CBF,�O_BF@ ,D=a��Gc=a;CB];2OA8 ¤ B *-,'.TLNBD?�OAB��T�cB]69;C`�=a;CBV,]=a;>;CB],�OAB]@ ,D=a��Gc= �

;CB];NO ���f ?_?A*<;C`<Bk)�6X;TOA.CBk=<?_@CB]?J=-K469;>,P?EB *<8E6X;C`�,D=a8�OA8 =� � � ! ~ � { $ ~x}i�0� { $ ~��� (

� 1 B]^XB],�OJOe.CBk;CB�� O¡8_��*<^9^IBF8�O ,]=a8�OJB]@C`aB =� � ! Oe.CB|B]@C`aBV,D=a;>;CBF,�OA8�Ow£ = @>6�cB]?EB];2O:,D=a;>;CB],PO_B]@0,D=a��Gc=a;CBF;NOA8 (*<@>@�OA.CBkBF@C`<BkOA= � =

�gf O:OA.CB�B];>@�=-K�OA.CB�*-^X`N=<?_6vOe.>� ¤ £ BV£¡69^9^©�cB�^IB]K¥O¡£¡6IOA.g*�8E69;C`N^IB�,D=a��Gc=a;CBF;NOOA.q*tO%,D=a��G>?_698�B]8%*<^X^ OA.CB[LNBD?EOA6X,DB]8%*-;>@ OA.>698%,]=a��G�=a;CB];2O¨£¡6X^9^ �ZB¡*<; 1 1 L KY=<?��b

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

" ��/ � � / � $ �|?_¦>8CNt*<^ Q 8J*<^I`N=<?_6IOA.>� +5;>@>8y* ��6X;>69� ¦>� 8�G5*<;>;>6X;C` O_?EBDBab

) � � �%��$ 7�BDO � � � :�¤���� �����0£������! �"#�%$ ¤�&('*)+) � & "#��$,�*-��/.0 21 72�(" L ���"� 3���%$3�*�546�7"8"� 0�9"8�:4;�*- ' £ ) � ) �<-_¦+4 N9�/= Q>4?��=@� ' -��A"� >�B1KLC 3�5.+- 'D'/E �:4��2ª�F�9"� 3�F�G�H"I� & �/=+� ) $>¦ & "I� '*)J'�) "� 3� ) ¦>�����(- '/E ��$3����4C� ) LK1

L �M�N46 ' £O"I 0�H"P� E LO�:4Q.+- ' �F�:46� ) �R�9"P� ) ªS4T"U�9�*� '/E "� 3�V��=@� ' -#��"� >� ¤ "� 3� )��"W�:4X4T"��:=@=Y.+- ' �Z�:46� ) ��£[ 3� ) � ) �P£ �%$3�*�\�:4W��$+$3�%$]" ' ��"W� ) �<-_¦+4 N9�/= Q>4��=@� ' -��A"� >�

L �^ 3� ) "� 3�]��=@� ' -#��"� >� "#�%-_�F� ) �9"#��4 ¤ ��"7£[�@=:=_ 0�/.+.�� ) "� 0�9" L �!��`!�%4��4 ' =9¦a"�� '*) " ' "� 3�K.+- ' �0=@�]� � ) $b 3� )+& �c� ) 1 1 LK1

Page 228: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

��� � � � $�� � � �:4[.+- ' �F�:46� ) �F46� )+& �8��£V�%�@�* �"#�%$ &('*)+) � & "#�%$B�*-��/.0 �/=I£N� ªa4 0�/4C�9"_=�� ��4T" '�) � 1 1 LK1

� ��� �� � � � � ! ����� $ 7 �7",L ���W.+- ' �F�:46� ) � 2�¦+4T":��� E ' -6�S��$+$+� ) �Z� ) �P£ ��$3���, � � ���3� 1 LC 3� �%$3�*�%4 L $+�A`3�@$3� "� 3� )+' $3�%4 '�E � � ) " ' '*) � ' -T� ' -6�&('*)+) � & "#�%$ &%' �Z. '*) � ) "I4(1[¦ � ) $b`0£[�@=:=©���;� ) " £ ' $+����%-6� ) " &(' �Z. '�) � ) "�4%172�(" � ����"I 3�N46�7" '/E�)+' $3��4 � ) "� 3� &(' �Z. '�) � ) " "� 0�9" � )+& =X¦+$3��4�¦21 � ' "#��"� 0�9"

L � �@4_�\4T"#-#� & "C4E¦C�04 �(" '�E :L L �@4Z� .+- ' �F�@4#� ) � 4 �7" '�E ��$3����4 4_¦ & "� 0�9" )+' ��$3���B� ) L =@��� `*��4 �� 46� )+& �c� ) �%$3�*� L �%��"� 3�(-[ 0��4J� ' "� b� ) $+4R� ) � ' -[ 0��4 ) �%��"� 3�%-C� ) $ � )� �

L �B�:4Z�M=�� �/4 " &(' 4T"F�%$3�*�J"� 0�9"Z=@��� `*��4 � � 4#� )+& ���<-A¦+4CN9��= Q>4 ��=@� ' -#��"� >� ¤���%� ) �O�*-6�(��$ ª ¤ £ ' ¦+=:$ 0��`!� & ' 4 � ) � '*) =Iª � E "#�%-����0�-�F� ) � ) � �%$3�*�%44# ' -6"#�(-�"� 0� ) � �

LC 3�<�-� ' `!�_"� 3-6�%� &%'*) $+�A"�� '*) 4��/-6� .+-6� & �@4 ��=vªF=@� N*� � ) "� 3� 1 1 L 72�F���F�c� ) $ 3� )+& �V£�� & � )B&('*)+& =9¦+$3�X"� 0�9"N"� 3��� � � , 8�:4[��=@4 ' .+- ' �F�@46� ) �01 �^ 3� ) "� 3��/=@� ' -#�A"I >� 4T" ' .04 ¤ L �!��`*��4 )+' " �Z�(-#�%=IªM�]4 . � )+) � ) � "#-6�%�7�q¦a" ��F� ) �X�G��=4 . � )+) � ) �;"�-6�(�W4#� )+& �K�A"_�:4N.+- ' �Z�:46� ) �01

) � ��� � ���

�%� � � N -_¦+4 N9�/= � `!�(- "#��� � 4 �("�� = ��$3�*��� 4 �7"�� = ��$3��� � 4 �7" � �� � � )+&('�� . =B�!�;& ¦3-6-6� ) " ) ¦ ��� �(- '/E &%'�� . '*) � ) "I4 ���� � � � � � � *��� ��� ����%$3�*�%4 ��� . �/- "I�:��=:=vª ' -#$3�(-6��$G"#-#�(� ���� � � � � &('�� . '*) � ) "�4 =B����� �%-6�*��� + ) $54 �("[$0�9"I�;4T"#-A¦ & "A¦3-6� ���� � � ��� ""! #��= � � ���F� =� � � ) �$�a" &('�� . =B�!�?) � � � E ' - ) �D£ &%'�� . '*) � ) " ���� � ��¦ &('�� . ¤ ` &('�� . =B���?&('�� . '*) � ) " ) � � �%4 ����� � N*� ) ¦+=:= � � � =%� � N*� ) ¦+=:= � �%$3�*��4 � =) ���D" &%'�� . � � =0)+&('�� .B� & =

Page 229: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

65

6 4

6

5

3

1

5

2

65

2

3

1

4

65

2

3

1

4

65

2

3

1

4

65

2

3

1

4

Initial Configuration step1. choose (1,3) step2. choose (4,6)

65

2

3

1

4

65

2

3

1

4

65

2

3

1

4

step3. choose (2,5) step4. choose (3,6) step5. choose (2,3)

� �� #� � ����� � � � �'�� �� #* $(��� $( ��� �� �� �� #*�� ��� � *����������� $()#�

Page 230: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

� � � � ��� � �C��� � ) ��"��:��=:� �%�<� &('�� . '*) � ) "V" ' 0��`!� '*) �<`!�(- "��$� '�E � ����?) ���D" &%'�� .��W� =� ) �A"I�:��= � ) �$�a" &('�� . ¤ �Z¤+&%'�� . '*) � ) "I4 � =

� � � � , � � �� ) 4 �%- "?� , ¤ �%$3�*��4 � = ��� � ) ��"��:��=:� �%�R.+-�� ' -#��" ª���¦3�F¦3� '�E �%$3�*�%4 ���? ����� � � )+&%'�� .�� � ��,;� $3�%=@�7"�� � � ) � �%$3�*�%4 � ==@�7" ,X� � ! ��3� =¦ &%'�� . � + ) $�� ! ¤+&%'�� . '*) � ) "�4 � =` &('�� .B� + ) $�� �Z¤+&('�� . '�) � ) "�4 � =���<�z¦ &('�� .P� ` &%'�� . ��� �(-6�*�Z�z¦ &('�� . ¤ ` &('�� . ¤D&%'�� . '*) � ) "�4 � =)+&('�� .B� )+&('�� .�� � =

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

PO ' ' 4 �V�X. �9-6"��:��=:=vª ' -#$3�%-6�%$c"�-6�(� E ' -Y-6�%.+-6�%46� ) "I� ) �R"� 3�N4 ' - "#�%$\4 �7" '/E �%$3�*�%4 L ' -6�%.+-6�%46� ) " &%'*)+) � & "��%$ &('�� . '*) � ) "�4b� ) $ � ) "#�(- &%'*)+) � & "I� ) �O"I 3� �R¤ £��) �(�%$ " ' � � .0=@� � � ) " &�/1 1 � � � � �� ¤ M ¤�OC� 1 1N1 � �%-6�*� &('�� . '*) � ) "�4� � ) $ M � ) O � ) $ & ��=@="I 3�K-6�%4_¦+=A"� ' - M �/- � ��"#-��/-#�:=vª!1

� 1�2�� � J � �Z¤EOC� 1�1�1 -6�7"e¦3- ) 42"I 3� ) � � � '�E "� 3� &('�� . '�) � ) " '/E1OM'�E £[ +� & `!�%- "#�$� � �:4K� � � ��� �(-%1 LC +�@4 ' .��%-��9"�� '�) £[�@=:= � ��¦+4 ��$ " ' $3�("#�(- � � ) �£[ 3�("� 3�(-P"� 3�N"w£ ' `!�(- "�� & ��4 '�E � ) �%$3�*�[�/-6�_� ) "� 3�R4#� � � ' - � ) $+����%-6� ) "&%'�� . '*) � ) "�4(1

Page 231: Data Structure and Algorithm by Y. Narahari

�������������� ������������������������������ ¬ � �

-31 � � � L�� 57 �� ¤��c¤ OC� 1 1S1 � � N���4� "� 3� ) � � � '�E "� 3� &('�� . '*) � ) "R� )O^&%'�) "I��� ) � ) � '*) =vª '*) �<`!�(-6"#�$� ¤3) � � ��=vª �

LC 3�W� � ' `!�K$0�9"I�;4T"�-_¦ & "A¦3-#�K�@4 & �/=:=@�%$ � ) 1 2 1a� L

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

PO -6���9"�� '*)�'�E "I 3�K.+-#� ' -��A" ���3���3�� � E "� 3�%-6�c�/-6� ,c�%$3�*�%4� ���"R�:4C����4� " ' 4 �(�S"� 0�9"R��"_"I� N*�%4 � � ,�= ' � , � "�� � �" ' � ) 4 �(- "N"� 3�W�%$3�*�%4N� ) " ' �;. �/- "�� ��=@=� ' -#$3�%-6�%$5"#-6�%�

� � � , � ��=�� ' -#��"� � 4��/-6�X. ' 464#� � =@� E ' -V"� +�@4V.+- '�� =@� � � � & F$3�%=@�7"�� � � )Z' .��%-��9"�� '�) "I� N*�%4 � � = ' � , � "�� � �_� ) "� 3��� ' -�4T" & ��4 ��1*LC ��+4+ ) $+� ) ��� ) $$3��=��("�� ) � =@����4T" � &%' 4T"\�%$3�*��4� ' `*�%-8"� 3���[ +�:=��J�A"��(-��9"�� '*) 4 &('*) �"#-#� � �a"#� � � = ' � , � � ) "I 3��� ' -#4T" & ��4 �*1

LC 3�K" ' "I��=�"I� � � E ' -_.��(- E ' - � � ) � ��=:=2"� 3� � �(-6�*�S� ) $$+ ) $ $3�%.�� ) $+4 '*) "� 3�� �("� ' $��+4 �%$21� � ,�= ' � , � �[��"� ' �a"V. �9"� &('�� .+-6�%4#46� '*)� � ,���� , �6� �[��"� �"I 3�K. �9"� &%'�� .+-#�%4646� '*) ��[ 3�%-6���� , � �:4V"� 3�W� ) `!�(-#46� '�E � ) & N*�(- � � )GE � )+& "�� '�) 1

!#" ���"� � �%$ 1 �(�32 �@���3-6�5431 � -31� � � � �� - � � %� � � � � < � ��-� � � 2�(-� % � � �� &% � � � �- � � �� � � ��-� < � ��<� � �

����� 6 �(��� '! ���!54 "/�� �'�� + �*! #P� 2%$� �'�+

� !�� � � �3��� ) � 7 7��&�[=��%-� � 1 �\1 7 � ) 4T"�-��� c1('S1 �;1��C� )+)+' ' #�K� ) H� ) $ J 1 M[1 1 �F' 34� �%$+��" ' -#4(1 %>) � % 8 /*)��� - +�� � /1� �"�($ /7+�� 8 4,+�� � $ 1 � ' ) �^�@=@�-/. 1D'*) 4� � � 4;<D1

L ' �3-S�0' � � �:=�" '*)�� �1'R� � �@=�" '*) � � )F& & =@� ��<��`*� ) �M��-I�9.0 2�[��"� 3�V�%�@�* �"�4 '�) "� 3�B��$3����4�� � � � �@4G��46� � .0=@� & & =��"� 0�9"N� )+& =4�+$3�%4_��=:= "� 3�X`!�(-6"�� & �%4 '�E "� 3�X�*-��/.0 21 2 ' -C���+� � .0=���4 '�E " ' �3-#4� 04 �(�2 �����3-6���31�-1�a1

Page 232: Data Structure and Algorithm by Y. Narahari

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

b(4,3)

c(1,7) d(15,7)

f(18,0)

e(15,4)

a(0,0)

Tour 1. cost = 50.00

f

e

c d

b

a

a f

e

c d

b

a

c

b

d

f

e

Tour 2. cost = 48.39

a

c

be

d

f

Tour 4. cost = 49.78Tour 3. cost = 49.73

��� ����������� ��� �������G� ������ � � ���A�� !��" #$���%" �����

L 1 ��<��`*� ) �F�*-��/.0 �[��"� �V�%�@�! !"�4 '*) "� 3�;�%$3�*�%4� + ) $ �Z" ' �3-< 0��`3� ) ��� � � ) � �� � � 4 � � '�E �%$3�*� �V�%�@�* �"�4(1

� � � 0�/-#$�.+- ' � =@� �

���'& �� � ( � ��� � * � � ��� � � � � � � � � " ! )

M ��4 ��$ '�) �X-��+4CN9��= Q>4[��=@� ' -#��"� � 1 � " '*) = 5�!��`!�%4[�Z4 � � ' .3"�� � ��=24 ' =4�a"�� '�) � )��� ) �(-���= 1

Page 233: Data Structure and Algorithm by Y. Narahari

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

a

b

c d

e

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

� ' - ND4 E ' - &%'�� .0=@�7"����*-��/.0 +4(1 1B�& )+' " � ' - N E ' -Z�]�*-��/.0 "� 0�9" �@4 )+' "&('�� .0=��("#��1

R4C� ) �<-��+4CN9��= Q 4_��=@� ' -#��"� � �+0-�4T"[4 ' - "N"� 3�K��$3����4_� ) "I 3�W� )+& -6����46� ) � ' -#$3�%-'/E �V�%�@�* �"�4(1

01 "I�/- "�� ) �/�[��"� "� 3�G=@����4T" &%' 4T"S��$3��� = ' ' N �9"S"� 3�F�%$3�*�%4 '*) � � '*) ��� ) $4 �%=@� & "_� ) �%$3�*� '*) =�5� E "� 3�K��$3�*� a" ' �*�7"I 3�(- �[�A"� J��=�-6� ��$�G46�%=@� & "��%$J�%$3�*�%4� �/1 $ ' �%4 )+' " & � �+4 �S�8`!�(- "��$�G" ' 0� `*�K$3�%�*-6�(�<"� 3-#�(� ' - �Z' -6�� 1 $ ' �%4 )+' " E ' - � � & & =@� �� ) =@�%4#4 "� 3� ) � ��� �%- '�E 4 ��=�� & "#��$���$3����4�� ���0��=:4"I 3� ) � ��� �(- '�E `*�%- "�� & ��4�� ) "� 3�K�*-��/.0 21

!#" ���"� � �%$O�'*) 46�:$3�(-R"� 3�;46� � & �A"B.+- '�� =�� � 46 ' � ) � ) 2 �����3-6� 431 ��%01 LC 3�84 ' - "��%$ 46�7" '�E

�%$3�*�%4N�:4� � ��� , � - �� � ��� �%�$ < �� � �� � � < �� � � , "�2� < � � �� ��%� # n � 4 �� � ��� "�2� � < 4 � �6��� , � � � � �$ � ��� � � � � - # �$ � � � � � � % �#Fn]nFn �6�� �2�$ � 4 �1 �(� 2 �����3-6��4 4a1 � <?� ) $ 4a1 � �31

Page 234: Data Structure and Algorithm by Y. Narahari

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

fa

dc

e b

� �� ������� � � � � � � � � �%" ��� � " � � � � �����G� ������ � ��"�<�� ��#

� ������ �*;' ?>���B� ������ �*; �D> <@B� ������ �*;=<?> �B� ������ �*;'��> � B� ������ �*; �D> �B ��� � �� ��� � " ��#$� � � �� � � ��� � ; ��>@<HB ���� ;=<?>@�B� ������ �*;' ?> � B ��� � �� ��� � " ��#$� � � �� � � ��� � ;' E> �CB ���� ;'�A> �IB� ������ �*;=<?> ��B ��� � ���� � � � � " ���� !# � � ��� � � ��� ����� "���<!�� ���� �%" �� ������ �*;=<?> HB � " � ��� �� ���� �%� �� ��� � ��"��� ������ �*;=�> @B���

� ������ �*; �D> � B�

LC +�:4 a�@�%=:$+4N�S" ' "I��= &%' 4 "[� < �� ��[ +� & ��@4N� ��' �a" % � E - '�� "� 3� ' .3"�� � �/= &(' 4T"�1

���'& � � � � ��� � � � ! � � � ��� � � � � " ! ) � � � � � � � � � � � ��� � � ���

� ��� ��� ����

� �3.+. ' 4 �b��" �@4\-6� ���+��-#�%$ " ' � � ) � � � �%��� )O'�� 2�� & "��A`!� E � )+& "�� '*) 1 � �3.+. ' 4 �J"� 0�9"���F 0��`!�F� � �("� ' $ E ' -S���("6"�� ) �b� = ' �V�(- � ' � ) $ '*) "� 3� &(' 4T" '�E � ) ,4 ' = �a"I� '*)� �Z'*) �<"� ' 4 �_� ) "� 3�[4 �(" '�E 4 ' =4�a"�� '*) 4Y-6�%.+-6�%46� ) "��%$ � 4 '�� �C4 � � 4 �("�1 � E "� 3� � �%4T"4 ' = �a"I� '*) E ' � ) $M4 ' E �/- &(' 4T"I4S=@�%464W"� 0� ) "I 3�Z= ' ���%- � ' � ) $ E ' -K"I +�@4S4 � � 4 �7"� ���) �(��$ )+' "C�$�3.0= ' -6� "� +�:4C4 � � 4 �("R�9"_��=:= 1

7 �7" � � �S4 '�� �X4 � � 46�7" '�E 4 ' = �a"I� '*) 4(1 72�("�_� � � � �\= ' �V�(- ��' � ) $ '*) "I 3� &(' 4T" '�E

� ) 54 ' =4�a"�� '*) � �%= '�) �!� ) �;" ' �7 �7" 8 � &%' 4 " '�E "� 3� � �%4 "[4 ' = �a"�� '*)

Page 235: Data Structure and Algorithm by Y. Narahari

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

E ' � ) $J4 ' E �/-� E 8 � �_� �P� "� 3�(-6�S�@4 )+'Z) �(�%$ " ' �$�3.0= ' -6� � � � & � �+4 �S��"_$ ' ��4

)+' " &%'�) "I��� ) � ) � �7"6"��(-N4 ' = �a"�� '*) 1� E 8 � �_� � � "� 3� ) ��� ) �%�%$ " ' �$�3.0= ' -6� � � � & � �+4 �W��" � ��

&('*) "I��� ) � � �("6"#�%-N4 ' =4�a"�� '*) 1

7 9��� ��� �9����� � � � � � � �

� ' "#�<"I 0�H" &O�' 4T" '�E � ) G" ' �3-

� �� �����

� � � � '�E "� 3� &%' 4 "�4 '�E "I 3�X" � ' " ' �3-�%$3�*�%4_��$32 � & � ) "V" '��+�

� ' � &LC 3�W4 � � '/E "I 3�<" � ' " ' �3-N�%$3�*�%4_��$32 � & � ) "V" ' �\�!�A`!� ) `!�(- "��$� �

4�� � '�E "� 3�<"� ' ��$3����4 '�E =@����4T" &%' 4 "_��$32 � & � ) "N" ' �

LC 3�(-6� E ' -6� &O�' 4T" '�E � ) G" ' �3-

�� �����

� � � � '�E "� 3� &%' 4 "�4 '�E "I 3�X" � ' =@����4T" &(' 4T"�%$3�*�%4_��$32 � & � ) "V" ' �3�

!#" ���"� � �%$ � �(��� �@���3-6�� 31 � #D1� � �� 9 � � � ��� � � �� � � � � �� � ��� � �

� ;'�D>� HB�>.; �D>D<HB �< ; �D>D<HB >.; <?>��CB �

� ; � >@<HB >.; � > �6B � ;' ?>��6B >.; ?> � B �� ;'��>@<@B >.;'�A> �IB �

LC ��+4_�\= ' ���(- � ' � ) $ '*) "� 3� &(' 4T" '�E � ) �" ' �3-

� ����<C� �[�� [� #C� � � � � # n <

Page 236: Data Structure and Algorithm by Y. Narahari

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

a b

e

d

c

3

4

43

7

8

62

6

5

� � ����� ��� � � ��� ��� # � � ��"�� � � " # � ��� �%�� ��� � � � � � ��� � � � ��� �%� � ��� 4 ' = �a"�� '*) L -6�(� E ' -�� L � �O� ) 4T"I� )+& � &N� ��$3����4��/-6� &('*) 46�:$3�(-6��$G� ) =@�$�+� &%' ��-I�9.0 +� &' -#$3�(- � & � �(� � �����3-6� a1 �

� �3.+. ' 4 � �V� �N� ) "Q�R= ' �V�(- ��' � ) $ '*) "� 3� &(' 4T" '�E �[4�� � 4 �7" '�E " ' �3-#4 $3� + ) ��$� 54 '�� � )+' $3�W� ) "� 3�K4 ���/- & "#-6�%��1� ) "� 3�R� � ' `!�_4 ' = �a"�� '*) "#-#�(� !��� & )+' $3�_-6�%.+-6�%4 � ) "�4 " ' �3-#4 $3��+ ) �%$ � Z�W4 �7"'/E ��$3����4V"� 0�9" � �+4T" � �S� ) "� 3�X" ' �3-_� ) $B�\46�7" '�E �%$3�*�%4N"I 0�H" � �& )+' " � �� ) "� 3�X" ' �3-%1

LC 3�%4 � &%'*) 4T"#-���� ) "�4c�/=�"#�%- ' �3- & ' � & �%4 E ' -c"� 3�G"� ' = ' �V�%4T" &(' 4T"8��$3����48�9"��� & )+' $3��1��1 �+14 R� E ���M�/-6� &('*) 4T"�-���� ) ��$ " ' � )+& =4�+$3� �%$3�*� � �� � � <� ) $^��� & = �+$3� � � & � "� 3� ) ��� �[�:=@= 0��`!�F" ' 4 �%=@� & "c"I 3�F" � ' = ' �V�%4T" &(' 4T";�%$3�*��4?��4 E ' =:= ' �[4 &� ;'�D>� HB�>.; �D>���B �< ; �D>D<HB >.; <?> �CB �

� ; �D> � B >.; � > HB � ; �D>� HB >.; � > HB �� ; �D>���B >.; <?> �CB ���

LC 3�(-6� E ' -6�X= ' �V�(- ��' � ) $��[�A"I �"� 3�W� � ' `!� &('*) 4T"#-I�/� ) "I4N� � �31 < � � & "�� � � ����� � � � � � � &('*) 46�:$3�(-#� ) �M"� 3� " � '�& +�:=@$3-6� ) '/E � )+' $3� ���J"#- " ' � )3E �(-G��$+$+�A"I� '*) ��=�$3� & �:46� '�) 4 -6�%�!�/-#$+� ) � �[ +� & O��$3�*�%4 � �+4T" � �� )+& = �+$3��$ ' -5�$� & =4�+$3�%$ E - '�� " ' �3-#45-6�(.+-#�%4 � ) "#��$ � "� ' 4 � )+' $3�%4%1 LC 3�-��+=���4 ��� �+4 � E ' -V"� 3��4 �W� )3E �(-#� )+& ��4C�9-#� &

Page 237: Data Structure and Algorithm by Y. Narahari

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

All tours

tours with ab tours withoutab

tours withab and ac

tours withab but not ac

tours with ac but not ab

tours without ac and without ab

tours with tours with tours with ab,ac andnot ad

ab,ad andnot ac

ab, not acnot ad

� �� ����� ������� � � ��" ��������"�������� � � " � � � � � ����� � ��� � ��/1 � E �$� & =4�+$+� ) � ��� ��3� � ' �+=@$ � �3N*����"\� � . ' 4646� � =�� E ' -� ' - � " ' 0� `*���4 � � ) ��4W" � ' ��$32 � & � ) "c�%$3�*�%4c� ) "� 3�Z" ' �3-� "� 3� ) ��� ��+� � �+4T" � �� )+& =4�+$3�%$21

� 1 � E � )+& = �+$+� ) � ��� �3� � ' �+=@$ & � �+4 ��� ' - � " ' 0��`!� �Z' -6� "� 0� ) "� '��$3�*�%48��$32 � & � ) "8� ) "� 3��" ' �3-� ' - � ' �+=:$ &('�� .0=��("#��� )+'*) � " ' �3- & & =���[��"� �%$3�*�%4_��=@-6����$��� )+& =4�+$3�%$ D"� 3� ) ��� �3� � �+4T" � �W��� & = �+$3��$21

� �(��� �@���3-6�� 31 � �31 �^ 3� ) ��� � -I� )+& � E "#�(- � � ND� ) � �[ 0�H"K� )3E �(-#� )+& ��4 ��� & � ) ��� &%'�� .��a"��= ' �V�(- � ' � ) $+4 E ' - � ' "� & +�@=:$3-6� ) 1�� E "I 3�Z= ' ���%- ��' � ) $ E ' -c� & +�:=:$,�@4c�/4 +���! ' -� +�@�! 3�(- "I 0� ) "� 3�X= ' �V�%4T" &%' 4T" E ' � ) $54 ';E �/-� ,��� & � )� .+-�� ) ���c"� 0�9"& +�:=:$ � ) $ ) �(�%$ )+' " &('*) 46�:$3�(- ' - &('*) 4T"#-�� & "_�A"�4N$3��4 & � ) $0� ) "�4(1� ) "��(-6��4T"�� ) �*=� *"� 3�(-6�<�/-6� 4#�A" �0�9"�� '*) 4 �[ 3�(-6�["� 3� = ' �V�(- � ' � ) $ E ' -�� )+' $3��&�@4K= ' �V�(- "� 0� ) "� 3� � �%4 "c4 ' =4�a"�� '*) 4 'bE �/-� !�7" � ' "� & +�@=:$3-6� ) '�E & & � ) � �.+-�� ) �%$ � � & ���+46� "� 3����-Y= ' �V�(- ��' � ) $+4 ��� & �(�%$;"� 3� &%' 4 " '�E "� 3� � �%4 " 4 ' = �a"I� '*)4 '8E �/-%1

� E ) �%��"� 3�(- & +�@=:$ & � ) � �\.+-�� ) �%$ �V�;46 0��=@=1 ���4<�� 3���3-#�:4T"�� & &%'�) 4#�@$3�%- +0-#4 ""� 3� & +�@=:$ �[��"� "� 3�\4 � ��=@=@�(-R= ' �V�(- ��' � ) $21 E "#�(- &%'�) 4#�@$3�%-#� ) � '*) � & +�:=@$ ��� � �+4T" &('*) 46�:$3�(- �/�!��� ) �[ 3�7"I 3�(- �A"�4 46� � =:� ) � & � ) � �_.+-�� ) �%$ 46� )+& �[� ) ���� ��4T"[4 ' = �a"I� '*) � �&� 0��`!� � �(� )JE ' � ) $21

Page 238: Data Structure and Algorithm by Y. Narahari

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

ad__

ae__

ab__

ac__

ad__

ae__

ad__

bd__

be____

cd__

bc__

bd__

de__

cd__

ce__

bd__

bc__

de__

cd__

no constraintsA

B C

D E

F G

H I

J K

L M

N P

17.5

17.5 18.5

20.5 18 18.5 21

18 23 18.5 23.5

ac

ab

ac ad ae

ad ae ad ae

bc

ce

de

Tour

cdce

be

Tour

bc

de be

Tour

bd

be ce

Tourabceda abecda acbeda acebda23 21 19 23

pruned

pruned

pruned

after discovery

after discovery

of I

of I

ae__

ac__

� �� ����� ����� � � � ����� � � ���� < " � �� � ��� � ���� ���"$� � � � ����� � ��� � �

Page 239: Data Structure and Algorithm by Y. Narahari

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

����� 6 2 #�� 2%$�� #-���� ����

�91 R= E -6��$ : R ' � ' )B� 1 ' ' . & - '�E "& � ) $ � �(�-6���� �R=@= � � ) 1�� /1!�/���! 8 6&' &!�698(� � /7+ � " � �,478 - ! ),$ �*1� $+$+�:4 '*) ���M��46=@�- � � ��31

� 1 �<�:=@=@�%4�� -���464#�/-#$ � ) $ � ���+=�� -I�H"I=���*1 � 69+ �,/7$ �"+�!�/1� � 4! �" � �,478 - ! ),$ -.'*��1�P-6� ) "�� & ��� ' �/=:=1 � � ���31 � ) $+� � ) � $+��"�� '�) .�� � =@�:46 3�%$ � �P-6� ) "�� & � ' �/=:= '�E� ) $+� �� � � � 31

�a1��C '�� ��4 'c1�� ' - � � ) ��� 0�/-#=@�%4 � 1�72���@46�(-#4 '*) +� ) $�� '*) ��=:$ 7P1��C��`!�%4T"�1! + &!�8 4��76�' ! -.47+ !�4 " � �,478 - ! ),$ �*1"�C 3� 1 �#� � =�� & "#-#� & ��= � ) �!� ) �%�(-#� ) � � ) $$� '�� �.��a"#�(- � & �@� )+& � � �(-#�@�%4� � � �1�31 � ) $+� � )b� $+��"�� '*) .�� � =@�:46 3�%$b� ) � � � �31

%+1�1B�/-&%� =@=@� ) �M�%�:464(1���/1!�/ ��! 806&' ! 6 8(�"��/7+ � " � �,4780-.!�),$ "�+ /1� �7�0-�� -�+('*))R1� � ),+ � � � ) �-� � � � � ) �!4� � � � %01 � ) $+� � )b� $+��"�� '*) .�� � =@�:46 3�%$b� ) � � � 31

< 1 R= E -6��$ : ' � ' ) � 1 ' ' . & - '/E "& � ) $ � �(�-6��.� �R=:= � � ) 1 %>) �/� �"�0- �7+/7+ � "�+ /1� �7�0-���4! 0' 47$21 6�!#�"8 " � �,478 - ! ),$ � R$+$+�:4 '*) � �M�%46=@�-� � ��# %01

�a1 � �9-I�3���*��4 � � ) $ =:=�� ) : � ) �<�%=:$3�(-%12' 47$21 6�!#�"8 " � �,478 - ! ),$ �54" +�! 8 4��76&' ! -.47+!.4� �"�(- �7+ /7+ � "�+ /1� � �(-��*1 $+$+�@4 '�) � �M��46=��� 6�C +�@-#$ � $+�A"I� '*) � ��1�31 � ) $+� � )� $+�A"�� '*) .�� � =:�@46 3��$ � � � �/-#4 '*)J� $ � & �9"�� '*) 46� �� � ��1�31

# 1 � =@=:�@4 ' ' - ' �[��" � � �/- "I� � � �� ) �1 � ) $ �_� + ��4 �7%9�9-I� ) 18� 69+ �,/7$ �"+�!�/1� � 4! �' 47$ &1 6 !#�"8 " � �,478 - ! ),$ �*1 � 1 'c1 �+-6�(� � � ) � ) $0� '�� . � ) � � � 31 � ) $+� � )8� $+�A"I� '*).�� � =@�:46 3�%$ � �X��=�� ' "�� � � � � =@� & �9"�� '*) 4� � �1�1�31

a1 � �3��� ) � 7 7��&�[=��%-� � 1 �\1 7 � ) 4T"�-��� c1('S1 �;1��C� )+)+' ' #�K� ) H� ) $9�c1:�[1 � �F' 34� �%$+��" ' -#4(1 %>) � % 8 /*)��� - +�� � /1� �"�($ /7+�� 8 4,+�� � $ 1 � ' ) �^�@=@�-/. � '*) 4� � � ;<D1

�a1 ���3- " 1b�% +=: ' - ) 1<; 8 /=1 )�" � �1478 - ! ),$ � /7+ �0> � &?' 47$213� ��!��"+3�"�0��1 : ' =4� � � �'/E � /1!�/ ��! 8 6�' ! 6 8(�"� /7+ � " � �,4780-.!�),$ � � .+-�� ) �*�(-�� : �(-�=:�/�� � � %+1

���a1 � '�� �%- " � ��$3�����[� & % 1 " � �1478 - ! ),$ �U1 R$+$+�:4 '*) � �M�%46=@�-� � � &('*) $ � $+��"�� '*) � � 31

� �91 � � & % � $ �F'*) $+4(1 � �H"I +4� *"#-#�(�%4� � ) $A@ ' ���%-#4(1�' /7+ / �7-./7+ 25476980+3/1� 4! $ /1!�) &� $ /1!�-�'"� : ' =4� � � � #� 3.+. %�%� � % � #� � ���;<D1

Page 240: Data Structure and Algorithm by Y. Narahari

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

� � 1 � ' ) � ' ' . & - '�E " � ) $ � '�� �%- " � 16�Q�/- + � ) 1 � ( & ��� ) "P��=@� ' -��A"� � 4 E ' -Y�*-��/.0 � � ) �@.��+=:�9"�� '*) 1 ' 47$ $ 6 +�-�'(/1! -.47+�� 4! ! ) � "�' $ : ' = � � � � �� � � ��� �(-"�

.+. 1 � # � �#� # � � � # �31�7�a1 � 1 �[1��<-��+4 %9��= 1 � ) "� 3�G46 ' - "��%4T";4 . � )+) � ) � 4�� � "#-6�(� '�E �b�*-��/.0 �� ) $M"� 3�

"#-���`!�%=:� ) �84#��=���4 � � ) .+- '�� =@� � 1�� 8 4 ' �(���7-�+��7� 4! ! ) �#"�$ �"8 -.'(/7+%$ /1! ) �"$ /1!'&-.'(/1� � 4 '"-#��! � : ' =4� � � #� 3.+. % �� < �� � �;< �31

� %+1 �K1 � 1��P-#� � 1 � ' - "#��4T" &('*)+) � & "�� '*)M) �7"� ' -&%a4K� ) $ 4 '�� � �*� ) �%-���=@�����9"�� '*) 4(1����������� �"!#�"$ %&�('*),+�-.'0/1�325476980+3/1� : ' = � � �9���� +.+. 1 �7� � � � %;� �* � �,<�#D1

� < 1 � '�� �%- " � 1 �Q�/- + � ) 1 �[�%.3"� +0-#4T"�4 ���/- & � ) $ =:� ) � �9- �*-��/.0 ��=�� ' -#��"� � 4(1�� " $ 25476980+3/1�947+�' 47$21 6�!�- +�� : ' = � � � �� � � ��� �(- � /.+. 1 � % ��� ���1�� � � # � 1

����� #�� 2 $� ��+ �

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

� � � � � �$��� � �� " ��� � � # � � � � �� ������# � ����� � � � � � � � " � ��" � � � � � � � �� �� ��� � �%� ��� � �! �� � �#"$ � "�� �%� ����� � � � � � � � � � � ��� " ��� � � # � � " ��� ��� � � �!%���& '& �%��#$� ���� �� � � �� �� � � "��& � & �

� �)( � ��� �� ��� ��� " ����� � # �%" � � ��# � �%� ���!�� � ����# � � � � � � � ��� "�� � �%� � � �+* " � # � � � ��� � �� � � ��� � � ���!� � � ���,� �.-�/ � � � � � � � ���%� # � � " # � ��� � � ����"��� � � ��� " ��� � � #'-

0 � � � ���21 �#34 � � � #$����� # ��#5� � ��� � � � � � � � � �%� � �� � � � "�� � � � ���21 �#34 � ��� "��� � �%"��" #$��# � ����# ��# � � ��� ������ �%����� "�� �

� � � � �768� � # � � ��# ��#�� � � �� � � � � � "�� ��" #$� � � � ��� "�� �9� � ��"$ � � ��" � � � � � � � � � ��� ��� �#$������# ��# � � ��� ������ �%����� "�� ;: �<� � ��" ���6�� � � � � � � �����" � #$������# ��# � � ��� ��� �� �%�����"�� �

� � � " � ��� � �� �� ��� � �%� �%� � �=� � ��� �+� � ������� � ��� ���� >6 � � � �?� � � "�� � � � �A@ �BDC �FE B � � 6� � ����� E B ��� � � � ��� ����� "�� � � ���%� ��G7� � ��#$� ��� "�� �� � � � ��� � �� �� � � "�� � ������� ��G �

� ��� � �� �� � # � �%��� "�� � �%��� �'H �I� � ��"$ ��� �� � ��� +� � # � ��J.K LNMPO�Q4�21 �#34 � � � ���RQ4�21 �#34 � �� � � � � " ������� �S� � � � � �� ��� � � � � � ��" # � ��� �%� ��1 ��" � ��� �%� � 3 � � � � ����� �UT � ��� � � � �� " ��� � � # �%"� " # � ���%� � � � �� � # � �%��� "�� � �%�����V� ���� ��� �� �4W � � � � ��� � ��� ��$����#$� "�� � � � �� " ��� � � # �

� ��� ��X�Y�Z\[U]U^2_a`Rbc_aZ�d ��� ��� � �� ������ � ���� � �%� � � ��� � � � � � � � � � � � � � �%� ���� � �� �� � � � � � �%� #$�� ��� �%� �e� �%����� ���������� � � ��� �$�� � � � � � � � �%� � � � ��� � � � � "�� � � � � ��"�� � � � � � � � " �� �� � � " � ��� � �� � � � � �%"$� � ��� �P� �� � ��" �� � # ����� � � � � � � � � ��� ����� �

Page 241: Data Structure and Algorithm by Y. Narahari

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

� ��� � " ����� � � � �%��������H � ���� �H � � ���!�%� �� ��" � � ^ ������� ]���^���� � H � � ���=� �!�%��������� " ��#$�� � � �%"$H � � � � � � ��� ���� � � � � ���� ���� � � � � � �� ���� � "�� �'��" #$��"�� � � � ��" �� � ��� H � � ( ����� ��!����UT � ��� � � �� " ����� � # �%" �� � �� �� �� � � " � � � � �%������� � ��� ����" # " � � � � � �'/ � � � � � � � � ����#$�� " # � ��� ������� "�� � " ��� ��� " ��� � � #'-

���� #�� 2 4*����� � ����� � � ��������� ��� � �

���� !�#" ���"� � ��� �%$'&��(&)+*,$-*/.�01* � � (32 ����465 � �,* 2 )�&74 �98

: � � � � ���������# � � � � �<; " �=; ��� � ; � � ��" ��� ��#$���> � � � �����%� �%���?� � `�` [@��A [CB ��� � ��D ��� � � ; ������� � ��� ���� !� � ��� � � � � � ��#$� ��� "�� �� � � �?�� �� � � ��� �FE����!�G; ����� � �� ��� � E "�� ��� � � ; ��� �%� � �/: � � � "�� ��� � �%� ��� � � � ������� �%� !� � " � �� � �G; �

���H; ���%� � � �F_a`�`�^ `JI�A�]#[�[ � ���� ����; �������K,_ � ^ ZLA � `�^2_a`M�F_NAO � �QP � ��" � � ��� �%� ��� ������ �" # � " � �%�� " � �� � � � � �� � ��� �� � ����� ��# � ����# ��# � " � ��� � ��� ��� �� �%�����R�SR�TU: � " � � � � �a� "�; � �%� � � � ������������ � T � ��� � �

� # � ����#$� � �%� �%� "�� "��(V ��� #XW � ��� " ����� � # ��Y " # � � �%��� � � � ��� � ������"��!�%� # � "��� � ��� � ��" ��� # �� � ����� � �ZRZTU: �������� ������� � ��SW � �� " ��� � � # �\[ � � � ��� # � � ��#$� � � � �%��"�� � ����� � � �]�[ _�� � � �

� �%��� � ������� ��" " �� ����� W�� � � � ��� � "�� �� � � � ���� �� � �_^?`�a Xcb � � � � �%��� � �%����� ��" ��# � ��� # � � �������"��dW � ���� � �� eW � �,Y " # � � ����� � � � � � � � �%��"�� ����#$� D � � � � � � � "��(V ����#?W � ��� " ��� � � # �

0 � ����� � � [@� � `fBhgU[ � A�^Xa�b �FE � � �%� �� �� �� � � � ������� � ��SW � ��� " ����� � #�� �������� � � � � " � ��" D ����� ��" � ��� ��E � [ � H ��� ���MR�TU:;� � � � � � � � ��� � ��� ��� ��� � � �8�21ji 34 ,k H ���� $��� � � � �mljiCn pok H��� � � � � � � � Hrqts4�1\i 3F @uV @v s4�mljiCn @u � � � ��� � "��� �� � ���pR�TU:��

w � ����� �xK,_ � ^ ZLA � `�^2_a`y�F_NAm ����� �� � ��� �� zE �����%� ����NE � � ���� "�� ������� � ���W � �� " ��� � � # �{ " � � ��� � " # � � ����� � � � " � � "��� � � � � � � � �%" � � � � "�� � #$����� # �� � " ���7* � #$� ���%"�������� � � � �� � " � �� �<E � � � � �������=; � � � ��# � �%� ����"�� � " �1; � ����� � "�� � � � �%" > ���|[ � �'� � �P�fE " � � ��� �" �� � ��� ��� � � �������8�<E �������� � � ��g?]S_a`d�@ _a`fB�g � Y�`fB #$� � � " ��" � " # � ���%� � � � #$����� # � � � " ���* � #$� � ��"�������� � � � � �

} �~V ��"�; � ���� ��� # � ��� � "�� � "�� ��� � �%� ��� � � � � " � ��� ��� � ����"���� � � � � � � � �� ��� " D ��[ ����!� ��� # � � �� ��� ��" � � � ��� � � " � � � � �����%� � �%��"�� � � ��"�; � �� ����� ��"�������'� P �%� � � � � D � � � � � # � � ��# ��# � " ��� �� � � ��� � � � � � "�� ��; ���#EXR�TU: � ��� � � ��� � ��� P �%� � � � � D � � � � � # � � ��# ��# � " ��� �� � � ��� ����; ��� � � � � � "�� ���FE?RZTU:� � P �%� � � � � D � � � � � � � � � � � " � � � � � ��� ��" � � � � ��� "�� ���FE?R�TJ:

� �~� � � H � � � #$������# ��# � � ��� ��� �� �%����� "��� � "�� ��� � ���� �%� � �� �QV ��"�; � � � � � � � � ��� � � � ���� � � �'�1ji 34 ck H ���� �mlji�n �ok H ��� � � � � � �;H3q�s4�21ji 34 �u�� s4�Olji�n @u ��� �!��� � "��� 4� � � ���#$������# ��# � � ��� ��� �� �%����� "�� � �

Page 242: Data Structure and Algorithm by Y. Narahari

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

���� !��� �M2 �! � � )#$�� 0 � � �j8 � �Q$#" 2 * � � ���

: � � � � ���������# � � � � �<; " �=; ��� ��# � � ��#$� � �%� �� � � � � "� ��" D � �� � ; � � ��" ��� ��#$���> � � � �����%� �%� ��� ��� � Z\[�A [ ��� � � D � � ��� ; � ����� � � � � �� ������ �" # � " � �%� � " � �� � � � � �� � �����'� � �

� � � � " � �%� � � � " ��� �%� ; ��� � ���� � ��� � ��� � " ��# �=E$ �� �������\�����%� �� � � D ��� � > ���� > � ���� � ����� ��# � ����# ��# � " � ��� � ��� ��� �� �%�����R�SR�TU: � " � � � � �a� "�; � �%� � � � ������������ � T � ��� � �

� # � ����#$� � �%� �%� "�� "��(V ��� #XW � ��� " ����� � # ��Y " # � � �%��� � � ��� � ��� �� �%��#$� "�� � � ��� � ��" �%� # �� � ����� ��� RZTU: �������� ������� � ���W � �� " ����� � # ��[ � � � � � # � � ��#$� � � � �%��"�� � ����� � � �]�F_a]�A2^2_aZ Z%$

� ] B�[U]#[CB�A�]#[�[ � �%� � �%��� � �%����� ��" " �� ����� W�� � � � ��� � "�� �� � � � ���� $� � � ^X`�a X_b � �%� � �%��� � �������� �%"�� # � � ��#$� � � � ��� "��eW � ���� � �� eW ���QY " # � � ��� � � � ����� ������ �%� # � D � � � � � � � "��fV ��� #XW �� �� " ��� � � # �

0 � ����� !��K;_ � ^ ZLA � `�^2_a`��F_NAO!�������� � ��� �� zE!� �%�%� �%�� E � � ���� "�� ������� � ��SW � �� " ��� � � # �w � ����� � � " � �%� # ��eK;_ � ^ ZLA � `�^2_a` �F_NAm � " � � � � �a� "�; � �%� � � �������� � � ��g?]S_a`d�@�_a`fB�g � Y4`fB

#$� � � " �" ��" NE �

[ � � � " � �� � � � " ����� ����� �%" � � � ��� ���FE� �� ��� ���� �%� � � ���� � � ��� E " ��� ���%� � � � � � � 0 ������ w �a� "�; � �P ������# � � � � � " � � " D � �� � � � ��� � " ��# � � � � � ��� � � ��� � "��,; ������� � ���,� �'&)( s > i***�i � u : � � � � � �� � � ��� � ��� D " ���� � � � � �7Y " ��� "�� � � �5� > i � �+*** �7Y " � � "�� �� � �$� > i � �zY " � � "�� � � �$� � i � �,***D�Y " � � "�� � � � � � i � � Y " ��� "�� �� � �'� � i 0 �-**.* �fY " � � "�� � � � � � q > i � �

Page 243: Data Structure and Algorithm by Y. Narahari

� � ��� ����

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

������� ��!�"$#&%(')!*'+��,-'/.0#&%(!�12'/.3'+.-4��5.-%6!�127986%6,:#3'/�;'+< + �5"$#&,=7/"5">'+.-4�%6!�1�#&'2,0')?@��86%6!��A7/.'+.-4��>.�%6,B,0'C�D��!�4;7/?E�A!F#G7+8�#&�;7H#B%I#J%6,B��<;%6KL��%I#&')��,M%(!N�5!�1F%(!��5�>.-%6!�1�7HO�O;86%6"57H#&%6'+!�,P%6!7+8(8Q4�%6,0"5%IO;86%(!��A,>R �����>.-��7/.0�S#UTV'W<�.-'F7+4X"57H#-�>1F'+.-%(�5,J'+�3,0'+.Y#&%6!�1@?E�$#&��'Z4�,>[]\<$'&A^ 25_$a`;bc,0'+.Y#&%6!�1�#d7,%)�A,MO;867+">�S%6!e#&���S?f7+%(!f?E�5?e'+.YgFh+T9���>.0�2Ti�S"57+!N#G7 %+�S7+4kj/7/!l#G7/1)�'+�2#G���m.&7+!�4�')? 7/"5"$�A,0,f!;7H#&��.0�m'+�n#&���?f7+%(!o?E�A?E'+.YgqpVrts1&A^ 2 $a`;b�,0'+.Y#&%6!�1u%6,!��5">�5,0,-7/.YgvT9���A!w#&���N!Z��?�<x�5.�7+!�4y,-%Iz5�e'+��'+< + �A"{#&,*7/.0�eO�.-')��%I<;%I#&%Ij)�|#&'�<}�~7+"d�">')?e?e'L4;7H#-�54e%6!~#&����?f7/%6!�?E�A?E'+.YgFR

� ��2� �0���k� >�E���� %Ij)�A!�.0�A">'+.-4�,��H�G�-� m � nFn]n �-�5�lh)T9%�#&�<%)�$gCj/7+8(���A,B�L�&�{� m � nFn]n �$���lhFO�.-'Z4���"$�V#&���

.0�5"5'/.&4�,i%6!~#&����'+.-4��>.�>�I�Y�-�>���&� nFn]n �-�>�����

,0��"d��#G�;7�#� � �P��� � �M� n]nFn ��� � �

� ������">')?EO;8I�$��%I#Uge'/��7|,0'+.Y#&%6!�1@7+8I1F'+.-%I#&��? "57+!X<x��?E��7/,-��.0�54~%(!~#-�5.-?e,B'+�� !Z��?�<}�>.V'/�37+8(1)'+.-%I#&��? ,:#-�5O;,J#&'|,-'/.0#J�v.0�A">'+.-4�,� !Z��?�<}�>.B'+�a">')?EO 7H.&%(,0')!�,P<}�$#¡Ti�5�5! %)�$g�,�¢£7HO�O�.&'/O�.&%67H#-�VT9���A!f#&����%)�$g�,

7/.0��86')!�1@"d�;7/.&7+"{#-�5.i,:#&.-%(!�1F,G¤� !Z��?�<}�>.3'+��#&%6?E�5,a.0�A">'+.-4�,3?W��,Y#3<x�V?e'�jF�54~¢¥7/O�O�.-'+O�.-%¦7�#&��T9���A!�.0�A">'+.-4

,-%Iz5��%(,�8¦7/.01)�§¤�m¨ !lgy,0'+.Y#&%6!�1©7+8I1F'+.-%I#&��? #&�;7H#W��,Y�5,W"5')?@O 7/.-%6,0')!�,*'/�3%)�>gk,�!��>�A4�,|7H#W8I��7/,Y#� ¢D!X8('+1@!x¤M#&%6?E�n#&'@7+">"5')?@O;86%6,0�e#&����,-'/.0#&%(!�1;R

ªdªG«

Page 244: Data Structure and Algorithm by Y. Narahari

�������������� ��)�+��������� ���L����� ª ���

�������������������� ���!#"$&%('*) +,%.-0/ 1324'*) +,%.-0/5 $&%768)�6:9;+*<>= ?A@.@B+,90@B+,CD-�'*)FE�9;+HG*)JI�9(%LKB-#+M<7G�'*9;+M-0N0)OJP ��Q�RS"T����� ��&UWV�"T���X� YZ�������&"������[ P [#[;\ �3"������ �XU�!#�^]A"T��������#"T���X���^���S"T����� V_� \^` V0 #U�"T�a"T�����"T� \ �&Qb���^����"T�����"� �� \�\ "T���X�

ced�f gihkjkjkl,m nporqts

uQ�>#wvyx{z�| �Jvyx~}4| � n]nFn ��vyx �y|M<x�e� .0�5"5'/.&4�, #&'X<}�N,0'+.Y#-�54w')!�7��+�>g��;�A8(4 ���+�>g���R�� !<;��<�<;8I��,-'/.0#Ah�.0�A">'+.-4�,BT9%�#&�X86'�T��)�$g�,*¢D86%I1F�F#J.0�5"5'+.-4�,G¤�<;��<�<;8I����O~#G'�#&���S#&'+O R

�.�* 2 ¢X��� z/p��A�8� ����z/p��3����¤�.�* 2 ¢{��� ��pM�������y��z/pM�����S¤

)#.S¢�vyx��B| R��)�$g���vyx�����z�| R��)�$g ¤,:T�7HO~#&����.-�5">'+.-4�,�vyx��B|c7+!�4�vyx�����z�|

  

¨ #V#&��� �5!�4�'+�a#&���e¢X�¡��z�¤,¢�£a%�#-�5.&7H#&%6'+!QhlTi���;7AjF�

vyx{z�| n]nFn vyx¤�¡��z�|¥ ¦T§ ¨,0'+.Y#-�A4~7+,�%(!~#&���� !;7+8Q'+.-4��>.

vax©�b| nFnFn vyx �y|¥ ¦T§ ¨��!�,0'+.Y#-�A4

� !v#G���ª� £�« %�#-�5.&7H#&%6'+!Qhq#&���¬� £�« 86'�Ti�A,:#��)�$g©<;��<�<;8(�5,���Ow#&'~#&���¬� £�« O '),0%I#&%(')!w7+!�4

Page 245: Data Structure and Algorithm by Y. Narahari

�������������� ��)�+��������� ���L����� ª �z>

Ti� 1)�$#vyx{z�| nFn]n vyx¤�¡��z�|Tvyx©�b|¥ ¦T§ ¨,0'+.Y#-�54

vyx¤�a� z�| n]nFn vyx �y|¥ ¦T§ ¨��!�,0'+.Y#-�A4�u'+.-,:#t"57+,Y��"5')?@O;8(�{��%�#¡ge7+!�4�7+8(,0'E7AjF�>.&7/1)� "57+,Y��"5'+?EO;8(�{��%�#¡gE%6,��@¢ � m ¤dR

ced�� ����mZqts��Mo � npo�q s

�t�5.0� %(!�#&���k� £�« %I#-�>.G7�#G%(')!Qhl#&���S.0�5"5'/.&4 vyx¤�b| %6,J%6!�,Y�5.Y#-�54~%(!l#&'�%I#&,JO�.-'+Ox�5.iO '),0%�#G%(')!%(!�#&���k�;.&,:#p�]O '),0%I#&%(')!�,>R

vyx�z�| nFnFn vyx©� ��z�|¥ ¦�§ ¨,-'/.0#-�54u¢D?f7Agf!�'H#�<}��7+,

%6!�#&���k� !;7+8Q'+.-4��>.{¤

vyx¤�b| nFn]n vyx �y|¥ ¦T§ ¨� !�,Y�5.Y#:vyx¤�b| %(!l#&'|7+!7HO�O�.&'/O�.&%67H#-�nO;867+">�

uQ�>#B��,�7+,0,0��?E�+hl� '+.�#G���9,-7.�)�t'/�Q"5')!FjF�5!�%(�5!�">�+hl7�� "{#&%I#&%6')��,�.0�A">'+.-4 vyx��L|;T9%�#G�ª�)�$gj/7+8(���w� ��� R

�.�* 2 ¢X����}Zp��A�8� ��p��y� ��¤��ª���tp� 4�) b ^v¢X�)�$g�'+�Zvyx��B| � �)�$g~'+�Zvyx�����z�| ¤�

,YTV7/O~.-�5">'+.-4�,�vyx��B|a7+!�4�vyx�����z�| p�ª� ����z 

  

��� ����%(<;%�#&,9#&����TV'+.-,:# "57+,Y�WO}�>.0�D'/.&?e7+!�">��T9���A!#G���W%(!�%I#&%¦7/837/.0.G7Agm%(,S,0'+.Y#-�A4

Page 246: Data Structure and Algorithm by Y. Narahari

�������������� ��)�+��������� ���L����� ª �{ª

%(!~.0�$jF�5.-,Y��'+.-4��>.AR� �u'/.&,:#t"57+,Y��7+!�4�7AjF�>.&7/1)� "57+,Y� O}�>.0� '+.-?f7+!�"$�S%6,��@¢ � m ¤

ced�� npmZl,m��as��Mo � nporqts

������ ���������I�L� x{z�| x~}_|�� ��� x¤�¡��z�|¥ ¦T§ ¨,0'+.Y#&�54~7+,�%6!~#&���

� !;7+8Q,Y�AKL���A!�"$�

x¤�b|�� ��� x �y|¥ ¦T§ ¨,Y�A8I�A"{#t8I��7+,:#97/?e')!�1C#&���A,Y�

7+!�4�,:TV7/O~T9%�#&� x¤�b|�

x{z�| x }4|���� � x¤�b|¥ ¦�§ ¨,0'+.Y#-�A4X7+,�%6!� !;7+8Q,Y�AKL���5!�">�

x©�3� z�|�� ��� x �y|¥ ¦�§ ¨g)�>#V#&'W<}��,0'+.Y#&�54

�.�* 2 ¢X��� z/���]� ����zHp��3� ��¤�

8('�T9%6!�4��{��� �-p�86'�Te�)�$g�� x©�b|�� �)�$gqp.�* 2 ¢{�����a��z/pM�@� ��pM��� ��¤)+.S¢ x��B|�� �)�>g���8('�Te�)�>g;¤�

8('�Te�)�>g�� x��B|�� �)�>g p8('�T9%6!�4��{�����

 ,:T�7/Ou¢ x¤�b| � x 86'�T9%(!�4��$� |D¤

  

Page 247: Data Structure and Algorithm by Y. Narahari

�������������� ��)�+��������� ���L����� ª ���

��� ��?�<}�>.J'+�3,:TV7/O;,:� ����z

��� ��?�<}�>.J'+�3">')?EO 7H.&%(,0')!�,F� ��� �������m

ced� n� mZlWl orqts

� � !FjF�A!F#-�A4N<lg �n7�jk%64 �Z���5868£R ¨ 86,0'|"A7/868(�54~7+,��n%6?E%6!�%6,0��%(!�1 � !�"$.0�A?@�A!F#&,J,0'+.Y#AR�fr�� � �Z���A8(8£R ¨ �2%I1F�Z� ,YO}�>�A4��Z'+.Y#&%6!�1��].-'Z"$�A4���.0�+R

����������� �"!$#&%�'��� ()�+*,%.-0/)12�43 h65P')86��?@� }Zh � ��?�<}�>.�7Lh O�O R 8 ���8 }ZhTz:9<;=9�R

�?> ���w7+8(1F'/.&%�#&��? TJ'+.��k,N<lg "5'+?EO 7/.-%6!�1y�A8I�A?E�5!F#G,f#&�;7H#�7/.0�w4�%6,:#G7+!F#�p #&���4�%(,:#d7/!�">�e<x�>#UTJ�>�5!�">')?EO 7/.-%6,0')!�,�4��5">.0�A7+,Y�A,W7/,�#&����7+8(1F'/.&%�#&��? .-��!�,���!l#&%(8#&����867+,:#�O;�;7+,Y�)h�%(!~T9��%6"d�X7+4�@Y7+"$�A!F#V�58(�5?E�5!l#&,V7H.-��">')?EO 7H.-�54QR

��A ,Y�A,c7+!�%6!�"$.-�5?E�5!l# ,Y�5KZ���5!�"$�)h&B � �CB m � n9n9n �DB £ R ¨ !lgS%6!�"$.-�5?E�5!l# ,Y�5KZ���5!�"$�]T9%68(84�'@7+,�8(')!�1@7+,EBx�H� z/h���'§Ti�$jF�5.J,0')?E� "d��'+%6"$�A,�7H.-� <x�>#0#-�>.J#&�;7+!X'/#&���>.-,5R

�m¨ � #&�>.�7WO;�;7+,Y�)h���,0%6!�1@,0')?E��%(!�">.0�5?E�A!F#FB0G�h�� '+.J�$jF�>.0g��-h�Ti���;7�j)�

vyx¤�b|c��vyx¤�y�HBIG | JKBML5�NL:OIL>� �y�HBIG � �> �;7�#C%(,5h�7+868��A8I�A?E�5!F#G,�,YO 7+"$�A4PB 7/O 7/.Y#�7H.-�e,-'/.0#-�54�7/!�4u#&���f,Y�AKL���5!�">��%6,,-7+%(4�#&'W<}�B G �RQTS§��UVLXW

�?> ��� � ')8(86'�T9%6!�1C,-��'�T9,t7+!X7/.0.&7�gN7/� #&�>.V,0')?@� O;�;7+,Y�A,�%(!X,0���A8(86,0'+.Y#ARY .-%(1)%6!;7+8 ¨ .0.&7�g Z z 9=[ z>z 9&\ z_} 8<; z]7 9<; }=Z ;=Z [ z 7&; z];¨ � #&�>.^;8�P�Z'+.Y# 8<; z]7 z>z }=Z z_} [ z 7&; z]; 9&\ ;=Z Z z 9=[ 9<;¨ � #&�>.$8 �P�Z'+.Y# }=Z z_} z>z 8<; z]; [ z ;=Z z]7 9=[ 7&; Z z 9&\ 9<;¨ � #&�>._zr�P�Z'+.Y# z>z z_} z]; z]7 }=Z 8<; [ z ;=Z 7&; Z z 9=[ 9<; 9&\

�m¨ !X%(?EO '+.Y#G7+!F#BO�.&'/O}�>.0#UgN'+�_�Z���5868(,0'+.Y#�[` ¨ ,Y�AKL���A!�"$�~T9��%("d� %6,aBIGf��,0'+.Y#-�A4�#&�;7H#@%(,W#&���5!bB0G ��� ��,-'/.0#-�54�T9%68(8

.-�5?f7+%(! B G �M,-'/.0#-�54QR

Page 248: Data Structure and Algorithm by Y. Narahari

�������������� ��)�+��������� ���L����� ª ���> ��%(,�?E�A7+!�,*#&�;7H#CTJ'+.��y4�'+!��~<lgu��7/.-8�gyO;�;7/,0�5,W%6,W!�'/#|��!�4�')!���<lg 867H#-�5.O;�;7/,0�5,>R

�?> ��� 7+"$#&%(')! '/� 7+! B0G��C,0'+.Y#-�A4�%6,@#&' O}�>.0�D'/.&? 7+! %(!�,0�>.Y#&%6')!o,0'+.Y#f')! B0G%(!�4��5Ox�A!�4��5!F#t,0��< 7/.0.G7Agk,>R

� �Z���5868Q,0��1)1)�5,:#-�A4N#G����%(!�">.0�5?E�5!l#J,Y�AKL���A!�"$�

B £ � � � }�� pCB0Gp� � BIG�� �} �

��'+.ij/7/.-%6')��,J.0�A7+,0')!�,>hk#G��%(,i#&��.-!�,�')�k#V#&'|<x�C7WO 'L'+.�"d��'+%6"$��'+�=%6!�"$.0�A?@�A!F#&,5R�9%(<�< 7/.-4�,0��1)1)�5,Y#-�54�7W<}�$#-#-�>.�,Y�AKL���5!�">�+p¡z/� 8��^7Z� nXn9n } G ��z n

� �u'/.&,:#Y� "57+,Y�©.-��!�!�%(!�1�#&%6?E�'+�2�Z���A8(86,0'+.Y#Ah9��,0%(!�1 ,0���A8(8� ,�%6!�"$.0�A?@�A!F#&,5hV�;7/,<x�5�5!�,0��'�T9!�#&'W<}� �E¢ � m ¤

� �u'/.&,:#Y� "57+,Y�V.-��!�!�%6!�1 #&%6?E�J'+� �Z���5868(,-'/.0#Ah)��,0%6!�1 �2%I<�< 7/.-4�� ,�%6!�"$.0�A?E�5!F#G,>h+�;7/,<x�5�5!�,0��'�T9!�#&'W<}� �E¢ � �� � ¤

� �L�54�1)�$T9%6" �9�;7+, O�.-'+O '),Y�54�,0�$jF�>.&7+8+%(!�">.0�5?E�A!F#Q,Y�5KZ���5!�">�5, #&�;7H# 1F%�jF�M7/! �@¢ ����TJ'+.-,:#Y� "A7/,0�2.-��!�!�%6!�1W#G%(?E�+R

� �Z��'�T9%(!�1|#&����7AjF�>.&7/1)�n� "57+,Y�C">')?EO;8I�$��%I#UgN'+��,0���A8(86,0'+.Y#9�;7+,tO�.-'§j)�A4~#&'E<x�W7� '+.-?e%(4;7/<;8(�t#&���A'/.-�$#&%6"57+8}"G�;7+868I�A!�1)�+R

� �;7/.V?e'+.0� 4��$#d7/%686,>hk.0�>� �>.wx TJ�5%6,0, 9=[;hk"G�;7/O�#-�5.�7Zh }&;=\��W}�\ �L| 7+!�4 x¤�Z!Z�k#&�?7�8L| R

ced�� � m���� npo�qts

�u'+.-,:#t"57+,Y��7+,iTi�A8(8 7/,t7�j)�5.&7/1)�n"A7/,0��.-��!�!�%6!�1W#&%6?E�n%6,��@¢ ��86'+1P�c¤�fr���� ��'+<x�5.Y# � R��=8('§gk4QR ¨ 8(1F'/.&%�#&��? }�[�;�¢ > .0�5���Z'+.Y#{¤dR �_��������� �'!$#&%�'��� ( �+*K%-0/

1 �43 h�5M'+86��?E� 7Lh�O�O R 7 � z/h zT9&\�[;R�fr���� ��R � R���R�� %6868(%¦7+?E,5R ¨ 8I1F'+.-%I#&��? }=8 }�¢ �t��7HO;,-'/.0#{¤dR �_��������� �'!$#&%�'��� (K�+* %-0/

1 �43 h�5M'+86��?E� 7Lh�O�O R 8�[�7�� 8=[ Z�hazT9 \=[;R

��� ^l` �"!#�V�5"A7+8(8B#&�;7H#e7v����7HO %(,e7v">')?EO;8I�>#-�N<;%6!;7/.Ygu#-.-�>��,0��"d� #&�;7H#|#&���Ti�5%(1F�F#V'/�=�>jF�>.YgN!�'L4���%(,�8(�5,0,J#G�;7/!�#&��� TJ�5%(1F�F#&,J'+�a%I#&,V"d��%(864�.0�A!QR

Page 249: Data Structure and Algorithm by Y. Narahari

�������������� ��)�+��������� ���L����� ª �Fw

1

2 4

6 8 16 10

7 9 15

1

2 3

4 5 6 7

8 9 10

��������� «��� �������������� ���� ��� ���

�m¨ ���A7/OeT9%I#&�@� �58(�5?E�5!l#&,�"A7+!e<x�n">')!FjF�5!�%(�5!l#&8IgC.-�>O�.0�A,Y�5!l#-�54e7+,P#&���p�;.-,Y#���58(�5?E�5!l#&,9'+��7+!�7/.0.&7�g)R�����.0#&���>.-?e'+.0�)h;#G���W"G��%6864�.0�5!©'/� vyx¤�b|�"A7/!©<}�W� ')��!�4%(!�vyx~}4�b|B¢D8I�5� #�"G��%6864x¤B7+!�4�vyx~}4�a��z�|�¢ .&%I1F�F#�"d��%(864x¤

� �L�>� �=%(1F��.0� 9�R zn� '+.�7+!X�{�;7+?@O;8(���� �5!��5.-%6" ���A7/OX,-'/.0#t7+8(1F'/.&%�#&��? [

�� !�,Y�>.Y#27+868 .0�5"5'+.-4�,i#&'W� '+.-? 7@���A7/O �}p�! �" b ^w¢"��%(,V!�'/#��5?EO�#Ug ¤�g � ?E%6!w¢ ��¤dpO�.&%(!l#J#G���Sj/7/86����'+�cg p4��A8I�>#-�Sg�� .&'+? �}p

  

�t��7/OX,0'+.Y#t">.-��">%¦7+8(8Ige��,0�5,97W� ��!�"{#&%6')!~"A7+8(8(�54�O;��,0��4�'�T9!y¢��;.-,:#�h�867+,:#{¤{R

> ��%(,*7+,0,0��?E�5,S#G�;7�#�#&���E�58(�5?E�5!l#&,�vyx©�;.-,:#�| h vyx©�;.-,:#ª� z�| h n]nFn hZvax 8¦7+,:#�|M'/<}�$gv#&������A7/OEO�.-'+Ox�5.Y#UgFh+�{��"$�>O�#MO '),0,0%(<;8�gC#&���9"d��%68(4�.-�5!W'+�avyx©�;.-,:#�| R > ����� ��!�"$#&%6'+!|O;��,0���5,

Page 250: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª ���

10

1 2

6 8 16 4

7 9 15

1

2 3

4 5 6 7

8 9 10

1

10 2

6 8 16 4

7 9 15

1

6 2

10 8 16 4

7 9 15

1

6 2

7 8 16 4

10 9 15

Pushdown (1,10)

Heap

��������� «�� ª ��� ��� ����� � � � ����� ������ � � ��� � � � � � ����� �vyx©�;.-,:#�| 4�'�T9!X��!F#G%(8 #G�������A7/O�O�.-'+Ox�5.Y#UgN%6,V.0�5,Y#&'+.0�54QR

rtsc`"! �=b ^ ! �L�>� �3%I1F��.0��9�R }ZR �9�>.0�)hyvyx�z�| � nFnFn ��vyx{z �L|=%6,S7f���A7/O�$��">�>O�#n#&�;7H#2#&���"d��%(864�.0�5!~'+� vax�z�|Qj�%(')8¦7�#&�2#G�������A7/OXO�.-'+Ox�5.Y#UgFR

# �� ���¡�����%$����������&���Z��

')(+*�, ��� � - ���S�8� z/p�� ���/.O;��,0��4�'�T9!u¢X�-�0�c¤{p 0 � %(!�%I#&%¦7+8}����7/OX"5'+!�,Y#-.-��"{#G%(')! � 0')(+* ¢X��� ��p � �8��}Zp�� � � ¤

�,:TV7/OX.0�5"5'/.&4�,Fvax©�b|c7+!�4�vyx{z�| pO;��,0��4�'�T9!u¢�z/��� ��z�¤

  

� �£#�"57+!�<}��,0��'�T9!N#&�;7H#B#&����%6!�%I#&%67+8}���A7/O~"5')!�,:#-.-��"$#&%(')!e#d7L�)�A, Y ¢D!x¤P#&%6?E�n%6!#&���STJ'+.-,:#�"57+,Y�)R

Page 251: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª ���

�?> ����,0'+.Y#&%6!�1WO}'+.Y#G%(')!f#d7L�)�A,BTV'+.-,:#�"57+,Y� �E¢ ��8('+1P�c¤M#&%6?@�)R� �t��7HO ,-'/.0#X"57+! 7+86,0'�<x�w��,Y�A4 � '+.�"5')?@O;�k#G%(!�1 '+.-4��>.�,Y#G7H#&%(,Y#&%("5,>h�%(�+R6hS� £�«

8('�TJ�5,:#V%(! 7|8(%6,:#t'+�=.0�5"5'/.&4�,>R

ced�� � h� ��� npo�qts

�fr���� �nR ¨ R ��R �2'F7H.-�+R ¨ 8(1)'+.-%I#&��? \&8 ¢���7/.Y#&%I#&%(')!x¤|7+!�4 ¨ 8I1F'+.-%I#&��? \<; ¢�� !�4x¤dR�_��������� �'!$#��'��� ( �+*�-0/ 1 �43 h�5M')8(��?E� [;h � ��?�<}�>. 7ZhJO�O R 8 }tzG� 8 }>}Zhz:9&\ z/R

�fr���� �nR ¨ R ��R �2')7/.0�)R��n��%6"J�k,0'+.Y#AR� -0/ ������� ��� /���� �����^� #� h=5M')8(��?E� ;Zh � ��?�<x�5.zHh�O�O Rpz ����z];Lh zT9&\ }ZR

�fr���� ��'+<x�5.Y#��L�A4�1)�$T9%6"J� R � ?EO;8(�5?E�5!l#&%(!�1XKL��%6" �Z,0'+.Y#*O�.-'+1+.G7/?e,>R ���������I� �'! #���.�"��� (K�+*��-0/ 12� 3 hI5M')8(��?E��}tz/h � ��?�<}�>.7z ��h�O�O R Z�[�7�� Z<; 7Zh zT9<7�Z�R

� �2%Ijk%64���7+!�4~"5')!�KL���>.t7+8(1)'+.-%I#&��? 4��5,-%I1F!��54~<lg� ¨ � �2')7/.0��%6! z:9&\ }ZR� �u'/.&,:#n"A7/,0� �E¢ �

-¤J#&%(?E�)h <;�k# 7AjF�>.&7/1)��"A7+,Y� �@¢ ��86'+1]�c¤V#&%6?E�+R��M�$#0#&�>.n7�jl�

�>.&7/1)� "57+,Y��O}�>.0�D'/.&?e7+!�">�9#&�;7+!X���A7/O ,0'+.Y#AR

� ��� � � !�b " ( * "$#� ! !> '|,0'+.Y#V#&��� .-�5">'+.-4�,�vyx¤�b| ��vyx¤�y��z�| � n]nFn ��vax �B| h�%6!�O;8¦7+"$�+RKL��%6" �Z,0'+.Y#�¢X�-�*�Z¤

�" ' ¢�vyx¤�b| � � ��vyx��B| ">')!l#G7+%(!X7�#t8(�A7+,:#V#¡TJ'W4�%6,:#&%6!�"{#p�)�$g�,G¤�

8I�># Of<}� #&����867/.01)�>.V'+�c#&���k�;.-,:#V#¡TJ'W4�%6,:#&%6!�"{#��)�$g�,>p��7/.Y#&%I#&%6'+! vax©�b| ��� �Jvyx �B|a,0'�#G�;7�#�� '+.�,0')?E�*�e<}�$#¡Ti�5�5!��a��z�7+!�4¬�;hvyx¤�b| ��� ��vax �w��z�|c7+868Q�;7AjF� �)�$gk,�� O}h;7+!�4vyx � | ��� ��vax �B|=7/868q�;7AjF�k�)�$g�,&%HOxp

KL��%6"J�k,0'+.Y#*¢X�-�{����z�¤dpKL��%6"J�k,0'+.Y#*¢ �x�*�Z¤{p

 

Page 252: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª ���

 

vyx¤�b| � ���:vyx ����z�|¥ ¦�§ ¨�)�>gk,����

vax � |�� � �:vyx��B|¥ ¦T§ ¨�)�$g�,����

O %6,�"A7+8(8(�54 #G����O;%Ijl'/#AR �£# ">')��864 <}�w7+!lg �A8I�A?E�5!F#�,-��"G� #&�;7H#�#&����.0�A,0��8�#G%(!�1O 7/.Y#&%I#&%(')!f4��A,0%I.G7H<;8Ig��;7+,i#UTV'��5KZ�;7/8 ,0%Iz5�54X1).-')��O;,>R

� ��� �� !�b " (+* "�#� ! ')( *� ` * #�"$#�" ( � " � "

" � # O 7H.0#&%�#G%(')!v¢ " � # �-p " � # �;p �)�$gl� #¡gZO}� O;%�jl'/#{¤dp0 � O 7/.Y#G%�#&%6')!�,M#&�����58(�5?E�5!l#&,rvax � | ��� ��vax �B| hTt.Y#V#&��� O;%Ijl'H#t7+!�4X.0�$#&��.&!�,B#G����O}'),0%I#&%6')! � � 0

�" � # � �0�Zp�� ���-p 0 � � ,Y#G7/.Y#&,i� .-')? 8(�>� #V�5!�4 � 0�����;p 0 � �W,:#d7H.0#&,B� .-')? .-%(1)�l#i�A!�4 � 0� (

,:TV7/O~#&����.0�A">'+.-4�,�vyx � |a7/!�4�vyx �4| p� �" b ^v¢�vyx � |]RA�)�$g�� O;%Ijl'H#$¤

� � � ��zHp� �" b ^v¢�vyx �4|]RA�)�>g %�O;%IjF'/#{¤

�w� ����z/p�! �" b ^v¢ � � �)¤dp

.0�$#&��.&! ¢ � ¤dp 

 

� ��'+.�7+!X�{�;7+?@O;8(�+hk,Y�5� �=%(1F��.0� 9�R 8�R� �u'/.&,:#t"57+,Y��7/.-%6,Y�5,iT9���A!N#&����%(!�O;�k#t%6,t7/8(.0��7/4kgN,0'+.Y#&�54Q[ �@¢ �

�m¨ jF�>.G7H1)�S"57+,Y�@[ �E¢ ��86'/1P�c¤

Page 253: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª �d«

3 3

3 3

3 3

3 3

3 3

3 3

3 3

1 1

1 1

1 1

1 1

1 1

2

2

2

2

2

4

4

4

4

4

4

4

5 5

5 5

5 5

5 5

5 5

5 5

5 5

5 5

5 5

6

6

6

6

6

6

6

6

9

9

9

9

9

9

9

9

done done

done done

done done

done

v = 3

v = 4 v = 9

v = 6

v = 5v = 2 }

}

}

} level 1

level 2

level 3

��������� «�� ����� ������� � ����� ������� ���� � � ��� � � � ��� �� � � ��� �

� ��� �� �� "� ���� ( * # !�!��}^ * ` " ^��*` � ^ ! � `;b�� ��"��¨ ,-,0��?E�2#G�;7�#97+868Q%(!�%I#&%¦7+8}'+.-4��5.-%6!�1),J'+�c#&�����)�$g�,V7/.0� �AKL�;7+868�gN86%��)�58Ig p

�m¨ ,0,-��?@�n#&�;7H#V#&���k�)�$g�,t7/.0��4�%(,Y#&%(!�"$#� '/#-�2#&�;7H#B#&���SO�.0�A,Y�5!�">��'+� �5KZ�;7+8y�+�>gk,BT9%(868}?e7.�)�2#&��� ,0'+.Y#&%6!�1*��7+,0%I�5.5hk!�'/#�;7H.&4��>.5R

�m¨ 86,0'�7+,0,0��?E�=#&�;7H#QT9���A!nTi�P"57+8(8/KL��%6" �Z,0'+.Y#M¢X�-�M�Z¤dh§7+868H'+.-4��>.&,q� '+. x©�b|��� � x��B|7H.-� �5KL�;7+868�gN86%��)�A8�gFRuQ�>#��C¢D�c¤F� 7�j)�5.&7/1)�2#G%(?E�2#G7.�+�A!�<Lg�KL��%6" �Z,0'+.Y#J#&'|,-'/.0#V�v�A8I�A?@�A!F#&,

� �C¢�z�¤������MT9���>.0������%(,�,-'+?E� ">')!�,:#d7/!l#AR

Page 254: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª����� �V�5"A7/868}#&�;7H#V#&����O;%Ijl'H#�%6,B#G����867/.01)�5.J'+�c#&���k�;.-,Y#J#¡TJ'W�58(�5?E�5!l#&,>R� � ���5!E� � z/hlKZ��%(" �k,0'+.Y#P,0O;8(%I#&,�#&���9,0��< 7/.0.G7Ag)h/#G7.�k%(!�1 � - �~#&%6?E�+h+T9���5.0� � -

%(,�7+!�'/#&���>.V">')!�,:#G7+!l#AR

¨ 86,0'�hF,0%6!�"$�V#G����O;%�jl'/#P%6,�#&���t8¦7H.-1+�5.]'+�x#&���p�;.-,Y#�#¡TJ' �A8I�A?E�5!F#G,>h)8I�5� #P1+.&'+��O;,�#-�A!�4#&'W<}��8¦7/.01)�>.i#&�;7+!N#&��� .&%I1F�F#V1).-')��O;,>R

> ����8I�5� #V1+.&'+��OX"57+!X�;7AjF�k���A8I�A?@�A!F#&,�T9���>.0�k��� z/��}Z� n]nFn �0� ��z/h�,0%6!�"$�S#&����8(�>� #1).-')��Ov�;7+,*7�#*8I��7/,Y#�'+!��E�58(�5?E�A!F#�7+!�4�#&���@.&%I1F�F# 1).-')��Ou7+8(,-'X�;7+,�7H#�8(�A7+,:#*'+!���58(�5?E�5!l#AR

u �$#9��,F������7+!�4N#&.Ygf#&'|"5')?@O;�k#&�2#G����O�.-'+< 7/<;%(86%�#¡g [� � 8(�>� #�1).-')��O~�;7+,��P�58(�5?E�A!F#&,  

� '�T�h�8I�5� #�1).-')��OX�;7+,F�P�58(�5?E�5!l#&,� O;%Ijl'/#V?W��,Y#J<}� #&���f¢��y��z�¤����3�58(�5?E�5!l#V7+?e')!�1C#&�����v�58(�5?E�5!l#&,

� ��#&����O;%Ijl'/#2%(,2%(!mO}'),0%I#&%6'+! z/h #&���A!�#&���*�58(�5?E�5!l#9%(! O '),0%I#&%(')!�}@%6,9')!��C'/��#&���w�,0?f7+8(8(�>.i�58(�5?E�5!l#&,i7+!�4~jk%6"$�$�£jF�5.-,-7�R

� � �3'),0%I#&%(')! zS">')!l#G7+%(!�,J')!���'+� #G�����M,0?f7/868(�>.B�A8I�A?E�5!F#G,  

� � �����z�� � z��

�Z%(?e%6867/.-8Ig)h� � �3'),0%I#&%(')! }C">')!l#G7+%(!�,J')!���'+� #G�����M,0?f7/868(�>.B�A8I�A?E�5!F#G,  

� � z�� � �����z��

> ���>.0�5� '+.0�+h� � 8I�5� #�1+.&'+��O��;7+,��P�58(�5?E�5!l#&,  

� } ��P¢ ����z�¤

> ��%(,V8(�A7+4�,i#&'

Page 255: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª���

�C¢ �c¤B� �- � �

������� � �

} ��P¢D����z�¤ � �C¢X�¡¤¡� �C¢ ���i�¡¤  

A ,-%(!�1 ������� � ��� ¢X�¡¤A�

������� � ��� ¢ � �i�¡¤d�

Ti� 1)�$#�C¢ �c¤B� �

- � � z����z

������� � � � �C¢X�¡¤ � �C¢ ��� �¡¤  

> ����7H< '�jF�n�{�kO�.-�5,0,0%6')!�%6,i%6!f#G��� � '+.-? %�#iTJ')��8(4��;7AjF�n<}�>�A!~%(� Ti� �;7+4NO;%6"J�)�A4~7#-.-��8Igf.&7+!�4�'+? O;%Ijl'/#�7H#t�A7+"d�X,:#-�>O R> ����7/<}'�jF��,0%6?EO;8(%��;�5,B#&'�[

�C¢D�c¤�� �- � � }

����z������� � � �C¢X�¡¤

> ���C7/< '�jF�*%6,9#&����.-�5">��.-.0�5!�">��#&�;7H#2')!��*TJ')��864�1)�$#n%(�M7/868c,0%Iz5�5,2<x�>#UTJ�>�A!izC7+!�4����z � '+.i#G����8I�5� #�1+.&'+��O~Ti�5.0� �5KZ�;7+8(8IgN8(%{�)�58Ig)R > �L��,JO;%6"J�k%(!�1|#&����8¦7H.-1+�5.J'+�a#&���#UTV'��58(�5?E�A!F#&,i4�'l�5,-!�� #t.0��7+8(8Igf7�� �5"$#�#&����,0%(z>��4�%6,:#-.-%(<;�k#&%6')!QR� ��,0�;7+868q1F���5,0,J#&����,0')8(�k#&%6')!

�C¢ �c¤B� �S��86'+1P�� '+.�,0')?@� "5'+!�,Y#G7+!F# � 7+!�4~O�.&'�jF�S%I#&,�"5'/.-.0�5"$#&!��5,0,J��,0%6!�1@%6!�4���"{#&%6')!QR

� � �,� �G�����} � �S��86'+1�����} �

T9��%("d�X%(,V"5'/.-.0�5"$#AR

�M������� ���I�L� � �� � �¨ ,-,0��?E� �C¢��¡¤���� �l86'+1H��� ����R

�C¢ �c¤ � �- ��� } �

����z������� � � �l8('+1S�

Page 256: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª��$ª

� �- ��� } �

����z��� -�� � � �l8('+1S�a� } �

����z������� � � ��� � �l86'+1A�

� �- ��� } �

����z��� -�� � � �l8('+1 �

} �} �

����z������� � � � � � �l86'+1]�

� �- ��� � ��8('+1]��� � �

[ � � �}�¢ � ��z�¤ �t7/� #-�>.�,0%6?EO;8(%�� "57H#&%6')!

�P%(" �k%(!�1�� % [ � - h�Ti���;7AjF�+h

�- ��� � �

[ % �

> �L��, �C¢ �c¤B%6,��@¢ ��86'+1]�c¤

ced�� � q�� m q n�s ��s�� s � � ��� %Ij)�A!X7|8(%6,:#t'+�a��.-�5">'+.-4�,5h�7/!�4 7+!�%(!l#-�>1)�5.9�xh�� !�4~#&����.0�5"5'/.&4NT9��'),Y�k�)�$g

%(,i#&����� � %(!~#&����,0'+.Y#&�54X'/.&4��>.�'+� �)�>gk,>R��� '/#-�n#&�;7H#

� � z ">'+.0.0�A,YO '+!�4�,B#&'ª� !�4�%(!�1|#&����?e%(!�%6?W��?� � � ">'+.0.-�5,YO ')!�4�,B#G'�� !�4�%6!�1W#&����?f7���%6?W��?� � �

} ">'+.0.-�5,YO ')!�4�,B#G'�� !�4�%6!�1W#&����?E�A4�%67+!

� � � � � !�b " (+* "�#� ! �

Y !��2"A7+!N7H.-.&7+!�1+�t#&���9� �)�$g�,�%6!F#&'C7*���A7/O�7+!�4eO;%(" �W#G����� �� 867/.01)�5,Y#M%6!X�@,:#&�>O;,>hT9���>.0�|�A7+"d�w,:#-�>O�#G7.�)�5, 86'+1l7H.&%�#&��?e%6" #&%6?E�W%(!�#G���@!L��?W<x�5.S'+�M�A8I�A?@�A!F#&,S'+�M#&������A7/O R

�Z%6!�"$��#&���n">')!�,:#-.&��"{#&%6')!|'+�Q%(!�%I#&%¦7+8����A7/Of"57+!e<x�S7+">">')?EO;86%(,0���A4W%6!ETJ'+.-,:#M"57+,Y��@¢ �c¤M#&%6?E�+hL#&��� TV'+.-,:#�"57+,Y��"5'+?EO;8(�{��%�#¡gE'+�c#&��%6,t7/8(1F'+.-%�#G��? %6,>[

�E¢ � � �B8('+1P�c¤> ���>.0�5� '+.0�i%(� �f� �

����� � '+.i� % ������ � h+#&���t7/<}'�jF�t7+8I1F'+.-%I#&��?�T9%6868Z�;7AjF���@¢D�c¤cTV'/.&,:#

"57+,Y��"5'+?EO;8(�{��%�#¡g)R

Page 257: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª����� � � �� !�b " (+* "�#� ! �

5M7/.-%¦7H#&%6'+!f'+�3KZ��%(" �Z,-'/.0#AR�L�58(�5"$#C¢X�-�*�)�$��¤ 0 � � !�4�,J#G����� �� �58(�5?E�A!F#t7/?e')!�1 x©�b|�� � � x �B| � 0

�O;%6" ��7WO;%Ijl'/#J�A8I�A?@�A!F# OxpO 7/.Y#G%�#&%6')! x©�b| � ��� x �B| ,-'E7+,i#&'W1)�># x¤�b|�� ��� x�� ��z�| T9%�#&���)�$g�, � O�7+!�4 x���| ��� � x��B|QT9%�#G���)�$g�,&%HOxp

" ' ¢ �f��� ��zA¤�L�58(�5"$#C¢X�-��� ��z/�{��¤

^Zb � ^�L�58(�5"$#C¢����M�+�$�w��� �i�¡¤

 

� �u'/.&,:#�"57+,Y�|"5'+?EO;8(�{��%�#¡gX'+�P#&���|7/< '�jF�|7/8(1F'+.-%�#G��? %6, �@¢D�-¤W¢¥7+, %(!�KL��%6" �F�

,0'+.Y#{¤dR�m¨ jF�>.G7H1)���J7+,Y�+[

` � '/#-�2#&�;7H#J,Y�A8I�A"{#�"57+8(86,B%I#&,Y�A8I�c')!�8�gf')!�"$��7H#�7�#&%6?E�tT9���5.0�A7+,JKL��%6"J�k,0'+.Y#"A7+8(8(�54X%�#G,Y�58(� #¡T9%6"$� �A7+"d��#&%(?E�)R

` Y !~7+!�7AjF�>.G7H1)�)hL,Y�A8I�A"{#V"57+8(86,�%I#&,Y�A8I� ')!X7C,0��< 7/.0.&7Age�;7/8(� 7+,J8(')!�1W7+,�#&���,-��< 7H.-.&7Ag)R > '~<}�@"5')!�,Y�>.Yj/7H#&%IjF�+h ,0��O�O}'),Y�@#&�;7H# �A7+"d�w"57+868�'+��,Y�58(�5"$#�%(,')! 7+!X7/.0.G7Ag ,���� . �� #G����,0%Iz5��')!XO�.0�$j�%(')��,J"57+8(8£R > ���5!Qh

�C¢ �c¤B� � � � � � 9/�z � �

T9��%6"d�~"A7+!~<}��,0��'§T9!N#&'|<x� �@¢ �c¤dR

� � � �� !�b " (+* "�#� ! �

�u'+.-,:#t"57+,Y��86%6!��A7/.B#G%(?E��7+8I1F'+.-%I#&��? 4�����#&'��8(��? h �=86'�gk4QhM�].G7�#-#Ah ��%�jF�A,:#Ah > 7/.0z�7/!QR

Page 258: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª�� ��fr���� � 7+!L���A8 ��86��?�h ��'+<}�>.Y# � R �=86'�gk4QhX5�7+��1F�;7/! �].&7H#0#Ah ��')!;7+8(47u �t%�jF�5,Y#Ah�7+!�4��'+<x�5.Y# � R > 7/.�@07/!QR > %(?E��< ')��!�4�, � '+.�,Y�A8I�A"{#&%6')!QR � �����^� #�_�+*�������� ���"/��

#��������=(�� /C� � !D�"/C� !^/C( h�5M')8(��?E� 7Zh � ��?W<x�5.6[;h�O�O R_[&[<Z§� [<\ z/hazT9<7=8�R�?> ��%(,3%6,�7+86,0'S72j/7H.&%67H#&%6')!�'+� KZ��%(" �Z,-'/.0#�7/!�4�#&���J?f7+%6!�%64��A7n%6,=#&'8� !�4|7n1F'L'Z4

O;%�jl'/#AR�m¨ ,0,-��?@��#&�;7H#27+8(8 #&���*�58(�5?E�5!l#&,t7/.0��4�%6,:#&%6!�"{#AR > ����7+8I1F'+.-%I#&��? TV'/.��Z,�'/#&�Z�

�>.YT9%6,Y�n#&'L'�RzHR �2%Ijk%64��S#&�����v�A8I�A?@�A!F#&,J%6!F#&'�1).-')��O;,V'+��;�8(�A7�jk%6!�1|7/,-%(4���<}�$#¡Ti�5�5! �@7+!�4 [

�58(�5?E�5!l#&,M#&�;7H#t"57+!�!�'/#�<x��O;867+"$�A4~%6! 7�1).-')��O R�Z'/.0#9�A7+"d� 1).-')��Om'+� ;|�A8I�A?@�A!F#&,V<Lg7/!lg�7+8(1)'+.-%I#&��? 7+!�4m#G7.�+��#&����?e%(4�4�8(��58(�5?E�5!l#i� .-')? ��7/"d�X1).-')��O R > ��%6,igk%(�5864�,

� ��� ; � ?E�A4�%67+!�,>R}LR A ,Y�@#&��� � � u � � > 7/8(1F'+.-%�#G��? #&'�� !�4w#G��� !u^ � " ` � '+��#&���A,Y� � ���&; � �58(�{�

?@�A!F#&,5R �i��'L'),Y�S#G��%(,�?E�54�%¦7+!�7+,J#&����O;%Ijl'H#�R��� '/#-�n#&�;7H#V#&��%6,iO;%Ijl'/#V%6,�%(!XO '),0%�#G%(')! � � � �� � ��m¨ 86,0'�h9#&���wO;%�jl'/#~�$��">�>�54�, � ��� �� � � '+�*#&���w?e%(4�4�8(�©�A8I�A?E�5!F#G,~7+!�4 ��7/"d� '+�

#&���5,Y��?e%64�4�8I�n�58(�5?E�A!F#&,i�{��"$�>�A4�,i#UTV'��58(�5?E�5!l#&,>R > �L��,>hk#G��� O;%�jl'/#J�$��">�>�54�,7�#t8(�A7+,:#

8�� ���P;z � � �58(�5?E�5!l#&, n

¨ 86,0'�hk<lgX7|,0%6?E%68¦7H.V7/.01F��?@�A!F#Ahl#&��� O;%Ijl'H#�%6,�8I�A,0,J#&�;7+!X7H#t8(�A7+,:#8�� ���P;

z � � �58(�5?E�5!l#&, n

� � �=� % 7&;Lh8�� ���P;

z � � % 8�� 7 �z ��� � }tz � 7 ;[

� !�'/#&���>.iTJ'+.-4�,>h� % 7&; � 8 � �b;

z � � % �[

> ��%(,VTV')��8(4�?E�A7+!�#&�;7H#Ah %(�3� % 7&;Zh�#&���*O;%IjF'/#9%6,�1).0�A7H#-�5.J#&�;7+!m7�#n8I��7/,Y# � ��58(�5?E�5!l#&,�7+!�4u8(�5,0,�#&�;7+!u7H#�8I��7/,Y# � � �A8I�A?E�5!F#G,>R �i')!�,Y�AKL���A!F#&8Ig)h T9���A!wTi�

Page 259: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª����O 7H.0#&%�#G%(')!C7/!E7/.0.&7Ag�T9%I#&�C#G��%(,�O;%�jl'/#AhH#&���n� ��J�58(�5?E�5!l#�%(,�%(,-'+8¦7H#-�54*#G'nT9%�#&��%6!7�.&7+!�1)��'+�=7H#t?e'),:#�� �� '+�a#&��� �A8I�A?E�5!F#G,>R

�U� �Z� >� 0� ��� ���I�L�� ^ � # � �]^N,0�58(�5"{#C¢ " � # �-�M�+�$��¤dp

0 � .-�$#&��.-!�,F�)�$gX'/�c#&���C� ��867/.01)�A,:#J�A8I�A?E�5!F#�7+?E')!�1 x©�b| ��� � x��B| � 0�" ' ¢0¢{���i�¡¤r� 7&;)¤� !�4~#&����� ���8¦7/.01)�5,:#V<lg~,-'+?E� ,0%6?EO;8I��7+8I1F'+.-%I#&��?

^Zb � ^ �')( * ¢�� � ��p � � ¢{�7� � � [Z¤ �&;Zp � ����¤�� !�4E#&����#G��%I.-4E�A8I�A?@�A!F#�7+?E')!�1 x¤� � ; � ��|�� ��� x¤��); � � �?[B|7+!�4�,:TV7/O�%�#VT9%I#&� x¤�3� � | pO;%IjF'/#8� ,Y�A8I�A"{#C¢X�-��¢{���i�¡� [Z¤ �&;Z�§¢{� �i�¡� [Z¤ �tz �l¤� � O 7/.Y#G%�#&%6')!v¢X�-�M�;hkO;%�jl'/#{¤dp" ' ¢ �e� � � �¡¤

.0�$#&��.&! ¢D,0�58(�5"{#C¢X�-� � ��z/�$��¤0¤^Lb � ^

.0�$#&��.&! ¢D,0�58(�5"{#C¢��v�*�)��¢ ��� ¢�� �i�¡¤0¤0¤ 

  

> ���STJ'+.-,:#�"57+,Y��">')?EO;8I�$��%I#Uge'/�c#&���*7H< '�jF��7+8I1F'+.-%I#&��? "57+!X<x��4��A,0"$.&%I<}�54X<lg�C¢D�c¤ � ��� %I�=�w� 7&;

� �- ��� � � �

; � � � � 8/�[ � %I�a� � 7 ;

uQ�>#@��,W1F���A,0,�#&���X,0')8(�k#G%(')! �C¢ �c¤ª� � � � '+.�� � 7&;ZR ��'+.W� % 7&;LhB7/,-,0��?E�

Page 260: Data Structure and Algorithm by Y. Narahari

�������������� ��)����������������L����� ª�����C¢�� ¤B� � � � '+. � � ��R > ���5!

�C¢ �c¤ � �- � � � �S�

; � � � 8 � �[ �

� �- � � z:9

} � � �

> �L��, �C¢ �c¤B%6,��@¢ �c¤dR

� � !�,:#-��7+4X'+�31).-')��O;,�'+��;Zh 8(�$#9��,2,-7AgNTJ��"d��'L'),Y��1+.&'+��O;,�'+� 7ZRF�£#9%6,��A7+,:g~#&',0��'�T #&�;7H#�#&���@TJ'+.-,Y#�"57+,Y�e">')?EO;8I�$��%I#Ug%6,�7/1l7+%(! �E¢ �c¤dR�� ! 1)�5!��5.&7+8¥ha7+!Fg,0%Iz5��'+�=#&����1).-')��O;,J#&�;7H#t�5!�,0��.0�A,�#&���*,0��? '/�3#&����#¡TJ'e7/.01F��?@�A!F#&,J'+� �C¢ n ¤#&'W<}��8(�5,0,J#&�;7+!~��T9%(868}gk%(�5864 �E¢ �c¤�TJ'+.-,Y#V"A7/,0��">')?EO;8I�$��%I#UgFR

ced�� ��o�� m q g orh� � o � � o�� �kl,m���Ms� � orq npo�qts�� �� � m¡sM��o �

� �� �L� ���>���������� �"!$#&%'�(�)#*��+-,/.0�21�34!657��89%�:;5<�(���"!=3>:�?7%�.0?;�'�=3@!=�A+ !=�/%B!C��:A.@5<DA�(�E� � �F5#*��+-,G%'� 30� ��:A��30� HJILK

.>��?KNM

� �� �PO �RQ>����S%&T;�*�U%B?��V#&%'�(�S#*��+-,/.0�21�34!65W��8�%�:;5)� �'�(!=30:�?W%�.4?;��� 34!=�A+ !=�/%B!X��:A.45)DA�"�&� � �F5#*��+-,G%'� 30� ��:A��30� HJILK

.>��?KNM

>����Y%'Z[�\T;�C�(�E� DA.@!=�V%'�(�],A� �\T;�E^_DA�(3>:�?`%ba]c "���" ( � d%* cecf���A3>#U�g3>�h%)Z/3>:/%B�(5! �(�E��3>:i���A3>#U�-!U����:A�j^��E���(�*,A�(�&�"�E:e!�!=�����k!U%B!=DA�R��8l!=���m%�.4?;��� 34!=�A+ %'8n! �E��+i% � 30:�?�(��+-��#E��+S,G%'� 3>�(��:A�*o� ��:A�(30^��E�J%�:A�j^��$p73>:q%W^��E#E30� 30��:f! � �*�i%':A^q.4�*!JrbZs�C34!=�J.4�E8n!t#u�A3>.0^v%�:A^vwx3@!U�� 30?��e!y#u�A3>.0^lo � �*� � 34?;D��(� 9 o [ o� %��(3>#E%�.>.@5;z{rv�(�E,A�(�E�"�&:;!=�S%)�"!U%B! �]#E��:A� 30�k!U30:�?f��8�!=���W30:�8L��� +i%B!=3>��: � :A�\��:|%B!Sp

Page 261: Data Structure and Algorithm by Y. Narahari

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

k1 < k2 k1 > k2

z

x

y

��������� �� � ����� ���� � ������ � � � � � � � � �,/.0DA�9!=���$8 %�#2!t!=�/%B!9!U��� � �*5�����3>�J.0�E� �9!U�/%': � �*5�� - o � ��� %�^��E#E30�(3>��: ! � �*�-8L���30:A�(�*�"!=3>��: �(���"!���: 8 �E.0�E+-�&:;!=�*z��(�*� � 30?;D��(� 9 o ; o

abcacbbacbcacabcba

bacbcacba

abcacbcab

bcacba

cba bca

bac

cab acb

abcacbcab

A[2]<A[1] ?(b<a ?)

A[3]<A[2](c<a ?)

A[2]<A[1] ?(c<b ?)

A[2]<A[1] ?

(c<a ?)

A[3]<A[2](c<b ?)

Decision Tree for Insertion Sort

1

2 3

4

5 6 7

8 9 10 11

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

� ��� � � � c � �� # ��!"! ( � c *$# ( � � � ( ��% ( * � # �'& �Ec � ( ! �� c�( "$# �)+*�34T��&:h%m.>30�"! ��8

K^A30�"!=30:A#F!{�&.4�&+S�&:;!=�Ez !=���E�(� %'�(�

K, ,[���(�(30Z/.4����D !=#E��+-�&� !=�/%B!

�(�*,A�(�&�"�E:e!y#E���(�(�E#F!y� �'�(! �E^Y��� ^��*� �Eo

Page 262: Data Structure and Algorithm by Y. Narahari

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

` %�:e5�^��&#*3>�(3>��: ! �(�E� ^��&�(#F�=34Z/3>:�?]%C#E���(�(�E#F! �(���"!U30:�? %�.0?���� 34!=�A+ ��:f%i.>30�"!��8

K�E.0�E+-�E:e!=����30.>. �/%&T;�9%B!�.0�&%��k!

K, .0�&%\T��&�*o

` � :W8 %�#2!&z/348 ���9^��E.0�F! �X:A�j^��E� #E���(�(�E�(, ��:A^A3>:�? !=�-DA:A:��E#F�&�(� %'�"5]#E��+S,G%'���3>�(��:A� %�:A^q308��R�C^��E.0�F!=�$.0�&%\T��&�X!U�/% !V#E�'� �(�E�",[��:A^ !=�)%':73>:A#*��:A�(3>�k! �E:e!�(���PD��&:A#F�9��8�#E��+-,G%'� 3>�(��:$�(�E� DA.@!=�Ez !=���*� ����30.>.[Zs�9�21A%�#F!=.@5

K, .4�\%&T;�E�*o

>����).0�E:�?�!=� ��8J%7,G%B!=� 8 � ��+ !=���)�=�P�'!i!=�g%_.4�\%'8X?;3@T;�E�-!U���b:jDA+ Zs�E�C��8#*��+-,G%B�=30�(��:A��+$%�^��t�����E:)!=���S�'�=^��*� 3>:�?C�(�E,A�(�E�"�&:;! �&^xZP5 !=�/%B!X.4�\%'8 30� !=����(���"! �E^]��� ^��*�y8L��� % ?;34T��&:]3>:�,/D ! .03>�k!���o

)?>���� ����� �k!m#E%��"�-#*��+-,/.4�F1�34! 5���8 %':`%�.0?;�'�=3@!=�A+ 3>��?;3@T;�E:)Ze5x!=���S.0�E:�?�!=�b��8!=���X.0��:�?��E�"!�,G%B!=�W3>:C!=���t%'� �(�P#E3>%B! �&^ ^��E#E30� 30��: ! �(�*��o

)?> �9��Z�!U%�30:-%9.>�\���*� Z[��DA:A^$��:S!=��� ����� �k! #E%��"��#E��+S,/.0�21A3@!65t��8 �(���"!=3>:�?J%�.0?����� 3@!U�A+Wze�R�X�/%\T�� !=�S#*��:A�(3>^��*��%�.0. ,[���(�(30Z/.4�m^��&#*3>�(30��: ! �(�E�E�y�/%&T 3>:�?

K, .0�&%\T��&�

%':A^ !U% � ��!=���X+$30:A3>+VDA+ .0��:�?��E�"!�,G%B!=�lo� : %�:;5W^��E#E30�(3>��:]! �(�*��zG34!�3>� #*.0�&%'�y!=�/%B!�!=��� .0��:�?��E�"!y,G%B!=�Y��3>.>.l�/%&T;�t%-.0�E:�?�!=�W��8%B!�.0�&%��k! .>��?

K,

� 3>:A#F� K,�� � K L �

.>��?K,��

K.0��?

K

� ���(� � � �E#*3>�"�&.@5;zK, % �

K} � �

( * .0��?ILK,M

%K} .>��?

K}

�K} .>��?

K�

K}

>��PDA�t%':e5b�(���"!U30:�? %�.4?;��� 34!=�A+ !=�/%B!J��:A.45bDA�"�&�J#E��+S,G%'� 3>�(��:A���/%��t%]�y�'�=�k!9#E%��"�

Page 263: Data Structure and Algorithm by Y. Narahari

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

k leaves k1 leaves k2 leaves

k1 < k k2 < k

TREE 1 TREE 2

n

n1 n1 n2

n

left child or right child

��������� �� � ������� � � ��� ������ � � � �� � � ��� � � ������� � ����� ��� � � � � � � � � ��� �� �#*��+-,/.4�F1�34! 5 HJILK

.>��?KNM

� ��� �� � c � �� # � !"! ( � c *$# ( � � � ( � !�� c * & " c � & �&c � ( ! �� c�( "$# �� � �(�/%�.0.N�(�A�\� !=�/%B!�3>:x%�:;5W^��E#E30�(3>��:Y! �(�E�9��34!=� � .4�\%&T;�E�*z/!=��� %&T;�*�=%'?��9^��E,�!=���8 %S.0�&%'8N3>� %B! .4�\%'�"!�.>��? �� �9�(�/%�.>.l�(�A�\� !=���X�(�&�(DA.4!�8L��� %�:;5CZ/3>:/%'�"5i! �(�E����3@!=� � .0�&%\T��&�*o� D�,A, ���"�X!=���X�(�&�(DA.@! 3>��:A�'!�!=� D���o � D�,A,[���"� � 3>��!=���X#*��DA:;!=�*�(�F1A%�+-,/.4����3@!U�C!=���8 �F���E�k!�:A�P^��&�*o� #E%�:A:A�'! Zs� %-�(30:�?;.0�9:A�P^��JZs�&#E%�DA�"� .0��? zw� � o�� �F! � �/%&T;� � .4�\%&T;�E�*o � #E%�:��:A.@5CZ �9��8N!=���X8L��.>.0�\��3>:�?t! �y� 8L��� +$�*o_���\� �"�E� � 30?�D�� � 9 o \ o� D�,A, ���"� � 3>�m��8{!U���V8 � ��+ > �(�E��Bo >���� !=�(�*� � �j�'! �E^b% !

K�=z�/%���8 �F���*��:A�P^��E�

!=�/%�: � Z/D !{!=����� %�+-�y:PDA+ Z �*� �'8[.0�&%&T;�E� %�:A^ !=��� ���&:A#F��%�:V�*T��&:h�(+i%�.>.4�E� #*��DA: �! �*� �21A%�+-,/.0� !=�/%�: � o >��PDA� � #E%�:A:A�'!yZ �9��8 > �(�E�� 8L��� +�o� D�,A, ���"� � 30����8 !=����8L��� + ��8 > � �*�E���jo�>�����!=�(�*�&� � � %�:A^ �

- � �j�B!=�E^C%B!K� %�:A^

Page 264: Data Structure and Algorithm by Y. Narahari

�������������� ������������ ������������ � ���K - %B� �X�(+i%'.>.0�*� !U�/%': � %�:A^ !U���*�(�E8L���(� !=���

� T��E�=%'?���^��E,�!=�W��8 � � % .0��? � �� T��E�=%'?���^��E,�!=�W��8 �

- % .0��? � -

>��PDA�R!=���J%\T��E�=%'?�� ^��E,�!=�W�'8 �% � �

� ��� �- .>��? � � � �

-� ��� �

- .>��? � - � �

� � ��

.>��?�� � � �-�

.>�'? � - � � � ��� �

-� �

� ��

I� �j.>��? ���������

- .0��? � � - M

% .>�'? ��(3>:A#F��!U���9+$30:A3>+VDA+ T'%'.>D��X��8!=���9%'Z[�\T;�X30� %B!(!U%�3>:��E^ %B!� � � �

- ?;3@T�30:�?V!=���mT'%�.0D��'�>��A30�y#E��:e! �=%�^A3>#2!=� !=���X,A�(�&+-3>�"� !=�/%B!�!=���J%&T;�*�U%B?���^��*,�!=�W��8 � 30��� .>��?$�so>��PDA� � #E%�:A:A�'!�Zs�9��8N!=���X8 �'�=+ �'8 > � �*� �jo>��PDA��30:W%�:;5C^��E#E30� 30��:i!=�(�*� ��34!=�

K, .0�&%&T;�E�Eze!U���9%&T;�*�=%'?���,G%B!=�].4�&:�?�!=�i!=�S% .4�\%'8

30��%B! .4�\%��k!.0��?

ILK,M�

ILK.>��?

KNM

�� � � ��� � ������������ )�� �E�(���R� DA�"���(��+S���",s�&#*3 %�.G3>:�8L��� +i% !U30��:h%'Z[��D ! !U�������F5���%�:A^C^��E�(30?;:$�(���"! �

30:�?9%�.0?���� 34!=�A+$�N���A3>#U�VZs�\% ! !=��� ILK

.0��?KNM

.0�\���*��Z[��DA:A^h8 �'� #*��+-,G%'� 3>�(��: �ZG%'�(�E^Y�(���"!=3>:�?h+-�F!=�A�j^A�*o

) � ��:A� 30^��E� �(���"!=3>:�?K

30:e! �*?��*�=��30:W!U���J�=%�:�?�� �S!U�K -

� �'o"!`� ^A�i3@!�3>:W!6���,/�/%'�(�E�*o

# �/%��"��%$&!`�$DA�"�K

Z/30:A�Ez��:��S8L���X�&%�#u�f�'8 !=���S3>:;! �E?��*� ����z �'z(')')'+*K, �Bo-!`�

Page 265: Data Structure and Algorithm by Y. Narahari

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

,/. %�#F���\%'#u�$3>:;! �E?��E��� ��:S!=��� .03>�k! !=�9Zs��� �'�(! �E^-30:e!=��!=����Z/30:-:PDA+ Z �*� �E^� ! ( � K

� %�#u��Z/3>:���3>.0.!=���&:x#E��:e!U%�30: %C.03>�k! ��8 30:e! �*?��E� � .0�&%&T�30:�?-!=��� � %�+-�J� � �+i%�3>:A^��*� �����&:W^A3@T�30^��&^ ZP5

Ko

� !y!=���9�E:A^lz ���9#*��:A#E%B! �&:/%B! � !=���mZ/30:A��3>:W��� ^��*�R!=�h��Z�!U%�3>:]%S.03>�k!���o# �/%��"� � $������$3>:;! �E?��E� �m��:b!=���$.03>�k! � %'�(�S�(�E^A3>�k! � 30Z/D ! �&^)3>:;!=�]Z/3>:A�*zNZ/D !tDA�(3>:�?

!U���XZ/30:Y�"�&.4�&#2!=3>��: 8LDA:A#F!=3>��:�$� �K��

� �\� %B,A, �E:A^-3>:;! �E?��E� � !=��!=�����&:A^A� �'8[.>30�k!U�*o� 3>:/%�.0.45�z�#E��:A#E%B! �E:/%B! ��!=���.>3>�k!=�R!=�V?��*!�!U����G:/%�.l�(���"! �&^]�"� �PD��&:A#F��o

�� ��� �jO : � �+�� :A34!=3>%�.[.>30�k! $�����z���z ��z ���Pz �Bz�����z����/z ����z�� �Bz��

& �&c � � Z/30: � � ! ( � �+�� � 30?;�;!�+$���"!y^A30?;3@!���8��

!#" �� � $

% % �&% $��' � ' ' $

� � �

� � � %�� $

��� � ' � $

Page 266: Data Structure and Algorithm by Y. Narahari

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

� ��:A#&%B! �E:/%B!=3>��:-����DA.0^]:A�\� 5 30�E.>^C!=���J.03>�k!)$�($ ��z �'z�� �'z����Az��Az � �jz�����z ����z���z � �

& �&c � � Z/30: � � � � �+� �� � 30?;�;!�+$���"!y^A30?;3@!���8��

!#" �� � % ' �

% %��� � �

� ���' ' �

� � '�

� ��%

�����X#*��:A#E%B! �&:/% !U30��:C:A�\� 5 30�E.>^A� $��z �'z �/z���z ���jz���� z�� ��z����/z�� �

� :9?��&:��*�=%�. z %��(�(DA+-�{!=�/%B! !=��� ���F5 � !65j, � #*��:A�(3>�k!=�N�'8 ��#E��+S,[��:��E:e!=� � � * �-*+')')'+* � � z��8!65j, ����� *�� - *+')')'+*�� � o

� D�,A, ���"�]3@!V3>� �(���jDA34�(�&^`!U�x�(���"! !=���C� �E#*��� ^A� 3>:q.0�21A30#E��?��U%B,/�A3>#-�'�=^��*� ��8y!=���E30����F5 �Eo ���/%B!�30�Ez I

� � * �-*]nFn]n * � �

M�

I� � * �

-*]nFnFn * � �

M

348 ��:��9��8N!=���m8L��.>.0�\��3>:�?V�A��.0^A�+$

Page 267: Data Structure and Algorithm by Y. Narahari

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

�'o � � � � ��jo � � � � ��� � - � �

-��o � � � � � � � - � �

- � � � � ��o

oo

� o � � � � � � nFnFn � � ��� � � � ��� � � � � � � �

� %�^A3 1]� �'�(!�,A� �j#F�E�E^A��3>: !U���m8L��.0.>�\��3>:�? �y%&5;o 30� �k!{Z/3>:A�(���"! %�.>. �(�E#E�'�=^A��/� �k! ��: � � z�!=����.4�\%��k! �(30?;:A3 G#&%�:;!{^A30?;3@!&zB!=���&:V#*��:A#&% !=� �:/%B! ��!=���mZ/3>:A��.0�\���E�k!�T'%�.0D�� /�=�k!&o�����E: Z/3>:A�(���"!{!=���y%'Z[�\T;��#E��:A#E%B! �E:/%B! �&^ .03>�k!{��: � ��� � %�:A^ !=���E:S#*��:A#E%B! �&:/%B! � !=���Z/30:A�y.>�\�R�&�k!�T'%'.>D���/� �"!&o� :q?��E:��*�U%'. z�%'8n! �E�JZ/3>:A�(���"!=3>:�?���: � � * � ��� � *Fn]nFn * ��� z !=���$�(�&#*��� ^A�9��30.>. %',A,s�\%'�t3>:.4�F1�3>#*��?��=%',/�A30#���� ^��*��308!U�������F5 #*��:A�(3>�k! �&^]��8���:A.45-!U����/�E.>^A� � � *]nFnFn * � � o

� ( " � �=%�^A3@1��(���"! �0� � ���"!U�y%S.>30�k!� ��8K

�(�&#*��� ^A����3@!=� ���F5���#*��:A�(3>�k!=3>:�?h��8 /�&.0^A�� � *]nFnFn * � � �'8 !65j, �E� � ��*]nFnFn *�� � o �����X8LDA:A#2!U30��: DA�(�E� �%'�(�=%\5 ��� � *FnFn]n *�� � �'8N!65j, �9%'�(�=%&5� � ��� ��8 .>3>�k! ��! 5 ,s��z�� � �%*Fn]nFn * �sz�����E�(�X.03>�k! ��!65j, �m30� %S.03>:����E^].03>�k! ��8N� �E#*��� ^A� � 0������ I

� � � � � % � � � , ,M

������ I

�&%�#u� T'%'.>D����C��8N! 5 ,s��� �M

+i%%����� � �� � �&+-,�! 5 ��� � #*.0�&%'�yZ/3>:A� � ������ I

�&%�#u� T'%'.>D����V��:Y.03>�k!�M

+$�\T;��� 8 � ��+ ��:;!U� !=���X�&:A^Y��8 Z/3>: � � �� � z�����*� �!�C30��!=���XT'%'.>D��X��8N!=����/�E.>^ ��� �'8N!=��� ���*5 ��8"� ������ I

�&%�#u� T'%'.>D����C��8N! 5 ,s��� � 8 �=��+ .0�\���E�k!�!=�S�A34?;���E�"!M

#*��:A#&% !=�E:/%B! ��� � #� � ��:;!U� !=���X�&:A^Y��8"$

Page 268: Data Structure and Algorithm by Y. Narahari

�������������� ������������ ������������ � � '

$

) � .4�&+S�&:;!=��!=�SZs� �(���"! �&^�%B� �X,A�(�E�(�E:;!=�E^�3>:Y!=���98L��� + �'8 %S.>3>:����&^W.03>�k!���ZeT�3 �% !U30:�?$!=���V:��E�E^b8L����#*��,e5�30:�? %C�(�E#E�'�=^lo !`���kDA�"!m+$�\T;�t�(�E#E��� ^A��8L� ��+ ��:��.03>�k!�!=�S%�:A�'!=���*�&o

) A��� #*��:A#E%B! �&:/% !U30��: !=�hZ �J^A��:�� �PDA3># � .@5;z����9:��*�&^�, ��3>:;! �E� �R!=�S!=���9�&:A^���8.03>�k!=�*o

� � ���jO� ����� ��� � ��� � �������) � :A:��*�X.>�P��, � !U%%���&�

I � �M!=3>+-� �����*�(� � � � :PDA+VZs�E����8 ^A3 � �E�(�E:e!mT'%�.0D��&�

�'8N!65j, ��� �) � :A:��*��.>�P��, �t!U%%���E�

ILKNM!=30+-�

) � :A:��*��.>�P��, � !=3>+-�E� I � �

M!=3>+S�

���PDA�R!=���m!=�'!U%�.s!=3>+-��

���� �

I � � �KNM

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

� !" K � ���� � � �$#% %��(� DA+-3>:�? �$!=�VZ �t%h#*��:A�k!U%�:e!

) A��� �21/%'+-,/.0��z;308 ���F5���%'�(��3>:;! �E?��E� � 3>:h!U�����=%�:�?�� �9!=�K� , �'z;!=���&:-�R� #E%�:

T 30�F� !=���m3>:;! �E?��E� ��%��R�=%�^A3 1 ,K

30:e! �*?��*�=� �&%�#u� �-^A30?;3@!U� .0��:�?/o �����E: � � �/%'��=%�:�?���� '+')'K, ��8L��� �'& �(& �so

���PDA� � � �K

%':A^]!=�'!U%�.[� DA:A:A3>:�? !=3>+-�m30� ILKNM

) �(30+$3>.>%'� .45�z'308 ���*5 � %'�(� #u�/%'�=%�#2! �E�{�k! �=30:�?;� ��8[.0�E:�?�!=� �sz;8 �'� #E��:A�"!U%�:;! �sz;!=���&:� � � � ���I�=%&5

M8L����� � � **)*)+) * � %�:A^S%'?e%�30: �R�y?��F! !=����!=�'!U%�.P� DA:A:A3>:�?m!=3>+-�

%'� ILKNM

o

Page 269: Data Structure and Algorithm by Y. Narahari

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

������ � � �A �� �������

)���34T 3>^��9%�:A^]#E��: �PD��*� %�.0?���� 34!=�A+)

ILK.>��?

KNM�y�'�=�k!y#&%��"�X, �*�(8L��� +i%�:A#F�

)����"�E8LDA.l3>: �F1j! �E� :/%�. �(���"!=3>:�?S%',A,/.03>#E%B!=3>��:A�*o�O � ������� �

���� ��� ���� c +S�E�(?��E�(���"!I.>30�k! � !65j, � � � ��� :

M� � ILK

� �M

� c �� � � I�M

c �� c ��",/.034!��<30:e!=� !6���V�/%�.4T��&� � � %�:A^ ��� �� c �� � � I

+-�*� ?��I+-�*� ?��&�(���"!�� ��� * ��� z +S�E�(?��E�(���"!�� � � * � �!�$

$

�l�*!#" ILKNMZs�9!=���m� DA:A:A3>:�?V!=3>+-� ��8�+-�*�(?��&�(���"!R��:�%V.>30�k! ��8 �(3%$*� K

o �����&:lo" ILKNM & & � ILK� �

M

& �'")( K�+*, -/. 0^A34T 3>^��

%�:A^#*��: �jD��*�

� & � K, -/. 0+-�E�(?��I K21

�M

� ! #E%�:YZ �9�(�A�\��: !=�/%B!#" ILKNM30�

ILK.0��?

KNMo

Page 270: Data Structure and Algorithm by Y. Narahari

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

�� �� �� ����� � �(� � �� �� ����� O � � ������ �� ����� ������) � �(� DA+S� !=�/%B!y!=���X^/%B!U% !=�VZ �J�(���"!=�E^ 3>���k!=���(�&^]3>:W% G.0�) ����� �E�(�"�&:;!=3 %�. 30^��\%C3>��!=� ���(?e%�:A3 $E�V% G.0�V30:e!=�C,A� ��?��(�&�(�(34T��&.@5W.>%'�(?��E� � ��� �

�����*�(� $� � ��� 30�W%_�"���jD��E:A#*�f��8J�(�E#E�'�=^A�� � *+)*)+) * � � z�� DA#U� !=�/%B! � � & � �� � 8L���� � �%*+)*)*) * � , �'o

) !`�y�=%&5h% G.4��z � � * � � *+)*)*) * � ��z;��8 �(�E#E��� ^A� 3>�{���(?e%�:A3%$*�E^h30:e!=� � ��� � �'� .0�E:�?�!=��$308 $�� � & �m� DA#U�]!=�/%B! � � &��bz�!U���9�"���jD��E:A#*�� � ��� � � ��� � * � ��� � � ��� � *+)*)+) * � � � �30� %��=DA:7��8�.0�E:�?�!=� � %�:A^78LD��"!=���E� +$���(�S308�� 30� :A�'! ^A3@T�30� 34Z/.0�$Ze5 �v%�:A^� ��� � ���������*� ��� � �sz;!=��� �"���jD��E:A#*�

I��� ��� � *+)*)*) * � �

M���A3>#U�S30� #&%'.>.0�E^

!=��� & 3>��%V� DA:Y��8�.4�&:�?�!=� �Po�� �����jO������ 8L��.>.0�\��3>:�?X3>� �'� ?;%�:A3%$*�&^h3>:;!=�9� DA:A� ��8l.4�&:�?'!U� �X��3@!U�V!=��� !U%�30./�/%\T 3>:�?J.0�E:�?�!=��jo

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

" � � �#� � �� �$ ��:A�(30^��E��!6��� G.4�&�&% ��%�:A^'% � ���(?e%�:A3 $E�E^ 3>:;!U� � DA:A����8�.4�&:�?�!=� �so � �(�(DA+-� !=�/%B!�Bo � 8

K� 30��!=���X:jDA+ Zs�E�R��8N� DA:A�

I30:A#E.0DA^A3>:�? !U%�30.>�

M�'8(%��

I� � �%* �

Mze!U���E:*)

K� ,K � )�& �

�Po � !�+$���k!y��:��J�'8+%��R%�:A^,% � �/%��y%V!U%�3>.� o �����X��:��X��3@!=�Y% !u%'3>.

I308�%':e5

M�/%���% ! .0�&%��k!�%���+i%':e5i� DA:A��%'��!U���9�'!=���*�Eo

� :f+-�*� ?��&�(���"!&z/�R� �(�\%�^)��:�� � DA:)8 � ��+ �&%�#u�b�'8-%���%':A^.% � zl+-�*� ?��J!=��� � DA:A�30:e!=� %��=DA:q��8�.4�&:�?�!=� � �v%�:A^7%',A, �E:A^73@!t!=�x��:��C��8R! �y� G.4�&��/ �9%':A^./ � o10 5%�.@! �E� :/%B!=3>:�?hZ �F!6�R�*�&:�/ � %':A^,/ � zs!=���&�"� G.0�E������DA.>^WZs� ���(?e%�:A3 $E�E^W3>:;!=�-� DA:A� ��8.4�&:�?�!=� � �szA� %B!=3>�"8n5�30:�?

I�MzI�MzA%�:A^

I�Mo

Page 271: Data Structure and Algorithm by Y. Narahari

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

�O � ������� �) 34�=�k! ^A3@T�30^���%�.>.

K�(�&#*��� ^A� 30:e!=�m!6��� G.4�&� %��{%':A^ % � %�� �FT;�E:A.45-%�� , ���(� 34Z/.0��o

% ��%�:A^'% � #E%�:YZ �X�(�*?e%'� ^��&^]%������(?e%':A3%$*�&^ 3>:;!=�V� DA:A����8 .0�E:�?�!=� �'o)��Y�*� ?��$!U���i� DA:A� ��8y.0�E:�?�!=� �C%�:A^7^A30�"! � 30Z/D ! �-!=���E+ 3>:;!U� G.4�&� / � %�:A^./ �

���A30#u�i��3>.>.l:A�\� Z �J���(?e%�:A3%$*�E^]30:e!=� � DA:A����8 .0�E:�?�!=� �Po) � �\�_+i% ���-%��%':A^ % � �E+-,�! 59%�:A^ +-�*�(?��+/ �%�:A^ / � 30:e!=� %�� %':A^ % � #F�(�\% !U30:�?

� DA:A�y�'8�.0�E:�?�!=� �/o� �E,s�\% ! ')')'

�� �����jO�% � ��� � ��� � � � � � � � � �+� ��� � � �% � � � � ��� � � � ��� ��� � ! ! �+�

� DA:A����8 .4�&:�?'!U� �� +���� ?�m3>:� � / ����:A^ / �

/ � ��� � � ��� ��� � � � ��� � � ��� ! ! � �/ � � � � � � � � � ��� � �+� � �+�

� DA:�����8 .��&:�?��� �� +���� ?�m3>:� � % ����:A^ % �

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

� DA:�����8 .��&:�?��� �� +���� ?�m3>:� � / � ��:A^ / �

/�� � � ��� � � ��� � � ��� � � � � � � � ��� ! !/ � � � �+� ��� � � ��� � � � �

� DA:�����8 .��&:�?��� �� +���� ?�m3>:� � % ����:A^ % �

Page 272: Data Structure and Algorithm by Y. Narahari

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

% � � � � � �+� � � ��� � � ������ � � ��� � � � � � � ���

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

� DA:�����8 .��&:�?��� ���� +���� ?�m3>:� � / � ��:A^ / �

/ ��� 30.>. Z �9. �*8 � 3� � � � � �� �E^ � � �PD �E:����) � 8 ��� �9, �� � � �*z � � � �\T � � � G.�� ������:��(3 � =3>:�? �'8 � DA:�� ��8 .��&:�?��� � � o � 8� ���

K* � �E: ��: � ��8 �� � � � G. � � � 30.>.RZ � �&+S, 65 ��:A^ �� � �� � � � � 3>.0.

����:����3>: � �(30:�?;. � � DA: �'8�. �E:�? �K I

� �A3���Y3 � �� � � �� �E^ � � �PD �E:����Mo

��� ��� �E8 �� �m:PDA+ Z ��� ��8N, �� � � � � . ��?K��

) � � ���h, ��� � � ���PDA3 � � � � � � � ��^A3>:�? �'8 � � G. � � ��:A^ � � � � 3�=30:�? ��8 � � G. � �*z�'.>. ��8 .��&:�?��� � � o� � ��'.[:jD�� Z � � ��8 Z/. ����� � � � ��^ �� � � 3� �E:]30: �h, ��� � � � �I� � ��� � � 3 � � �X:PD�� Z ��� ��8 � ��� �� ^�� �� � ��3>:� � �VZ/. �����

M

� � ��'.B:PD�� Z ��� ��8PZ/. ����� � � ��^�� �� � � 3� � �[8 �� � � �E:�U3�� � � �� =3>:�? $ � � ������ � � o) ��� � ,�� �����E^AD � � ��� � �(? � � � ��^�� �':A^ � � 3� � � ��:A.@5 ��: � � ������ ^�� � =3����o���PD�� 3� 3 � :��� � � �PDA3 � �E^ �� � �&T�� ��� ���S,/. � � � DA:h3>:���������"5 � ��:;5 =3����o

)�� ��� ?� � �� : ���E^i:��� � ���� � 3� � � DA:�� ��8l.��&:�?��� �'o ! ������DA.>^�� ���� � 3 � �

, ��� � �� � \z�8 �� � ��� � �',A,�� ��,�� 3 � � �sz � � ��^�� ? � ��D�, � ��8 � � ��� �� ^��{3>:����� ��30:� ��� ���(5�z � �� � � ���

I� �&5 �PDA3�� � � ��

M�':A^ � � 3� � � � ��� ��D �� � � DA:���8

.��&:�?��� �so� �PO ��� � ��� �� �� �� �����)�� � � � � ��� � �(? � � G. � � � �� U3����o � �� �� � G. � ��% � *+)*)+) *�% � Z � ��(? ��:A3 $ �E^��� � DA:�����8 . �E:�? � �so! �!� ��: � � ��^ � � DA:��Ez ��: ��8 � ��� � �"��� G.���z �':A^#����� ?� �� ��� 30: � ��: � � DA:�'8�. �E:�? �*� �so ���A3 � � DA:_3 �t,/. �"� �&^ ��: ��: � ��8 � G.�� � / � **)+)*) * / � z � �"���?�� =3>:�? � �=DA:]3>: =D � :lo

Page 273: Data Structure and Algorithm by Y. Narahari

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

) ��� � � � �(?;30:�?f,�� � � � � � � 30.>.�3>:;T ��.@T�� � �"��� =3���� � �E. ��� U30:�? �� � �$30:A3��VD��� � ��:�? � �ED � � �E: =.45 � � ��.>.�� � �DA:�� �E. ��� �E^ � ��� ���=^��R8 � ��� � �"��� G. ��o0 5 D��(3>:�? �V,�� 3 �� 3�65 �PD �&D � � � ��(D�,A, �� ���3>:�� � � ���:A^Y^ �E. � �m3>:]. ��? � �=3 � ��-3�� U3���

I��o ?Ao>z&, ��� =3 ��.0.45 �� ^ ��� �E^ � ���

Mz � � ,�� ����� � � � ��:9Z � �"� � ���S,/.>3 � � �E^

30: I. ��? �

M=3�����o

) � D�� Z ��� ��8 , ��� � � � � . ��? �K��

� � �� �30: � � ���], �� � � ILK

. ��? � � M�\T���� ��.>. � �"�-,/. �21A3 65 �

ILK. ��? � � )=. ��? � KNM

)������ & � &� c �) ! � � �&T��JZe5 �S8 �"� �� ��8 . ��? � �bz � �J:jD�� Z ��� ��8 =3�� � � � � � � ��^ � �"���� ������ ^

) ! � � ��:],�� ����� � ��^ � �� I�

M=3��� ��8 �� ��� � 3 � � ^A3 � � DA:A3� �*o

������ -� � ��� ��� ��������� � ��Bo � .08 � �&^�� � ���Az�� ��A: � o � ��, � � ��8 &z �':A^��� � � �*5�� ��.0.�� �':lo���������� �"!$#&%('

�)#*!,+$-��/.1032547698/!$:;�"<9=>-�o � ^A^? � ��@ � ! � �BA �(C�z � ������o�Po *D?EAFA � � 0 � �� � ��� ^ �G@A^ # �'DA 0 ��� HA��IC�o J�#*.109�/=K+L. ����4M-N8PO�2Q47698/!$:;�"<9=>:R%(-�o# � �S@ ,?��� � � �TAEA z ��� ����o � @A^? �G@ � ^?�,? �G@VU/D�ZWAF? � � �E^ ZXC # � �Y@�,?�� � � �TAEA �GZ� @A^? � z ��������o

� o �����"� �� �to $ �� ���S@lz $ � ���[A � � � o � �Y? � ��� � ��@lz��G@A^�� ��@ �GA>^� o � ?4T�� � &o]\B.&'�)![8^0/#W%Y�":R8/._��8`2547698/!$:;�"<9=>-�o ��� � � � � � A���� �[?�� �GA � @�?9?F@ � ���[?E@�? �G@A^ $ ��� �U/D ��� � �I? �S@���� � ���[? � �Ez ��� � ��o � @A^? �T@ � ^?�,? ��@aU/D�ZWAF? � � �E^b?E@ ��������o

�Ao � ��� � � AFA �S@ ! �S? � �*o��c�����d� �"!H#&%Y�"#e!,+L-c�/.f032Q47698/!H:R�)<9= 2�.1��4Mg/-H:)-D:).ih jkj5l0 �Y@ � �"��?E@ � $]m �#��?F@�n��Io ��� ���Wl � @p? �T@ � p?�,? ��@aU m�q AF? � � �Spb?E@ ��������l

�rl � AFZ � �Ypa� � ���o � � �@ � l � �TU � � �TZ Yo �G@p��� � � �IC � �5AEA� �G@sldtu<�+���+L-H:E6/.�/.10>2�.1��4Mg/-H:)-c8PO�hv8/=Qw�#W�x+L!y2Q47698/!$:;�"<9=>-�o � pp? � ��@ � ! � �BA �(C9o ��� ! �Wl

�*l � � ��� 0 � �� � �G@p � AEA��Y@D� �G@{z �SAEp ���SlQhv8/=Qw�#W�x+L!|2Q47698/!$:;�"<9=>-I}v\B. �"![8Y0/#&%Y�":R8/.�R8k�{+L-,:E6/.~�/.10D2�.1��4MgT-,:)-�l � pp? � �G@ � ! � �BA��IC�o ���? �[p � p? H? ��@soX�%� � ��l � @p? �G@� p? ,? ��@KU m�q AE? � � �Yp q C # � ��� � ��@ � p m � � ,? ��@ � �B? ��o��%� � ��l

Page 274: Data Structure and Algorithm by Y. Narahari

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

! l � AFAE? ��� �� � � ?� $Go � ��� �� $ � ��@?Ro �T@p � � � �� �+� � ���T@sl J�#*.109�/=K+L. ����4M- 8PO�hv8/=3'w�#�x+L! 2Q47698/!$:;�"<9=>-�l ! l �{l��� ����� �G@ �G@p $ ����U �G@9C�o���� ����l � @p? �G@ � p? H? ��@U m�q AF? � � �Sp q C z �GA n���,? � # m�q AF?�� � ,? ��@��IoW� � � ��l

�*l � ��@ �GAEp � � @ m �sl J�#*.109�/=K+L. ����4 2Q47698/!$:;�"<9=>-�o�� ��A m ����� �GZ ��� � � � �TZ $ ���`U m ��� # � �Gn � �"�#�d? @�nWo � pp? � �G@ � ! � �BA��IC�o���� ����o � ������@p � p?�,? ��@so� � ! ��l

�*l � ��@ �GAEp � l � @ m �sl �18/!I�):".*6 �/.10_�s+[�/![%(<9:).*6�o � ��A m ��� � �GZ ��� � � � �GZ$ �"��U m � � # � �Gn � �"�#��?E@�nWo � pp? � ��@ � ! � �BA �(C9o���� ! ��l

�+�*l��>l�� �G@�n�� �"��o � l �l�� m n �S@�� �S?E@so �G@p�� l � l � �Y@ �S@ q � m ��l ������� � �"!$#&%('�)#*!,+$-D#*-,:".*6 h �/.10 h]jkj5l � ������@p � p? H? ��@so # � �S@ ,?�� ��� �GAEA;o��������*l � @p? �G@� p? ,? ��@KU m�q AE? � � �Yp q C # � �Y@�,?�� ��� �TAEA �GZ � @p? ��o��%� � ��l

���/l � m � � � �A ����[@sl �18/!I�":).*6 �/.10`�f+,�/!B%(<9:).�6/l � ��A m ����� �TZ ��������� �"!$#&%S�"#*![+L-�/.10>2Q47698/!H:R�)<9=3-Hl � U��[?E@�n� ����� � �[A �/nWo���� ���Wl

�^�rl � ?����eA � m ��! ?�� �slv�c�����5�1�)!$#&%Y�)#*!,+$-yj 2Q47698/!$:;�"<9=>-! �" !B8H6/![�/=>-Gl # � �S@ ,?��� �� �GAEA;o � @�n9A�� � � �rp $ AE? � �Il#��� ! �rl

���*l � �G@ m �YA�0 A m �bo � � q ��� ! l� A �^C*psoY� � m n�� �T@ # � � Yo � ��@ �GAFp$� � ?&%�� � Yo �G@p� � q � � � l � ��� � �T@sl � ?��� q � m @p��kZ �� � �YA���� ,? ��@sl('r8/#*!$.1��4 8PO�hv8/=Qw�#W��+L!�/.10`�WgT-L�x+L= �1%(:�+L.1%$+L-Goe� ��A m ��� ! o � m � q � � �Wo�UUul ����� � � �)�/o���� ! ��l

� �l � � q � � ! l A � C*psl*�5AFn����,? ��� � � �,+ � � � � � �� .-$lkh 8/=3=>#e.&:R%,���":R8/.&-D8PO �"<�+2 h0/ oe� �GA m ��� ! oUUul ! �)�To1� �����Wl

� �rl $ l2� l � l � ��� � �Gl �QAFn ��[?� ��� ���3+ # ��� ,?�,? ��@4- �G@p5�QA n���[?� ��� � �5+ &@p4-$lh 8/=3=>#e.&:R%,���":R8/.&- 8PO��"<�+ 2 h0/ o^� ��A m � � �Wo � m � q ��� ! o/UU �X��� � �9���eo6�����)�Tl

���*l $ l2� l � l � � ��� ��l87 m ?�� � � �� Ylctu<�+chv8/=Qw�#W�x+L!9'r8/#*!$.1��4�oT� ��A m ��� �eo � m � q � ��/oUUul:�+� ���&�eo������9�el

� ! l � � q � � � �Yp�n � � ?�� �1l � ��UWA �����S@ ,?F@�n(; m ?���� � �� {U�� �Gn��� � �Il hv8/=>=>#*.W:R%H�T'�):�8/.W- 8PO��"<�+D2 h</ o*� ��A m �������To � m � q ���$�+��o�UUul ��� ! � ��� ! o�� � ! ��l

���*l � � �SAEA;l�� �y?Fn�� � �PU � �Sp � �� ,?E@�n # � �����Sp m � ��lyhv8/=>=3#e.W:�%,���":R8/.W- 8PO �"<�+ 2 h</ o� ��A m � �c�eo � m � q � � ! o�UUul�� � � �X�ro=��� � ��l

Page 275: Data Structure and Algorithm by Y. Narahari

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

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

%����� �� "������������� ��������� " �� �!� �!� " ��#" �$��� � � ��% !�&�'�' � � ��� �(�*)�+ �� ���(� " �� -,.� �(�*) , � � �$/$� " �� 0�!� �!��), ��� ���1��� �(�*)324�$� � � �!� �!��)356&&"�/87 �!� �!��):9 �4;<��9�= �!� �!� �$>,.� �!�?�����6� �������@� " �� 7A�$B � & � " �� ��9�/8� � �C������9�' ��D � " �$��� � � ��%��� ):E � ) � ) ��F ) ��� ) ' � ) � ) % E�)�E % ) �.� ) % � ) �AF )GE�E�) % % ) �.� ) ���$IHJ�!� �!� " �� 9 ����� � "K�L� " " �M� 9 "��>� � '3�ONQPSRUT�V�W "���"��X=���� � �$� D � � �L��� � � " � " 9 �Y� �!����� � �����/ � ��� �Z� "K�L�[��\]&:9 � 7A�$B ���_^ � "�/8� � �`�L����9�' ��D � " �$�L� � � � 9��!� � �L9�' � �*a$>, &�=�= ��� �-B � &b9����[� �c��� �!�d9 � " � �Xef/ ��" =�� " � " �� 9 ��� �!�L�$� � " � �g� ��������� ���h'UBh9c�i� ��L9 � ��" � � � " � � ���^ �&"�/8� � �j�����g9�' ��D � �!� �!� " ��0" �$��� � � �<�k� & � �lB � &�=��!�$�i�$�69 �� �]B�a

� �, � ��� �L�:9A� "��nm " � �L��� ��" 9 ��� � � � " �L� � ��� � ����9A�L�$�k�L��9 o� �k��\]&:9 � � � prq������UsGp#t � ):mM/ ��"gu=�9�� " ���� �� 9���� ��/$� ��� 9��!Bv9 � � &.wd/ "�� �x� �zy: �v����� � 9A� � � � �x9 � � �$/ �� � � 9�� � � � ��� � � " � � �� �{9 � �Q� � � p � " � � " /Q�?� � � " � � ���

E �<| � � " �� 9 9 ����� � "��L� " � �#y: �v������� ���M�!" 9 ��� � � �k� � � " � � � " 9 9�����9�B � � � � �� ��� p}�_ 9 ��� " � '3�r� �� � " �i� � ���?�L�:9 � pvt EM/ ��" =:9A� " �!�� �� a

' �, � ��� � �@� � �~y: ���L��� " " " " & " 9 � " 9���" " & " � � � " � � � " 9 9��!�L9*Bb& � " ����� �� B� � pvt EU��/ ��" =:9�� " ���� �� ) � ���$��� p " � �L��� � "��$� � �C������9�����9�B �

� �, � ��� ���:9A��9 B �!� �!� " �� 9 ����� � "��L� " ���:9A� "X��D � � � � � " � � �6�� �� B �� �g= ��� "�� " �� 9A��90� " " �" & � �?�:9 D ��� " " ��/ ��" = � �Q��"���B0� � p s � �

� �<| � � " �� 9 �$wX/ "�� �<9 ����� � "���� " � �gy: �49 ��� ��&�= � "�/*9��L� � " 9 � " � � � � p � � � " � � ���� �<� " �z9 ��� �(� " ��" �$�L� � �z� � �C� � &��}7��$B � ���:9A��" �}� =�� " " 9 � " �L��� � � �� � � �G� � " �� �L��� ��" 9 ��� � � �= ���!� "�' � � & " '3��� � �17��QBo/ ��" =:9�� " ���� �� " ����� �k� � � �Y/�9 � � �_� " �X� ����" 9 BM/ ��" =:9�� " ���� ��B � &��Z9 ����� � "K�L� " � � � � " ������9 D ����9 � ��/*9 � � �

� �, &�=�= ��� � � �X��9 D �X9 � �$� � � �k� ��� � ) " � � � ) � ��� " ����6� �_�L��� � �$������� � 9@����) � � ��� �g� � �89 �{� � �� �L�" �rp}�-, � ��� � ��� � �4�!� �!� �L��� � � " �� � p ��� " " � �v�Z� �L�M�L��9A� "K������� " 9���" " & "�� � �� ��� � �9 �k� ��� " � / �� �� �89 �*)������ ' " O�!� �!� � " ���C�k� ��7 � ; ��� � D ����)`B � & " & � ��/ �� �� "����$���L���M/�9 � �� ������� �!��" � � �`�L��� �k� �!� � 9A��� D �$�!B ���� ����

F �, &�=�= ��� � � �j�:9 D �k9 ��� �(�L��� 9��!�L9*B � � � �L� " ����`�A�Q�*�*���$�����.�`^ � "K�L�j9 9 ����� � "���� " � � ���Q�L��� " " �� ���$�L�����k9 � " D � o� ��� " ��6� " � 9 " � " '��$� � ����� " ��� ��\]&�� /�� ��^ �:9A� " � �����?� " " �x/ ��" = � �Q��"���B� �CB � &��Z9 ����� � "K�L� " 9 � 9#�i& /Q� " �� -� � p 9 �[�L��� � � �� �L� � � � a

% � �<| � � " �� 9 9 ����� � "K�L� " ���:9A� � " ��� 9A���L9 �� � 9o/ �� � " � & � & �� " � � � �{���*9 �C & " '3��� ����� �L�:9A�9 �������� "��L� "d��� "���� � � 9A� " D �<7��QB �k� " ��� / ��" � y � � ��).�L��� ��� ��� � � "���� ��� � � � 9�� " D �7A�$B ����� ���y� 9 �1� " � � ���$� �� �?'3� ��� �(�L�$� �

% %��<| � � " �� 9 9 ����� � "���� " ���:9A� � " ��� �!�*9��!�L9 �� �#9 � " � � � � " �L� � ��� � 9 � ��� � /$� "�'��$� " �*9�/8��/�9 � �'3� �����r�

Page 276: Data Structure and Algorithm by Y. Narahari

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

$IH��� � D � " ��� � �$� � / ��" �6'3�$� � �!��9 ���1� ��� " ��� � �$� ���$�� "K�L���$�69 ��� ����� " ��� � �$� � " � D � .u & " '3�����$�~= ��� "�� " �� ��?� " ��� '3�#� D � O� �9 ��� " ��� � �$� �" �L��� � ��� u� & " '��$�����4= ��� "�� " �� ��Y� " ��� '�� � ��� �k� "�� � �*):=�� ��D �r�L�:9�� �� � � �Y�L��� � �L������ ������� � � ��� 9 ��� /�9 '3�Z9�/8� "�� D �$�1)�9 � �L� � & � � "�� " 9*B �� �_'3�<= ����� "�' � �Y� � 9�/8� "�� D �Z' � �L���� 9 ��� 9A�x�L��� � 9 " ��� " " � �

% � �, &�=�= ��� �����:9A�x�L��� � = � "�� � 9A�x� D ���(B � � D � �1� �C\]& "�/87 ��� �(�9A����" �����6=�� � = � �!� " �� %Yt�� � ��� )� ������� ��� ��� �s 9 � � " � 90/ �� �� �L9 � �g, � ��� ���:9A�6�L��� " " " " & " ����=.�L� � �_9 � �*9���" �����g���$/�&�� � " �� �L���$� � �_\]& "�/87 ��� �!��" � 9A=�=�� � ��" " 9A��� � B t��� ���� �� 9 ���L��� " 9���" " & " ����=���� " �9A=�=�� � ��" " 9A��� � B t ��� ���� �� ��� ��� � � + �� �� �!�r����� " �L� � ���x� � & � ��� � �

% E ��� ��/�9 ��� �L����9 ����� � "��L� " , � � �$/$� ��� ����� m����L�:9�� y: � � �L���zm]�L�[� � � " � � " �L��� ��� �(�L��� � �!����� � ������r� � � " � � ��� � ��! �"� � � q % ! �*���K�K�"� � � ! �Y � ����� �������r= " D�� �<9 � � �������@�?�$�_| " D "������������ � � " � � �" � �o� � � &�= ��� �_E � � �*9 D " �� 9 � "���� '��Q� � �$� � 9 � � � � � " � � � ���:9A��/�9 � �� ��'3�#= � 9A/���� " 9 � � � &�=G��) ��� �!�Z�*9�/8� � � � &�=1)G9 �[�L9�7��6����� " "���� � �� � � " � �x�i� ��" ��9�/8� � � � &�=$#:9g� � �L9 �1� �� 9*B�)&%�) " "���� � �#� � � " � � �6� " ��� �!� � & � � �X � �.��� �g�L��� " ��� "�9 O� �k����� � �'%c� � � " � � � 9 � �����=&" D�� � �)( �$�+* � p �j'3�<�L���� " " �x�89A7�� 'UBo9 /�9 ��� � �g, � � ��/$� �� 0p � � � " � � �$�{^ � "��L�<� ���? 9 9A=�=�� � =�� "�9A�L���!��/$&����!� /$�z��� � 9A� " �� � � �,* � p � � + � * � p �Q) � � p ��a

% ' � + �����z9A' ��D �r=�� � ' � � " )�/8� ����� �6�L����=&" D�� �Z9 � � �������@�?�$��| " D "�����L���r� � � " � � � " � �M� � � &�= �� � � ) � �*9 D " �� 9 � "����Z'��Q� � �$� � 9 � � � � � " � � � �L��9A�Y/�9 � �� ��'��<= � 9A/���� " 9 � � � &�= ��,.� �!���9�/8� � � � &�=�9 �~�L9�7��X�L��� " "���� � �g� � � " � � �i� ��" �*9�/8� � � � &�= �- � ����� �X�L��� " �$� " 9 c� ������ � � " "���� � �� � � " � � � 9 � �L���r= " D�� � �( �Q�-* � p �d'3�l�L���O� " " �4�L9�7�� 'UB�9 /�9 ��� � � N�WQV�W".QP �� �p � � � " � � ��� ^ � "K�L��� ���? 9 9A=�=�� � =�� "�9A�L���!��/$&����!� /$� � � �,* � p �Y9 � � � ��� �L�:9A� "K� " �?� � p � �

% � �ZH0/�u 9��!B>����9�= " �0� "�7A��9 ' " 9��!B>���*9A=1)<'�&�� " �� �L��9�� � �r� ��� /8� " � ���!� ) �� ��� � �:9 D � //8�&" � ����� ��$ ; ��� �k� & � �-B � &4�!��=��!� � � �69 /�u 9��(B0����9�= " 9 9�����9*B�a$�^ �:9A� " � �����r��� " � �U� � �{9 /�u 9��(B0����9�= � � p � � � " � � � " �L�$� "X�Z� � p 9 � / a$21 " D �_9 �$wX/ "�� � " " = � � " � �L9A� " �� �� �.��� � �$��� " " 9 ��" �� ���(� � =3���L9�� " �� �� 9 � 9 9 � B�����L���r��& � " �� � " " � " ����� "X�?� � / 9 � p}�

% � ���� �� "������</ �� �� �L�!&�/$� " �� 9o���*9�=�'UB y � � �� � � " " �� 90/ ��" = � �$��� ' " 9��(B4�������#9 � ����� �!� u=3�*9��L��� � B9�=�= � B�" �� �L���43 5]N"687:9<;)= =�� � /��$��&���� �C^ �:9�� " =�&.��=��$� " &.�89A� " �� ���� � � %�� � � E � ' � � �9A�����L��9 �� � � � " ��� " � � � %�� � � ' � E � � �_'UBv�L� " � =�� � /�� ��� a

% � �>1 " D �69g=��$� " &.�89A� " �� 0� � %�� � �*�*���$� � ) � � "�/8� � ��� " =�&���� � �L���6\]& "�/87 ��� �(�9 ����� � "���� "f� " ���=�� � ��&�/��������r'�� � �Z= ����� "�' � ��=��$�!� � � " 9 /�� � �`�L����\]& "�/87 ��� �(�9 ����� � "���� " � 9 �!� & " �6�L�:9A�x������ 9�� � ��� � �`�L��� y � � �?� �k� 7A�$B � " �x� � � ��/Q�L�$�l9 � �����r= " D�� �?� � �x=:9��(� "�� " �� " �� � �

% � �, &�=�= ��� � � �X�:9 D �d9 9�����9*B � � p �:9��89[����/ � ��� � � &�/8���L��9A�6�L���X7��QB � ����9�/8���!��/ � ���~�:9 ������ D 9 � &�� � � � %��@? &�� � " �g9 ��� � � � /*9 � � � " �*9���� " " �g9 ����� � "K�L� " � �4�!� �!�6����� � �d�!��/ � ��� �A =�33VKR:.8W�).& � " ��M�� �� Bo9 9A��� "�� " �� 9 � 9 "d� & � � � � � � �L9 � �6��\]&:9 � � � �L�:9�� � � �� �6�!��/ � ��� � + �B � &��Z9 ����� � "K�L� " � �89�' � ��aCB�& � � "K� B �

Page 277: Data Structure and Algorithm by Y. Narahari

�������������� ������������ ������������ ��� E

% F �>? &�� � " �-9 �� � p6����� m��d9 ����� � "��L� " � �~" �$� � �lm �!� �!����� � " � � � " � � 9 � " ���� � ��� �!�L�$� � " � ��)� ������� p " � �����6� � �L9 �1 & " '3��� � �C� � � " � � � " 9 ��� ����� " =�&�� � " � � �$�

� � �>? &�� � " �g9 �$wX/ "�� �z9 ����� � "K�L� " )�& � " �� �����M' " ���" "�9 � \�&���&��d�:9A�89 � �L��&�/$�L&����M� � �� �� m ��� �(�L�$� � " � � � " � � 9 � " ���� � �!� �!����� � " � � �d^ ��9A� " � ����� ��� � � � u /*9 � �0/ ��" = � �Q��"K��B � �YB � &��9 ����� � "���� " � " �L�$� "X�k� �nmd9 � p ��)�"K� p " � �L���Z� � �L9 �: & " '3��� � ��� � � " � � � " 9 ��� �L��� " =�&��� " � � ���

� %��, &�=�= ��� � � �X�:9 D �d9 9�����9*B � � p �:9��89[����/ � ��� � � &�/8���L��9A�6�L���X7��QB � ����9�/8���!��/ � ���~�:9 ������ D 9 � &�� � ) % ) � � � � ? &�� � " �Z9 �k� � � �x/�9 � � � " �*9��{� " " �<9 ����� � "���� " � �z��� �!������� � ��!��/ � ��� �A =�33VKR:.8W�).& � " ��M�� �� Bo9 9A��� "�� " �� 9 � 9 "d� & � � � � � � �L9 � �6��\]&:9 � � � �L�:9�� � � �� �6�!��/ � ��� � + �B � &��Z9 ����� � "K�L� " � �89�' � ��aCB�& � � "K� B �

��� �?^ � "K�L�r� ���? 9X����/ " � " �� �L�!���r� � � �!� �!� " �� �������$�z� � � " � � ���:� � ��� & � " �� T 5�T�T�V�WrN 9���P�) � "K�L�=�� � =3���?9 � �� �89�� " �� ��x�� �L��� �� ��� � 9 �-�$� � � �<� �`�L���r�����$� �

����� ���� ������#� � ����� � �{��������� �����j�� �"!�# �"! $&%(' �*) ��� ' � �,+ ��.-0/ � ��� 1324658792�79:<;>=?79@�46A.BDC.;>@D:FEHG<IFJLK.MNAOBDC.;�PRQS79ATJ8UV:H@D:6EWK�@�C.C.X BVIF;Y@D:Z7\[N4]7�CTJ^2�79:<;0;OB_K\BV2�46@�C.7�;.=?79J8C>@a`D7�CT@�UD7K�@DAO7WK\BV2�4b587\[NJ^;.J879A�P

Page 278: Data Structure and Algorithm by Y. Narahari

� � ��� ���� ��

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

$&% �'$ (n� ) ������ �+*-, /.10 �3254 X� )��6,H�7,���,6�}�

8 � � �GAFn ��[?� ��� � � � � � %�� � m p?��Yp � � Z ��� � � %�� U ��A C*@����d? �GA � ,?� � � m @@?E@�n,?�� � �Il<��� ����[p?E@�n ��9��� ���S@so � �S? � ��� � �G@so �G@p�: ?%�� � ^o9U �GA C*@����d? �TA � ,?�� � �GAFn ����[?� ��� � � �G@ q ������@��B?Ep ��� �Yp � �"� �� q A �5Z �� � � Z �GAEA � � ?F@�n � � �� ��@��Il+ � -$�5A� ��� m n�� � U�� � q A ��� � �?��� � ��� � � m @@?E@�n ,?���� �GZ�� �YC<;�+>=-?A@ -CBEDF; +>=HGI@J@ -KMLG@ qON KMLGAEA N p ?F@5PQDRLSKTPUL q A N oVPRW N D N LED N % N DBC~Z NYX UVDRLSKZP,?[K\LGAuUVDQB q A NM]_^`X ?aPRW^Bm KUW"BSD[p N D ^ BTZ UbB�A C�@VB ] ?cLGAdKMB ] UWA NTe ?fP C�l

+���-�gVBSDhD N L ^ B�@iL q A Nj] Brp N A ^ BGZkKYB ] U m PlLmP,?nBG@soVL`UVDQB q A NM] PRWiLmP�KMLG@ qdN�^ B�A% N p?F@ UbB�A C�@VB ] ?cLGAmPH? ]�N ?E@�BG@ N`] Brp N A5KMLG@<LGA ^ B qON`^ B�A&% N p ?E@ UOB�A C*@VB ] ?nLGASP,? ]�NBG@oLG@VBEPRW N DSl

+qp -jrsW N KIAcL ^t^ BGZfUOB�A C*@VB ] ?nLGA �uPH? ]vN/^ B�A%EL q A N UVDQB q A NM]_^ WiL ^ @?nK N KIAnB ^[m D N UVDQBGU �N D'P,? NM^ + ^ ?E@VK N UOB�A C*@VB ] ?nLGA ^ LED N KIAnB ^'N p m @p N D"LGpp?aP,?nBG@so ]>m AaP,? UWAE?nKMLmP,?nBG@soN PRKGl -

rsW N KIAcL ^Q^ BGZswyx �AKYB ] UWA N P N +uw�B�@ � p N P N D ] ?F@? ^ P,?nK{UOB�A C*@VB ] ?nLGAHPH? ]�N KMB ] UWA N P N -UVDQB q A N\]_^ ? ^ L�% N DPCc? ] UOBSD'PULT@5PzLG@p ?F@5P N D N\^ P,?E@�nhKIAcL ^t^ BTZ�UVDQB q A NM]_^ ?F@<9{B ] U m P N D| KI? N @VK N lFrsW N ?E@}P N D N\^ P ^Bm DtDRB m @p?E@�n�PRW? ^ KIAcL ^t^ BGZ UVDQB q A N\]_^ KMLG@ qON L~PQPQD[? qWm P N pPRB�PlW N Z>B�AFAnB X ?E@�n�D N L ^ B�@ ^ l�/lkw�B�UOB�A C*@VB ] ?nLGA �uPH? ]�N LGAFn�BSD[?aPRW ] WiL ^ C N P qONYN @ p? ^ KMB % N D N p Z>BSD<LG@9C�w�x �KYB ] UWA N P N UVDQB q A N\]1� LmP�PlW N�^ L ]�N P,? ]�N @VB�wyx �AKMB ] UWA N P N UVDQB q A NM] WiL ^qdNMN @ ^ WVB X @�PRB�WiL % N L ^Bm U N D UbB�A C�@VB ] ?cLGA ��P,? ]vN +"ZIBED NTe L ] UWA N/NTe UOB�@ N @}P,?cLGAP,? ]�N - AnB X{N D q B m @psl

�l�l�

Page 279: Data Structure and Algorithm by Y. Narahari

������������ ������ ���� �����������&� ��� �����! "�*�$#%�'&()�* ���++ �l�),

�rl.-0/ L�1OB�243'5VB ]76 L82 �uP 6[]vN L82 n}BSD 6 PRW ]96[^ p 6n^ KMB % N D N p:/>BSD N % N 5�B�5 N w�x �AKYB ] 1;2 N P N1VDQB q 2 N\] oZPRW N 5jL82<2Swyx �AKYB ] 1;2 N P N 1VDQB q 2 NM]_^dX�6 2=2 qON ^ B�2&%EL q 2 N.6 5>1OB�243'5VB ]76 L82 �P 6[]�N l

-uP 6[^ qdN 2 6[N % N p + qWm P ^ B�/qLmD?5VB�1VDQB B8/ 6n^ L %EL 6 2cL q 2 N -&PRWiLmPswyx �AKYB ] 1;2 N P N 1VDQB q 2 NM]_^pVB>5VBEP WiL % N 1bB�2(3@5VB ]A6 L82 ��P 6n]�N L82Fn�BSD 6 PRW ]_^ L�5p<PRW N D N />BSD N LED NB6 5}PQDRLSKZPlL q 2 N lCrsW Nq L ^C6[^ /IBED�PRW 6n^dqON 2 6aN / 6n^ PRW N�^'N KMB85pD/ILSKZP�L q B % N oB5iL ]�N 243 PRWiLmP 6 /jL85E3 ^C6 5�nE2 Nwyx �AKMB ] 1;2 N P N 1VDRB q 2 NM] KML85 qON ^ B�2&% N p 6 5F1bB�2(3@5VB ]76 L82zP 6[]�N o-PlW N 5 N % N D*3 w�x �KYB ] 1;2 N P N 1VDQB q 2 NM] WiL ^ L%1bB8243'5VB ]76 L�2 ��P 6n] N L82 n}BSD 6 PRW ] l z 6 % N 5_PRW NyX�6 p N DRL85�n NB8/�wyx �AKMB ] 1;2 N P N 1VDQB q 2 NM]_^ PRWiLmP WiL % N�qONYN 5Vp 6[^ KYB % N D N p PRB piL~P N o 6 P X�6 2<2 qdN^'N 5 ^ L~P 6 B�5iL82 6 /kL82=2 B�/zPRW N\] KMB m 2Ep qdNj^ B82% N p 6 5G1bB�2(3@5VB ]76 L82VP 6n]�N l-uP 6[^>6n] 1OBSD'PlL855P�PRBIH�5VB X PRW N D m p 6[]�N 5}P ^ B8//wyx �AKYB ] 1;2 N P N 5 NM^t^ />BSDjL85E35B�5 N

PRB p NM^C6 nE5KJ ^ B m 5pLJ<L82 n}BSD 6 PRW ]_^ />BSDM1VDRB q 2 NM]_^ l.-0/HB85 N KML85 N\^ PlL q 2 6[^ W�L%1VDRB q 2 NM]L ^ w�x �AKYB ] 1;2 N P N o PRW N D NN6n^_^ PQDQB�5�n D N L ^ B�5�PRB qdN 2 6[N % N PRWiLmP 6 P 6[^76 5}PQDlLEKZPlL q 2 N lO N"X B m 2Fp�PlW N 5 pVB qON PQP N D q 3�PQD*3 6 5�n PRB p NM^P6 nE5 L_n}B Bep L�1L1VDQB eL6[] LmP 6 B85 L�2 �n}BED 6 PRW ] DRLmPRW N D PlWiL�5 ^tN LEDQKUW 6 5�n N 5pL2 NM^Q^ 2(3 ^'NMN H 6 5�n�L85 NTe LEKZP ^ B�2 m P 6 B�5sl ��5NTe L ] 1;2 N B8/-PRW 6n^M6n^ PRW N r | x3+IrHDRL % N 2 6 5�n | L82 NM^t] L85�x DRB q 2 NM] -$o X W 6 KUW WiL ^ qONYN 5^ WVB X 5<PRB qdNQ6 55PQDRLSKTPlL q 2 N l��R1VDRLSKTP 6 K\L�2 ^ PQDlL~P N n83�PlB ^ B�2&% N r | x PRW N D N /IBED N/X B m 2EpqdN PRB p NM^C6 nE5 L n}B�Brp L�1L1VDQB e@6n] LmP 6 B�5�L82Fn�BSD 6 PRW ] l rsW 6[^K6n^�X WiLmP X{N p 6 p 6 59{WiL�17P N DQS�o X W N D N�X{N mV^'N p L %ELED 6 L~P 6 B�51B8/ � D mV^ HmL82UT ^�]76 5 6[] L82 ^ 1 L85L5 6 5�n_PQD NYNL82 n}BSD 6 PRW ] PRB3L�1L1VDQB eL6[] LmP N 2(3 ^ B�2% N PRW N r | x l��Q5VBEPRW N D 6n] 1bBSD'PlL85}P+D N L ^ B�5 PRBWiL % N n}B BepV/IL ]A6 2 6 LED 6 PW3 X�6 PlW�wyx �AKYB ] 1;2 N P N 5 NM^t^�6n^<] L�5�3X5iLmP m DRL82 6 5}P N D NM^ P 6 5�nL85p 6 5L5VB�K m B mV^ �"2nB B8H 6 5�nY1VDQB q 2 NM]_^ PRWiLmPyB�5oPRW N�^Bm DC/qLEK N�^tNYNM] 5VB WiLED[p N DsPRWiL85^ BSD'P 6 5�n BSD ^'N LEDQKUW 6 5�no7LED N:6 5G/ILSKTP�wyx �AKMB ] 1;2 N P N l

$&% ��� Z ) � �*� �\[W� � �� �� ]��� _^��6,�� � � �>` a ,&*W�*� � � ]��� _^��6,�� �

wyx �AKMB ] 1;2 N P N 5 NM^t^ WiL ^�qONYN 5 ^ P m p 6aN p 6 5�PlW N />DRL ]vNYX BSDCH B8/?b�cPd�egf�eih$j�wlkPh�mon4c)p�fGl8 B ^ Pq1VDRB q 2 NM]_^ LED N 5VBmP p N K 6n^C6 B�5r1VDQB q 2 N\]�^ o qWm PHB�17P 6[]76<s LmP 6 B85t1VDQB q 2 N\]�^ + X W N D N^ B ]�N %EL82 m7N 5 NYN p ^ PRB qdN_]76 5 6n]764sMN p3BSD ] L e@6n]764sMN p4-$lu-"5 BSD[p N D�PlBoL�1L1;243PRW NPRW N BSD*3�B8/bw�x.vAKYB ] 1;2 N P N 5 N\^t^ PlB B817P 6[]76<s LmP 6 B�5w1VDQB q 2 NM]_^ o X{Ns]>mV^ PFD N KML ^ P PRW NM]L ^ p N K 6[^C6 B�5%1VDQB q 2 N\]�^ l O N 1VDQB % 6 p N L�5 NZe L ] 1;2 N B8/iWVB X L85�B817P 6n]764s L~P 6 B�5r1VDQB q v2 N\] KML85 qdN PQDRL85 ^ />BSD ]�N p 6 55PRB L`p N K 6n^C6 B�5x1VDQB q 2 NM] lytz ';{X|~}.%l� 9{B�5 ^C6<�7N D+PRW N 1VDQB q 2 NM] |'�r� : rt� | r?vAx � r � PRWiLmPw��5 �V^ L ^ WVBSD'P*vNM^ P�1 LmPRW�� N P X{NYN 5 P X BN� 6 % N 5 % N D'P 6 K N\^�6 5 L85��L5 X{N�6 �}W}P No��� �L5 �L6 D N KTP N�� ��DRL�1iW

Page 280: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �l�U�

� ������������� 5 6 5 ^ PlL85VK N B8/ |'�>� :&rt� | r?vJx � r � KYB�5 ^C6n^ P ^ B�/�L 1 LED'P 6 Ko�L2nLED��DRL�1iWoL85 � P X B�� N D'P 6 K N\^ B8/&PRWiLmPt��DRL�1iW ��� ^ B�2<� P 6 B�5 6[^ L ^tN�� � N 5VK N B8/�� N D'P 6 K N\^6 5jPRW N ��DRL�1iW � X�6 PRWw1 N DQWiL�1 ^ L�5 NM] 17P\3 ^tN�� � N 5VK N_�7N 5VBEP 6 5@�hPRWiLmP 5VBQ1 LmPRW NZe@6n^ P ^�rsW�� ^ PRW N 1VDQB8�;2 N\] |'�r� :&rt� | r?vJx � r � 6n^ LjD N 2cLmP 6 B85<PRWiLmP/L ^Q^ B K 6 LmP N\^FN LSKlW 6 5�v^ PlL85VK N B�/zLw��DRL�1iW L85 � P X B � N DtP 6 K NM^ X�6 PRW L ^ B�2<� P 6 B�5 � 5iL ]�N 2(3 L ^ WVBSD'P N\^ PM1 LmPRW6 5 PRW 6n^ KML ^'N!��� wyBEP N PRWiLmP Lw� 6 � N 5 6 5 ^ PlL85VK Nh] L�3�WiL"� N 5VB ^ B�2<� P 6 B�5 �SNTe LEKZP 243 B85 N^ B�2<� P 6 B�5 � BSD ] �L2fP 6 1;2 N�^ B�2=� P 6 B85 ^��

� �7N K 6[^P6 B�5F1VDQB8�;2 NM] x � r � D N 2cL~P No� PRBoPlW N |'�>� :&rt� | r?vJx � r � 1VDRB��;2 NM]L��OB#� NA6[^%$�&r6 � N 5 LG��DRL�1iW � �����'��� � P X B(� N D'P 6 K NM^*)+��,�-.� � L85 � L 5VB�5�v5 N �5LmP 6 � N�6 5}P N � N D0/ �q� B N\^ L 1 LmPRW NZe@6n^ P 6 5 & � N P X{NMN 5 ) L�5 �1,oX WVB ^'N 2 N 5@�SPRW6[^ LmP ] B ^ P2/43wyBmP N PRWiLmP�PRW NK�7N K 6[^C6 B�5F1VDQB8�;2 NM] x � r � 6n^ B�5 N_X L�3 B8/`KML ^ P 6 5@�oPRW N BSD 6 ��v

6 5iL82 B817P 6n]764s L~P 6 B�5 1VDQB8�;2 N\] L ^ L �7N K 6[^C6 B�5X1VDRB��;2 NM]5� O N WiL"� N7� B�5 N PlW 6[^ ��36[] 1bB ^C6 5@��LY�bB��L5 � B�5"PRW N �EL82=� N PRBA� N B817P 6n]A6<sYN��6� rsW 6n^ 6[^ L 1bB81;�L2nLED X L�3 B8/PQDRL85 ^ />BSD ]76 5@��L85"B817P 6[]76<s LmP 6 B�5 1VDRB��;2 NM] 6 55PRB L �7N K 6n^C6 B85I1VDQB8�;2 NM]5�

-0/ L85B817P 6n]764s LmP 6 B�5I1VDQB8�;2 N\] 6[^�N L ^ 31PlW N 5 6 P ^ D N 2cLmP No� �7N K 6n^C6 B�5N1VDQB8�;2 NM] 6n^N L ^ 3 L ^ X N 2=2 � |�6[]76 2nLEDP243 ��6 / X{N KML85x1VDQB#� 6=�7N�N � 6=�7N 5VK N PRWiLmP`L �7N K 6n^C6 B�5 1VDRB��;2 NM]6[^ WiLED ���dX{N L82 ^ B71VDQB#� 6=�7N�N � 6=�7N 5VK N PRWiLmP 6 P ^ D N 2nLmP N�� B817P 6n]A6<s LmP 6 B�5K1VDQB8�;2 NM] 6n^WiLED �6�

$&%87�9 :<;8=�> ) ?6,�@BA/.<@CA�> , (EDGFIHJ=LKMFI= ^ ?J, ]NHJA_^ ?6,�> @

OQPSRUTMRVO WYX[Z]\_^�}a`VbdcfegZ;}a^Eh�{iZjblk0X[m_n~}o^�{� � L ]76 2fPRB�5 6 L85 K�3 K�2 Nu6 5 L85 �L5 �L6 D N KZP No� �SDlL$1iW 6[^ L ^C6n] 1;2 N K)37K�2 N PlWiL~P�1 L ^t^'NM^PRW7DQB��@�}W N � N D*3p� N D'P NTe�NTe LEKZP 243 B�5VK Nq�

r |Ss#` {i`at]ZCs#`om_b5k0X[m_n~}o^�{ � &r6 � N 5 L KYB ] 1;2 N P N8�YX{N�6 �}W5P No� ��DRL�1iW � ��5 � L ]76 5 6n] � ] vX{N�6 �}W}P � L ]76 2fPRB�5 6 L85�9M37K�2 Nq�

u ^QvE`oh#`omwbxkyX[mwn~}a^�{ � &r6 � N 5oL<KMB ] 1;2 N P N��}X No6 �}W}P N�� ��DRL�1iW L85 � L85 6 55P N � N D8/ �� B N\^ PRW N D N+NZe@6n^ P�L � L ]A6 2aPRB�5 6 L85_K)37K�2 N+X�6 PlW�PRBEPlL82 X{N�6 �}W5PsLmP ] B ^ P2/ �

Page 281: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �l���

OQPSRUTMR�� e���ndh"^ s<e��~{

rsW NK6 5@1;� P 6n^ LN1OB ^C6 P 6 � NA6 5}P N � N D�� L�5 � = B��� N KZP ^jX WVB ^tN�^C64sMNM^ LED N 1OB ^C6 P 6 � N6 55P N � N D ^� G �� ? �� � � ����]�

r |Ss#` {i`at]ZCs#`om_b k0X[m_n~}o^�{ � ��] B�5@��L82<2 ^ �@� ^'N P ^ B8/ B8��� N KTP ^FX�6 PRW ^ � ] LmP ] B ^ P9 � X WiLmP 6n^ PRW N 2cLEDC� NM^ P ^ �@� ^'N P ^ � ] 3u ^QvE`oh#`omwb k0X[mwn~}a^�{ � - ^ PlW N D N L ^ �@� ^'N P<B8/sB��� N KZP ^+X WVB ^'N�^P64sMNM^ L �L� �@1 PRBNTe LEKZP 243 9G3

OQPSRUTMR T � bdZ;|dh"ZJv��fkyX[mwn~}a^�{

rsW 6[^�6n^ LK� N 5 N DlL�2 6<s LmP 6 B85oB8/ PRW N�^ �@� ^'N P ^ � ] 1VDQB8�;2 NM]5� 9{B85 ^P6<�7N D�LKH�5iL�1 ^ LSK�HB8/�KML�1 LSK 6 PW3�� X W N D N � 6n^ L 1bB ^C6 P 6 � Nx6 5}P N � N D<L85 � = B8��� N KTP ^�X�6 PRW�1OB ^C6 P 6 � N6 55P N � N D ^C6<sYN\^� G �� ? �� � � '���� L�5 � 1bB ^C6 P 6 � N>6 55P N � N D?1VDQB��VP ^�� G ��� ? �� � � '����E�

r |Ss#` {i`at]ZCs#`om_b kyX[mwn~}a^�{ � g 6 5 � PRW N 2cLmDP� N\^ P�PRBEPlL82 1VDRB$�VP<B8/hL85E3 ^ �@� ^'N P B8/PRW N B8��� N KTP ^ PRWiLmP �VP ^ 6 5 PlW N H�5iL�1 ^ LSK�H �

u ^QvE`oh#`omwb k0X[m_n~}o^�{ � &>6 � N 51/ � 6n^ PRW N D N L ^ �@� ^'N P�B8/HPRW N B8��� N KTP ^ PRWiLmP �VP ^�6 5PRW N H�5iL�1 ^ LSK�H L85 � WiL ^ PRBEPlL82 1VDQB��VP�LmPt2 N L ^ P2/I3

OQPSRUTMR�� � `ab k2ZJv��g`abdc| �@1L1OB ^'N X{N WiL"� N �L5L2 6[]76 P No� 5�� ] � N D<B8/t� 6 5 ^�N LEKUW B8/Q�L5 6 P KML�1 LSK 6 P\3�L85 � =B8��� N KTP ^ X�6 PRW ^C6<sYN\^� G �� ? �� � � ����+X W N D N PlW N�^C6<sYN\^�� ��"! #��� � � '� = � LED N DRLmP 6 B�5iL825�� ] � N D ^?6 5�PlW N DRL85@� N%$'&(� *) #��

r |Ss#` {i`at]ZCs#`om_b k0X[m_n~}o^�{ �,+ N P N D ]76 5 N PRW N ^t] L82<2 NM^ P 5�� ] � N D_B8/>� 6 5 ^K6 5}PRBX W 6 KUW PRW N B8��� N KTP ^ K\L�5I� N 1 LSK�H N�� L85 � ��5 � L�5oB817P 6n] L�2l1 LSK�H 6 5@� �

u ^QvE`oh#`omwbxkyX[mwn~}a^�{ � &>6 � N 5oL85 6 55P N � N D2/ �L� B PRW N B8��� N KTP ^ �VP 6 5 / � 6 5 ^ 3

Page 282: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �l���

OQPSRUTMR�� �Mm_n.e��dml| egv��d^���~}V`abdc| �@1L1OB ^'N PRW N D N LED N = � B8� ^��� G �� ? �� � � � � PRB � N 1VDQB�K N\^t^'No� B85 N LmP�L P 6n]�N 6 55VB�5�v01VD NYNM] 17P 6 � N /IL ^ W 6 B85 ���-N PjPRW N 1VDQB K NM^t^P6 5@�oP 6n]�N � N�� G ��� ? �� � � ��� � L85 � PRW N� � N�� LmP NM^ � N�� G ��� ? �� � � '��� �Q� � ^ KlW N�� �L2 N />BSDyPRW N � B8� ^�6[^ L71 N D ] � PlLmP 6 B�5�� B8/#���� �� � � �� = ��� B�� �"! #��� � � '� = ��X�6 2<2 6 5VKo�7D�L 1 N 5iL82aPW3 B�/ � �"! #��� � � '� = �6 / 6 P ]76[^t^tNM^ PRW N�� � N v � LmP NY6 5�PRW N � 6 � N 5 ^ KlW N�� �L2 N � � -0/ 1VDQB�K N\^t^'No��X�6 PRW 6 53PRW N� � N v � LmP N8� PRW N 1 N 5iL82aPW3 6n^ PlL�H N 5 L ^�sYN DQB � rsW N 1VDQB�K NM^Q^C6 5@�oP 6[]�NM^o� � � N v � L~P NM^��L85 � 1 N 5iL82aP 6[NM^ LED N L82=2M1bB ^P6 P 6 � NK6 55P N � N D ^� rsW N 1 N 5iL82aPW3 B8/yL ^ KUW No� �L2 NI6n^ PRW N^ � ] B8/~1 N 5iL82fP 6aN\^?6 5VK��7DtD No� ��3 � B8� ^ 1VDQB�K NM^Q^'No� LSKYKMBED �L6 5@��PlB�PRWiLmP ^ KUW No� �L2 Nq�

r |Ss#` {i`at]ZCs#`om_b kyX[mwn~}o^�{ � + N P N D ]76 5 N PRW N�]76 5 6[] � ] 1OB ^t^P6 �;2 N 1 N 5iL82fP\3F/>BSDL ^ KUW No� �L2 N L85 � ��5 � L85 � B817P 6[] L82 �_^ KUW No� �L2 N PlWiL~P�LSKUW 6[N � NM^ PRW N�]76 5 6n] � ]1 N 5iL82fP\3 �

u ^QvE`oh#`omwb k0X[mwn~}a^�{ � &r6 � N 5�LN5VB�5�v"5 N �5LmP 6 � NA6 55P N � N D�/ �.� B NM^ PRW N D N NTeL6[^ P<L^ KUW No� �L2 N�X�6 PlWx1 N 5iL82aPW3 LmP ] B ^ P /I3

OQPSRUTMR�� egZCs[`oh � Zjn�` }V` s��� 1VDQB81bB ^P6 P 6 B�5iL82Q�ELED 6 L��;2 NB6n^ B85 N PRWiLmP K\L�5A� N L ^t^C6 �E5 No� PRW N �EL82<� N! k�"lc BSD$#&%�n foc �� 2 6 P N DRL82 6[^ Lu1VDRB�1bB ^C6 P 6 B�5iL82 �ELmD 6 L��;2 N BSD 6 P ^ 5 N �5L~P 6 B�5 � � K�2cL�� ^tN:6[^ L ^tN�� � N 5VK NB8/�2 6 P N DRL82 ^�^'N 1 LmDlL~P No� ��31PRW N 2[B8� 6 KML82 � : B81 N DRLmPRBSD � � 1VDQB81OB ^C6 P 6 B85iL82q/>BSD ] �L2cL6[^ ^ L 6=� PRBu� N>6 5 KYB�5���L5VKTP 6 � N 5VBSD ] L82;/IBED ] � 9 wyg � 6 / 6 P KYB�5 ^C6n^ P ^ B8/zL ^tN�� � N 5VK NB8/HKo2nL8� ^'N\^`^'N 1 LEDRLmP N�� ��3 PRW N 2nB�� 6 KML82 � w + B�1 N DlL~PlBED � gVBSD NTe L ] 1;2 N8�� ��' ()' [�+* � (,' - �+* � ��' (+' -+' �

� PQDP� PRW L ^Q^C6 �E5 ]�N 55P_/>BSD L ^'N PhB8/q1VDQB81bB ^C6 P 6 B�5iL82J�ELED 6 L��;2 N\^_6n^ L85 L ^t^P6 �E5 ]�N 55P{B8/ k."lc BSD,#&%�n foc��EL82=� N PRB N LSKlW 1VDRB�1bB ^C6 P 6 B�5iL82d�ELED 6 L��;2 N � � PQD � PRW L ^t^C6 ��5 ]�N 5}P 6n^^ L 6<� PRB ^ LmP 6[^ / 3 L�/>BSD ] �L2nL 6 / 6 P ] L�H N\^ PRW N �EL�2=� N B8/HPRW N />BSD ] �L2cL k�"�c �

T0/ e�1*W 2 u ^QvE`oh#`omwb kyX[mwn~}o^�{43�� &r6 � N 5 L�9 w�g />BSD ] �L2cL 6 5 X W 6 KUW N LSKUW Ko2nL8� ^'N6[^ 1 N D ]76 PQP No� PRB KMB855PlL 6 51LmP ] B ^ PsPRW7D NYN 2 6 P N DlL�2 ^��l6[^ PRW N D N LvPQD � PRW3L ^t^C6 ��5 ]�N 5}PPRB 6 P ^ �ELED 6 L$�;2 NM^ PRWiLmP ^ LmP 6n^ � NM^B6 P'3

Page 283: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �l���

$&%87�� ����, 4 ? =L@I@ ,d@ ] =�D>` 0 ]

� 5vL�2<�}BSD 6 PlW ] 6n^k^ L 6=� PRBr� N 1OB�243'5VB ]76 L82=2(3>�bB8�L5 �7N��Y6 / 6 P ^ X BSD ^ P*vAK\L ^tN KYB ] 1;2 NTe v6 P\3 6[^ �bB��L5 �7No� ��3�Lt1bB�2(3@5VB ]76 L82$/ �L5VKZP 6 B85�B8/7PRW N_6 5@1;� P ^P64sMNq��� 1VDQB8�;2 N\] 6[^&^ L 6=�PRB�� N 1bB�2(3@5VB ]A6 L82<243 �bB��L5 �7No� 6 /HPRW N D Nw6[^ LY1bB8243'5VB ]76 L�2=243 �bB8�L5 �7N�� L824�}BSD 6 PRW ]/>BSD 6 P �k 6n^ PRW N K�2cL ^t^ B8/ L82<2 �7N K 6n^C6 B85 1VDQB8�;2 NM]_^ PRWiLmPjLED N 1OB�243'5VB ]76 L82=2(3x�bB��L5 �7No�6�

rsW N�6n] 1;2 6 KMLmP 6 B85 6n^ PRWiLmP/L �7N K 6n^C6 B85A1VDQB8�;2 NM] � - k KML85A� Ny^ B�2 � N�� 6 5A1OB�243'5VB$v]76 L82 P 6[]�N B�5 L �7N P N D ]76 5 6n^ P 6 KjKMB ] 1;� PlLmP 6 B�5 ] B �7N 2 �I^ �VKUW L ^ L �7N P N D ]76 5 6n^ P 6 Kr~�7D 6 5@� ] LEKUW 6 5 N[���

� k D N 1VD N\^'N 55P ^ PRW N K�2cL ^t^ B8/ �7N K 6n^C6 B85V1VDRB��;2 NM]_^�X W 6 KUW KML85 � No^ B82 � No� 6 51OB�243'5VB ]76 L82 P 6[]�N ��3 L 5VB85�v �7N P N D ]76 5 6[^ P 6 K ] B �7N 2 B8/sKYB ] 1;� PlLmP 6 B�5 � rsWiLmP 6n^��L �7N K 6n^C6 B85 1VDRB��;2 NM] � - � k KML85 � N_^ B�2 � N�� 6 5 1bB8243'5VB ]76 L�2(v�P 6n]vN B85 LG5VB�5�v�7N P N D ]76 5 6n^ P 6 KsKYB ] 1;� PlLmP 6 B�5 ] B �7N 2 �I^ �VKUW L ^ Lu5VB�5�v �7N P N D ]76 5 6n^ P 6 Ksr~�7D 6 5@� ] L vKUW 6 5 N!���i� 5VB�5�v �7N P N D ]76 5 6n^ P 6 K ] B �7N 2/K\L85 ] L�H N PRW N D 6 �}W5P���� N\^t^'N\^ B�5 N � N D*3] B#� N L85 � DRLSK N PRB X LED �V^ PRW N ^ B�2=� P 6 B�5 ] �VKlWr/qL ^ P N D PRWiL85�L �7N P N D ]76 5 6[^ P 6 K ] B �7N 2 �� �7N P N D ]A6 5 6n^ P 6 K ] LEKUW 6 5 N8� LmP N LSKUWY1bB 6 55P 6 5 P 6n]vN��SNTe7N K�� P NM^ L85 6 5 ^ PQD �VKTP 6 B�5 �

+ N 1 N 5 �L6 5@�oB�5 PRW N B�� PRKYB ]�N B8/ NTe7N K�� P 6 5@� PRW N 6 5 ^ PQD �VKTP 6 B�5 ��6 P+PRW N 5 NZe N K�� P N\^^ B ]�N 5 NTe P 6 5 ^ PQDP�VKZP 6 B�5 � X W 6 KUW 6n^ �L5 6U� � Nq� � 5VB�5�v �7N P N D ]76 5 6n^ P 6 K ] LEKUW 6 5 N B�5PRW N BmPlW N DyWiL85 � WiL ^ L KUWVB 6 K N B8/ 5 NZe P ^ P N 1 ^�� -�P 6n^ />D NYN PRB KUWVB B ^'N L85E3"PRWiLmP 6 PX�6[^ W NM^� gVBSD NTe L ] 1;2 N8� 6 P�KML85�L�2 X L�3 ^ KUWVB B ^'N L 5 NZe P ^ P N 1 PRWiLmP%2 N L �V^ PRBoPRW N� N\^ P ^ B�2=� P 6 B�5 />BSD�PRW N 1VDQB8�;2 N\] �0� 5VB�5�v �7N P N D ]76 5 6n^ P 6 K ] LSKUW 6 5 N PRW�� ^ WiL ^ PRW N1OB X{N D`B8/ NTe PRD NM]�N 2437��B�B ��� B817P 6n] L82��E� NM^Q^C6 5@� ���^ L85 NZe L ] 1;2 N�� 2 N PA� ^ KYB�5 ^C6=�7N D�PlW N �7N K 6n^C6 B85 � N D ^C6 B�5 B�/�r | x $ &r6 � N 5 L

KYB ] 1;2 N P N8�EX No6 �}W}P N�� ��DRL�1iW�L85 � L85 6 5}P N � N D / ��� B NM^ PRW N D NsNTeL6[^ P{L � L ]76 2fPRB�5 6 L85K)37K�2 N�X�6 PRW PRBEPlL82 X{N�6 �}W}PhLmP ] B ^ P /I3� ^t] LED'P?5VB�5�v �7N P N D ]76 5 6[^ P 6 KhL82<��BSD 6 PRW ] />BSD/PRW N L��bB#� N 1VDQB8�;2 NM] ^ PlLED'P ^ X�6 PRW

L%� N D'P NTe � �E� N\^t^'NM^ PRW N KMBSDtD N KZP N�� � N PlB�KUWVB B ^'N8� 1VDQB K NYNo�V^ PRB_PlW N 5 NTe P � N D'P NTe ��E� NM^t^'N\^ PRW N KYBSDtD N KTP No� � N PlBvKUWVB B ^'N PRW N D N8�VN PRK � L85 � 6 5 1bB�2(3@5VB ]A6 L82dP 6[]�N>�L6n^ vKYB#� N D ^ L � L ]76 2fPRB�5 6 L85�K�3 Ko2 N B8/>2 N L ^ P�KYB ^ P L85 � 1VDQB[� 6=�7NM^ L�5 L85 ^ X{N D�PRB PRW NL��OB#� N 1VDQB8�;2 N\] � rsW 6[^ 6[^ PRW N 1OB X{N D{B�/ 5VB�5�v �7N P N D ]A6 5 6n^t]5�S� �7N P N D ]A6 5 6n^ P 6 KhL�2(v�}BED 6 PRW ] W N D N`X�6 2=27WiL"� N 5VBjKlWVB 6 K N �;� P PlL�H N`^ �@1 N Dv 1OB�243'5VB ]76 L82}P 6[]�N PlB�L85 ^ X{N DPRW N L��OB[� N*� � NM^ P 6 B�5 �� 5VBmPlW N D X L�3jB�/j� 6[NZX�6 5@�hPRW N L$�bB#� NM6n^ PRWiLmP!� 6 � N 5�L�KML85 �L6=� LmP N_� L ]76 2fPRB�5 6 L85

K)37K�2 N � K\L�2=2 6 PNd c k eMd.% c � � B85 N KML85 � N D 6 / 3 6 5 1bB�2(3@5VB ]76 L82kP 6[]�N_X W N PlW N D�PRW N

Page 284: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �����

L85 ^ X{N D PRB�PRW N L��bB#� N � � NM^ P 6 B�5 6[^�� � | BSD w ��� rsW�� ^ PRB�KUW N K�H 6 /zL�1VDQB8�;2 NM] 6n^6 5 � k �L6 P 6[^{N 5VB��@�}W PRBu1VDQB#� N>6 5x1bB�2(3@5VB ]76 L82VP 6n]�N PRWiLmPsL�5�3 � � | 6 5 ^ PlL85VK N:6n^KYBSDtD N KTP � O NY� Bx5VBmP+WiL"� N PRB X BEDQD*3oL��bB8� P w � 6 5 ^ PlL85VK NM^�^C6 5VK N PRW N 1VDQB8��DRL ]L82 X L�3 ^{] L�H NM^ PRW N D 6 �}W}PsKUWVB 6 K Nq�-uP 6n^�N L ^ 3 PRB ^ WVB X PlWiL~P k � � k �!� B X{N � N D �~6 P 6n^ �L5@H�5VB X 5 X W N PRW N D k

� k � -"5V/ILSKTP � PRW 6n^ � � NM^ P 6 B�5 6[^ 1 N DQWiL�1 ^ PRW N�] B ^ P�K N 2 N �VDRLmP No� B�/�L82=2 B81 N 51VDQB8�;2 N\]_^_6 539{B ] 1;� P N D | K 6[N 5VK Nq�

$&%87�� 0 ]32}4�A�> ) ?6,+F , ]NHjA_^ ?6,d> @

rsW N �7N ��5 6 P 6 B�5�B8/+wyx.vAKMB ] 1;2 N P N 5 NM^t^Y6[^ � L ^'No� B�5�D N�� �VK 6 � 6 2 6 P\3 B8/�1VDQB8�;2 N\]�^��| �@1L1OB ^'N�X{N�X�6n^ WoPRB ^ B�2 � N LA1VDQB8�;2 N\] � L85 �oX N L82[D N L � 3"WiL#� N L85L824�}BSD 6 PRW ]/>BSD ^ B�2�� 6 5@�oL�5VBEPRW N Dr1VDQB8�;2 N\] � �z| �@1L1OB ^'N X{N WiL"� N Lx/ �L5VKZP 6 B�5 r PRWiLmP�PUL$H N\^L85 6 5@1;� P e />BSD � L85 � 1VDQB � �VK NM^ r � e � � L�5 6 5@1;� P�/>BSD � ^ �VKUW"PRWiLmPsPRW N KMBSDtD N KZPL85 ^ X{N D /IBED � B85 eG6n^ 3 NM^ 6 / L85 � B�5L243 6 /HPRW N KYBSDtD N KTPhL85 ^ X{N DB/>BSD � B�5or � e �_6n^3 NM^� rsW N 5I��3 KYB ] 1bB ^P6 5@� r L85 � PRW N L82<��BSD 6 PRW ] />BSD 3 �VX{N WiL"� N L851L824�}BSD 6 PRW ]/>BSD � �� -0/+PRW N / �L5VKTP 6 B�5 r 6 P ^tN 2</ KML85R� N KYB ] 1;� P N�� 6 5R1OB�243'5VB ]76 L82=2(3��OB��L5 �7N��P 6[]�N��}X N ^ L�3 � 6n^ 1bB�2(3@5VB ]A6 L82<243 D N�� �VK 6 �;2 N PRB � L85 ��X N�X D 6 P N � )�� �

� -0/ � 6[^ 1OB�243'5VB ]76 L82=2(3�D No� �VK 6 �;2 N PRB ��� PRW N 5 PlW N�6n] 1;2 6 KMLmP 6 B85 6[^ PlWiL~P � 6n^L~Pt2 N L ^ PhL ^ WiLmD � PRB ^ B�2�� N L ^ � �L6 � Nq� � 6[^ 5VB�WiLmD �7N D{PRB ^ B82 � N PRWiL85 ���

� -uP 6[^`N L ^ 3�PRB ^'NYN PlWiL~P� ) � � L85 ��� - k 6[] 1;2 6aN\^ � - k �

OQPSR�� RVO � k / �5ZJX � bd^Eh"h Zjb � � k /�� ml{�|~}o^ s#^Qbd^Eh"h� �7N K 6n^C6 B�5 1VDQB8�;2 N\] � 6n^+^ L 6<� PRBx� N wyx.vAWiLED � 6 / � ) � � � � - � k �M� 5wyx.vAWiLED � 1VDQB8�;2 NM] � 6[^�^ L 6<� PRBA� N w�x.v KMB ] 1;2 N P Nw6 / � - � k � � k�� 6n^ PRW N^ PlL85 � LED � 5VBEPlLmP 6 B�5 />BSD PRW N Ko2nL ^t^ B8/kL82<2-w�x.vAKYB ] 1;2 N P N 1VDRB��;2 NM]_^�� - 5@/>BSD ] L82<243 � L853wyx.vAWiLED � 1VDQB8�;2 N\] 6n^ L�1VDRB��;2 NM] PRWiLmP 6[^ LmP�2 N L ^ PyL ^ WiLED �L ^ L85E3 1VDQB8�;2 NM] 6 5 � k � -0/ � / �7D'PRW N D � PRW N 1VDQB8�;2 N\] L82 ^ B7� N 2nB�5@� ^ PlB � k �6 P X B��L2 � � N KMB ]�N w�x.v KMB ] 1;2 N P Nq�

Page 285: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �����

� -uP"K\L85 � N N L ^C6 243R1VDQB#� No� PRWiLmP 6 /�L�5�3 w�x.vAKYB ] 1;2 N P N 1VDQB8�;2 NM] 6[^I6 5 k �PRW N 5 � k k � |�6n]76 2cLEDP243 �~6 /�L85E3X1VDQB8�;2 NM] 6 5 � k 6n^ 5VBEP�1OB�243'5VB ]76 L82(vP 6[]�N�^ B�2��EL��;2 N8� PRW N 5 5VBvw�x.v KMB ] 1;2 N P N 1VDQB8�;2 NM] X�6 2<2 � N 1bB�2(3@5VB ]76 L82 v�P 6n] N^ B�2��EL��;2 Nq� rsW�� ^ w�x.v KMB ] 1;2 N P N 5 NM^Q^�6n^ LmP PRW N KZD � e B8/ �7N K 6<�L6 5@� X W N PRW N D BSD5VBmP � k k �

��� ^C6 5@��PlW N L��OB[� N��7N ��5 6 P 6 B�5 B8//wyx.vAKYB ] 1;2 N P N 5 NM^t^ PRB ^ WVB X PRWiLmPjLx� 6 � N 5�7N K 6n^C6 B�5x1VDQB8�;2 NM] � ^ L�3 �Y�L6n^ w�x.v KMB ] 1;2 N P N�X�6 2<2 K\L82<2 /IBEDB1VDQB[� 6 5@��1OB�243'5VB$v]A6 L82 D No� �VK 6 � 6 2 6 P\3 B8/ N LEKUW�1VDQB8�;2 NM] 6 5 � k PRB3PRW N 1VDQB8�;2 NM] ��� rsW 6n^u6n^6[] 1VDRLSKTP 6 K\L�2 ^C6 5VK N PRW N K�2cL ^Q^ � k L82[D N L � 3WiL ^ LG2cLEDC� N 5�� ] � N D B8/ ]�N\] v� N DQ1VDQB8�;2 NM]_^ L85 �1X�6 2<2HKMB855P 6 5��VB�� ^ 243x��DQB X L ^ D NM^'N LEDQKUW N D ^t�L6n^ KMB#� N DQ5 NYX]vN\] � N D ^ B8/ � k �

� � ] �VKUW ] BSD N 1VDRLSKTP 6 K\L�2 X L�3 B8/ 1VDRB#� 6 5@�<wyx.vAKYB ] 1;2 N P N 5 NM^t^ B8/HL �7N K 6[^C6 B�51VDQB8�;2 N\] � 6[^ PRB �L6n^ KYB#� N D L 1VDQB8�;2 N\] � - � k � ^ �VKUW�PRWiLmP � ) � � �|�6 5VK N � 6n^ w�x.vAKYB ] 1;2 N P N L85 � ) � 6n^ L�PQDRL85 ^C6 P 6 � N D N 2cL~P 6 B�5 ^ W 6 1 � PRW N L��bB#� NX B��L2 ��]�N L85 PRWiLmP�� )�� � � � - � k � gL�7D'PlW N D ] BSD Nt6 / � - � k � PRW N 5� 6[^ w�x.vAKYB ] 1;2 N P Nq�rsW N L��bB#� N�6n^ PRW N ^ PlL85 � LED � P N KlWL5 6U� � N � ^'N�� />BSD ^ WVB X�6 5@� PRW N wyx.vAWiLED � 5 NM^Q^BED�w�x.vAKYB ] 1;2 N P N 5 N\^t^ B8/jL�� 6 � N 5 �7N K 6n^C6 B�5D1VDQB8�;2 NM]5� gVBSD NTe L ] 1;2 N8� L82<2PRW N��7N K 6[^C6 B�5N1VDQB8�;2 NM]_^ � 6 � N 5 6 5 | N KTP 6 B�5 #�$I� � KML85 � N ^ WVB X 53PRBK� N w�x.vKYB ] 1;2 N P N ��3 PRW N L��bB#� N P N KUWL5 6U� � Nq�

� � 5 6 5}P N D NM^ P 6 5@� � � N\^ P 6 B85 6n^$ WVB X X L ^ PRW N �iD ^ P ]vN\] � N D B�/ � k�� />B��L5 � 3| P N 1iW N 5o9{B B8H ^ WVB X No� PlW N w�x.vAKYB ] 1;2 N P N 5 N\^t^ B8/CPRW N 1VDQB8�;2 N\] p v | � r ��3�L6 D N KTP 243 1VDQB#� 6 5@��PRWiLmP � )�� p v | � r � � - � k �

� -0/CL%1VDQB8�;2 NM] 6n^ w�x.vAKYB ] 1;2 N P N8��6 P � B NM^ 5VBEP ]�N L�5vPRWiLmP{L82=2 WVB81 N\^ LED N 2[B ^ P �-0/OPRW N LSKTP �iL82 6 5@1;� P ^C64sMNM^ LED Nh^t] L82<2 � L85�L82<��BSD 6 PRW ] X�6 PlW �}^ L�3 �}NTe 1OB�5 N 5}P 6 L82DP�L5L5 6 5@� P 6n]vN3] L�3 � N LEKMK N 17PlL��;2 N � � 5 PRW N BmPlW N D�WiL85 ���t6 P ] L�3 ^ P 6 2<2� N 1bB ^Q^C6 �;2 N PRB B8�7PlL 6 5�5 N LEDvAB817P 6n] L82 ^ B82=� P 6 B�5 ^!6 5Y1OB�243'5VB ]76 L82(v�P 6[]�N �C| �VKUWL�5vL�2<�}BSD 6 PlW ] PRWiLmPFD N P �7DP5 ^ 5 N LEDvAB817P 6[] L82 ^ B�2=� P 6 B�5 ^ �U6 5u1bB�2(3@5VB ]A6 L82�P 6n]�N[�6[^ KML82=2 N�� L85 L�1L1VDQB eL6[] LmP 6 B85 L824�}BSD 6 PRW ]5� � ^P6 5@���+DP� ^ HmL82UT ^ L82<�}BED 6 PRW ] PRBB��7PUL 6 5jL ^ �@�bB�17P 6[] L82 ^ B82=� P 6 B�5+PRBhPRW N r | x �q^'NYN 9{WiL�17P N D S �q6[^ L85 NTe L ] 1;2 NB�/zPRW 6n^�

Page 286: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �����

$&%87�� ��A ]NHJA_^�, ��� HJF ��,�H

rsW 6[^ KUWiL$17P N D�WiL ^ 1VD NM^'N 5}P N�� LA�iD ^ P�2 N � N 2 6 5}PQDQB � �VKTP 6 B�5 PRB�PRW N 5VBmP 6 B�51B8/ w�x.vKYB ] 1;2 N P N 5 N\^t^� O N WiL#� N KMB85 ^ K 6 B8� ^ 2(3 L"�5B 6=�7No� LoP N KUWL5 6 KML82 �L6[^ Ko� ^t^C6 B�5 B8//PRW NPRB81 6 K ^H^C6 5VK N PRWiLmP X B��L2 � � N PRW N/^ �@��� N KTP B8/ L ] BSD N L � �EL85VK No� KYB��7D ^'N � gVBSDkL�D 6 ��vBSDQB�� ^ PQD N L~P ]vN 5}P&B8/iPRW N`^ �@��� N KTP � 3}B�� ^ WVB8�L2 � KYB�5 ^ �L2aPkPlW N />B�2=2[B X�6 5@�yD N / N D N 5VK NM^�

rsW N />B�2=2[B X�6 5@�r�OB�B8H 6[^ L Ko2nL ^t^P6 K ^ B��7DQK N B�5<PRW N PlW N BSD*3<B8/ w�x.vAKYB ] 1;2 N P N 5 N\^t^L85 � L�2 ^ B KYB�5}PUL 6 5 ^ L KMLmPlL82nB��E� N B8/yw�x.vAKYB ] 1;2 N P N 1VDQB8�;2 N\]�^��L6n^ KYB[� N D No� �L55P 6 2#�����I�

y�� R 8 � : � & LmD N 3 L85 � + � |_� � B�WL5 ^ B�5 � 9{B ] 1;� P N D ^ L85 � - 55PQDRLSKTPlL�� 6 2 6 P\3 $ �& � 6=�7N PRB�PRW N rsW N BSD*3�B8/&w�x.vAKYB ] 1;2 N P N 5 N\^t^� O � � � g7D NMNM] L85 � #�����I�

rsW N K�2cL ^t^ k X L ^ �iD ^ P 6 5}PQDRB � �VK N�� ��319{B8�iWiL ] 6 5 #��� �;� y�� R � 2cL85 9{B8�iWiL ]5� rsW N 6 5}PQD 6 5 ^C6 K1KYB ] 1;� PlLmP 6 B85iL82 �L6�� Ko�L2fP\3 B8/:/ �L5VKZP 6 B�5 ^�

x DQB K NYNo�L6 5@� ^ B8/dPRW N #��� � 9{B�5@��D NM^Q^ />BSD � B8� 6 K � 8 N PRWVB � B�2nB8��3 � L�5 � x W 6 2[B ^ vB�1iW�3 B8/ | K 6aN 5VK N\^�� wyBEDtPRW�v � B�2=2nL85 ��� #��� �;� 1L1 � ��� vJp $C�

rsW N K�2cL ^t^ k X L ^ L82 ^ B 6 5 �7N 1 N 5 �7N 55P 243 6 55PQDQB � �VK No�G6 5 #��� �� ��3I� �V] B�5 �V^���X WVBL82 ^ B KYB�5�� N KZP �7D N�� k � � k />BSD{PlW N �iD ^ PsP 6n]�Nq�

y�� R � LEK�H � �V] B�5 �V^� xFLmPRW ^�� PRD NYN\^�� L85 ��� B X N D ^�� 9 L85iL �L6 L85 � B8�7D 5iL�2 B�/ 8 LmPRW�vNM] LmP 6 K ^���� B�2=� ]vN #�����#��� ���� 1L1 ������� v �� �� �

rsW N 5VBmP 6 B�5jB8/Vwyx.vAKMB ] 1;2 N P N 5 NM^t^ X L ^ �iD ^ P 1VDRB�1bB ^'No��6 5 #���� # ��3 | P N 1iW N 5�9{B�B8HX WVBvL82 ^ B��5L"� N PRW N �iD ^ Phw�x.vAKYB ] 1;2 N P N 5 N\^t^ 1VDRB B8/ />BSD`p v | � r �

y�� R | P N 1iW N 5 9{B B8H � rsW N KMB ] 1;2 NTeL6 P\3 B8/ PRW N BED NM] 1VDQB#� 6 5@�A1VDQB K No� �7D N\^� x DQB$vK NYN��L6 5@� ^ B8/ PlW N rsW 6 D � � 5L5��iL82 � 9 8 | 3 ] 1OB ^C6 � ] B�5 rsW N BSD*3 B�/h9{B ] v1;� P 6 5@� � #�����#$� 1L1 � #���# v #�� S �

rsW N P N KUWL5 6U� � N B�/ 1OB�243'5VB ]76 L82 D No� �VKTP 6 B�5 ^sX L ^�6 5}PQDQB � �VK N��N6 5 #���� � ��3�� LEDC1 �X WVBvL82 ^ B �7N\] B�5 ^ PRDRLmP No� L D 6 KlW �ELED 6aN PW3�B8/kw�x.v KMB ] 1;2 N P N 1VDQB8�;2 NM]_^�

y�� R : 6 KUWiLED � 8 � LEDC1 � : No� �VK 6 � 6 2 6 P\3 L ] B�5@� KMB ] � 6 5iLmPRBSD 6 L82M1VDQB8�;2 NM]_^� -"59{B ] 1;2 NTeL6 P\3�B8/ KMB ] 1;� P N D&KYB ] 1;� PlLmP 6 B85 ^o� No�L6 P No� ��3�: � � � 8 6 2<2 N DkL85 ���J� OrsWiL~PlW N D � x 2 N 5�� ] x D NM^t^o��#���� � 1L1 � S � v #�$ p �

Page 287: Data Structure and Algorithm by Y. Narahari

������������ �����������������������������������! "��$#%�'&()�*���++ �����

rsW 6n^ KUWiL�17P N D�WiL ^ 2 6 � N DRL82=2(3 � DRL X 5 / DQB ] PRW N3] LmP N D 6 L82M1VD N\^'N 55P No�D6 5�P X B�OB�B8H ^$ 9{WiL$17P N D p B8/+PlW N �bB B8H ��3 9{BSD ]�N 5 �,� No6n^'N D ^ B�5 � L85 � : 6 � N\^ P"L85 �9{WiL�17P N D # p_B8/FPRW N �bB B8H ��3 | LEDRL��/LSL ^'N L85 � � 2=2 N 5 � L�5 &�N 2 �7N D � rsW NM^'N P X B�OB�B8H ^ LmD N L D 6 KUW ^ B��7DQK N B8/ w�x.v KMB ] 1;2 N P N 1VDQB8�;2 NM]_^ L85 � w�x.vAKYB ] 1;2 N P N 5 N\^t^1VDQB B8/ ^��

$&%87�� ]NHjA_^ ?6,d> @

������ �� ; ��� ; ���������� ���� ; ��� ; ��� ; �������! "� ; �� # ; �%$& #�� ; ��� ; ��'��()�*�+ �,)$*���-�- ; /.) #��0��� #�1�2���43 ; �-��� 5'�(��5 #' ; �-���! 6�7'��� +�-�8.) #��0��� #�1�2��� ; �-����9�(�' ;Y; ��� ; �:.) #��0��� #�1�-���;�;'��()�*�< �,=$*���-�- ; %.= #�-0��� #���-���43; �-���> 5'�(��5 #' ; �-���! ?�1��0@�5�! 5'�� ; �-�A���B�&C�.) #���!� ; �-���43 ; �-�1�>������ ���� ; ���B�

D��>EGF:���1�-� ; #���2���H.I� ; �J�-�K�L������.��J�- ��L 5�-�1.����M.�� ; � ; ��� ;�N �- 5� ; O� N �*�50 N �*� ; �&CJ�&C���$ ; �-0H #��$&������ �� ; ��� ;�; ���BP��!$*�- 5�- #�H.��5 �(����!�Q �,:P�� ; �*���1�-���-���R�S��� ; ���*�� ����� ;�; ���*�5�B�- ��TF:���1�-� ; #���-���.�� ; �A,U�5 #�V�W�#� N �!� N �*� ; �&CAX ; ����� ; ���*�Y�#� N �!� N �*� ; �&CAZ[()�!�� #���# ; [\^]

_����� �� ; ��� ;�; ����`baW���!�-� ; �� #�A�- Y� ; �7���� 5� ; � N �/���!�-� ; �� #�A #� ; ���8 c� ; �,+.��5 �(��-�!�1 *�d �e%� N �!�T���T'���P����5�!$ ; �!Pf������.��g9 ; ���1F:���1�-� ; #���-���R$&0�$*����.��5 �(����!�hP�� ; �*���1�2���! %�S��� ; ���*�/�@������.I����� b�>F:���1�-� ; #���-���W$&0�$*�����ie/� N �!� ; ��� ; ; ���SFj�����-� ; #���-����$&0�$*���Y.��5 �(����!�k,U ��"'���P����5�!$ ; �!PW������.��� �- �l:mn3poq #�1.���� ; ��9Y�S��� ; $*���r0� #'s 5�!0r��() #' ; ; ���LF:���1�-� ; #���2���t$&0�$*���f.��5 �(����!�u,v ��AP������!$ ; �!P������.��� 7wBmb�5 N �2P��/�5�!�� c #�� S,v ��S0� #'��S���� c�q�*�!�

Page 288: Data Structure and Algorithm by Y. Narahari

� � ��� ���� �

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

��� 7�� ]NH���> =LH�� �GA � H K���@! �A�H F �"� @$#���KMF � H%� & A F'��@

# � �)(+*-,/.10 � �)2%3L� �4352%687G�:9;35<>=?,@35*BA���CD6%0 �5.FEG,/.FH + � (+(JIKCD66�ML % %ON QP "�R?S " PUTWV %YX>Z\[)]_^a` PWb QcadeV � �f0%0%gJh/346jilkm.1h/(+.?H4n*#��4o4pI�

�Q��&qgJ(+(+.rh � ,UC5h/h@CD,@0 C56%0 stCDu%( � ,vCwAv(x.FH � y "'X>Z % dKT X %4] V ` #[f]_^a` PWb Qcadeb R Vq�sz,/.r6{AUg+=F.|i}9fCD(J(ln #����� I� ~�6%0%g�C56�7�0%gxAUgJ356�<�u���(+gJh/2�.r0��{H�sz,/.16aAUgJ=?.�9fCD(J(q35*~�6%0%g�C'n #����4oI�

pC����2%35IKC5h�9 ����35,@IO.r6�n���2�CD,@(+.rh�7G� ��.1g+h/.F,@h/346�n%C56%0 + 346�C5(J0 ������g � .rh�A"��� X�S -P `�Z�"�R Qb `YX `�[)]_^a` PWb QcadeV �z��2�.��8~�� 7�(x.1=|A@,@gJ=rC5(�7�6��ag+6�.r.F,@gJ6���C56%0��34Iei<�u'[email protected],)�j=Fg+.r6%=F.���.F,@g+.rhrn�#���� $I�z~�6%0%g�CD6�7�0%gxAUg+346�<�u���(+gJh/2�.r0�gJ6 #������I�

�J� + 346�C5(J0�7 � 6�u'AU26� y "'X>Z % dKT X %4]�[f]_^a` PWb QcadeV4n ��34(Ju%IO. #�35*���2�.N�;,/A3D*���34I�<�u'AU.F,�sz,@35�4,UC5I�I�gx6���n �f0%0%g+h@356ji km.1h/(x.FH4n #��� 4o�nM��.1=F346%0¡7�0%gxAUgJ346�n#����DpI�

�Q�¢��35�:.r,�A ��� � ,@u%h�.5n � ,@u%=?.£s�� ��.1u%6��%n>C56%0���(J3 � gJh+���:�¤346%0%3J�fL % %¥N QP "�R?S " PUTWV %YX>Z§¦ P `v^ P % d Z T|VUb ^YX b X�¨ �©sz,/.16aAUgJ=?.\9fC5(+(ln #���� # ��~�6%0%gJC56�7�0%gªAvg+346<�u���(+gJh/2�.r0§�{H�sz,/.r6{AUg+=F.�9)C5(J(�3D*�~�6%0%gJC�n�#������C�

C�z�8CD,/« �f(+(+.r6§km.rgJh/h�¬L % %�N QP "�R " PUT|V %YX�Z\[f]_^a` Pvb -cad [¬X %4]®­ Vvb-Vqb X¡¨�¯"¯ �� .16 � C5IOgJ6ji���u%I�IOg+6��ahFn #�����j�z~�6%0%g�CD6�7�0%gxAUg+346�<�u���(+gJh/2�.r0�gJ6 #����4oI�

° �U±

Page 289: Data Structure and Algorithm by Y. Narahari

������������ � ������������������ ° ���

��� 7�� �.@'� � ?! �AGA#"G@

# � �)(+*-,/.10 � �f2%3%n �4342%67G�G9)3D<>=?,U3D*-A1n�C56%0 �5.FEG,/.FH + � (J(+IKC566�!$©c�T�L�T|Vvb ^YX%YX>Ze[¬X %4]®­ Vvb-V ` #O¨z` d�% " �T|P [f]_^a` PWb QcadeV4nI�)0%0%gJh/346ji km.rh/(+.?Han�#������j�

�Q�z�'CY,vC � C4C5h�.�C56%0*�f(J(x.16 � C56 &q.r(J0�.F,�� ¨z` d�% " �T|P [f]_^a` PWb QcadeV�&z� X QP `1Z�"�R Qb `YX ` L�T|VUb ^YX %YX>Zq[¬X %4]®­ VUb-V ���f0%0%g+h@356ji km.1h/(x.FH4n5��2%g+,@0e7�0%gªAvg+346�n� $ $ $I�¤~�6%0%g�C567�0%gªAUgJ346K<�u���(Jg+h/2�.10 �{H§s¤.�CD,@h/346 7�0%u%=1CYAUg+346 �fh/g�C�n � $ $ $I�

pC� + u�C56�. ��� � C5g+(+.?H]��' %)( %�N QP "�R " P@T|V*&�L % %�N QP "�R " PUT|V�b X ' %)( %�#?` P Qc�T¦ PWb X�R b+% ] T Z\¦ P `v^ P % dedKT|PC� �8=#&q,UC-,�i}9;gJ(J(>~�[email protected],@6�CYAUgJ356�C5(>7�0%gªAvg+346�n #������I�

�J�¢��g+=W2�CD,@0 � .r(J(+IKC566�¤L ­YX % d\b Rz¦ P `v^ P % dedeb X'^ �¤sz,@g+6%=F.?AU346 � 6%g � .F,Uh/gªA H)sz,/.1h/hFn#������ �

�Q� �4356���� � .r6aAv(x.FH �/.¥PWb Qb X'^1032 R b�T X ¦ P `v^ P % d\V5n�sz,@.r6aAvg+=F.|i}9)C5(J( n #��4o � � C� �4356���� � .r6aAv(x.FH � ¦ P `v^ P % ded\b X'^\¦ T % P ] V4nj�f0%0%g+h@356ji km.1h/(x.FH4n #��4o� C��Q� �4356���� � .r6aAv(x.FH �54 ` P@T ¦ P `v^ P % dedeb X'^\¦ T % P ] V4nJ�)0%0%gJh/346ji km.rh/(+.?Han�#��4o5oI�oC��&qgJ(+(+.rh � ,UC5h/hUCY,U0�CD6%0�s¢C5u%( � ,UCYAU(x.FH � [f]_^4` PWb Qcadeb R V5&6$©c�T ` P ­ %YX>Z¬¦ P %aR Qb R T �sz,/.r6{AUg+=F.|i}9fCD(J(ln #��4o5oI�

�C�z��gJ=v2�CD.1(5�*� &�CD,/.?H�C56%0 + C � gJ0�� �4352%6%h@3566� ¨z` d�% " �T|PvV %YX>Z � X QP %aR %�7 b ] b ­ &[ 8�" b Z T ` $©c�T ` P ­�` #:9;¦�S|¨z` d�% ] T �T X T|VUV � k � 9y�<;�,/.F.1IKCD6�n #�����I�

#�$C�¢�*� ���q&q,UC52�C5I�n + �®7G� � 6�u'AU2�n4C56%0>=��5s¢CYAvC5h/2%6%g+«_� ¨z`YX>R P@T �T54 % Qc�T|d % Qb R V ��)0%0%gJh/346ji?,�.rh@(x.FH4nY��.1C50%g+6���n#���� $I�¤~�6%0%g�C56£7�0%gªAUgJ346�<�u���(JgJh/2�.r0���Hy�)0%0%gJh/346jikm.rh/(+.?H � 346��aI�C56�n #����4oI�

# # �¢7�(+(Jg+h�9)3D,U3�,;gªAA@OC56%0!�'CD,�AWC)@§�'C52%6%g ��y "'X>Z % dKT X %4] V ` # L % % V& QP "�R " PUT|Vq�&"C5(x�a3DAUg�C�s�u���(+gJ=rCYAUgJ346%hFnCB¬.�, + .r(J2%gln�#��5o�j�

# �Q�¢7�(+(Jg+h�9)35,@3�,;gxA�@5n �'CD,�AvCD@��'C52%6%gln CD6%0��¬C � C5h�.r«YCY,vCD66�¢y "'X>Z % dKT X %4] V ` #¬¨z` d S% " �T|P [f]_^a` PWb QcadeV � k �®9 �D;%,/.F.1I�C56eC56%0O��34IO<�C56aH4n�#����4oI�¤~�6%0%g�C56e7�0%gªAvg+346<�u���(+gJh/2�.r0§�{H &"C5(x�a3DAUg�C�s�u���(+gJ=rCYAUgJ346%hFn ��$ $ $I�

#rpC� + 346�C5(J0�7 � 6�u'AU26� y "'X>Z % dKT X %4]�[f]_^a` PWb QcadeV4n ��34(Ju%IO. #�35*���2�.N�;,/A3D*���34I�<�u'AU.F,�sz,@35�4,UC5I�I�gx6���n �f0%0%g+h@356ji km.1h/(x.FH4n #��� 4o�nM��.1=F346%0¡7�0%gxAUgJ346�n#����DpI�

Page 290: Data Structure and Algorithm by Y. Narahari

������������ � ������������������ ° ���

# �J� + 346�C5(J0 7 � 6�u'AU26� N T|deb X " dKT|PWb R�%4] [)]_^a` PWb QcadeV � � 35(Ju%IO. ��3D*���2�.��;,/A3D*���34I�<�u'AU.F,�sz,@35�4,UC5I�I�gx6���n �f0%0%g+h@356ji km.1h/(x.FH4n #��� ���nM��.1=F346%0¡7�0%gxAUgJ346�n#��4o #��

#��Q� + 346�C5(J0 7G� � 6ju'AU26� N>` P� -b X'^ %YX>Z�N T % P R cab X'^ n ��34(Ju%IO.�p�35*;��2�. �),�A\35*��35IO<�u'[email protected],�sz,@35�4,UC5I�IOgJ6���n �)0%0%gJh/346ji km.rh/(+.?Han�#����YpI�

#� C� � � � C56��ah@C5I8n�� � �J���)u��4.r6%h�[email protected]�n�C56%0f��� � �t� .16�.r6���CDu%I5� L % % N QP "�R?S " PUTWV " VUb X'^�¨ %YX>Z�¨�¯"¯ � ��.1=F346%087�0%gªAvg+346�n�sz,/.r6{AUgJ=?.�9)C5(J( n #����� C�z~�6%0%g�C567�0%gªAUgJ346K<�u���(Jg+h/2�.10 �{H§sz,/.16aAUgJ=?.�9fCD(J(�35*�~�6%0%g�C�n � $ $ $I�

#��Q�¢7�u��5.16�. � � C-,;(x.r,rn �J� � � �©.r6%h�AU,UC�n#� � 9y� & �r��gJ6%6%3�3�H � C56�nwC56%0 + � � � �j2%I�3�H�hFn.r0%gxAU35,@h� $©c�T $jP %)( T ] b X'^\N %4] T|VUd %YX�¦ P `�7r] TWd � �4342%6§k�g+(+.?H�� �j346%hFn�#��4o�� �

#roC� � u�,�Af� .12%(+2%35,@66� N>` P� Qb X'^ %YX>Z�N T % P R cab X�^ � � 34(+u%IO. #�3D* L % %ON QP "�R " P@T|V%YX>Ze[f]_^a` Pvb -cad\V � ��<%,@gJ6��5.r,�i��z.r,@(�CY��n #��5o�j�

#��C� � u�,�A"��.r2%(J2%3D,U66� 8 P % %:c [f]_^4` PWb QcadeV %YX�Z/9)¦ S?¨z` d�% ] T  T X T|VvVq� � 35(Ju%IO. �3D*�L % %�N QP "�R " PUT|V %YX>Ze[f]_^a` Pvb -cad\V5n:��<%,Ug+6��4.F,�i ��.F,U(JCD��n #��4o�J�

� $C� � u�,�A"��.r2%(J2%3D,U66�:4 "%] Qb Z b-d¥T X VUb `YX %4]GN T % P R cab X'^ %YX>Z ¨t` d:% " % Qb `YX %4] 8 T S` dKT -P ­ � � 34(+u%IO.tp�35*�L % %;N QP "�R " PUT|V %YX>Z�[f]_^a` PWb QcadeV5nw��<%,@gJ6��4.F,�i���.F,@(�CD��n#��4o�j�

��# �z�'CY,/AvC � �'C52%6%g ��L % %eN QP "�R " PUT|V�� [f]_^a` PWb QcadeV�� %YX>Z�[ % % ] b R�% Qb `YX V�b X ' %)(�% ���=#&q,UC-,�i}9)g+(J(G9)g+�42�.r,¬7�0%u%=rCYAUgJ356�n � $ $ $C�

� �Q�¢��35�:.r,�Am��.10��5.�,;g+=v« � [f]_^4` PWb QcadeV�� �)0%0%gJh/346ji km.rh/(+.?Han£��.1=F346%0 7�0%gxAUgJ346�n#��4o4oI�

�DpC����2%35IKC5hg���D�{AvC56%0%gJh/26�zL % %"N QP "�R " P@T|V�b X ' %)( % ���)0%0%gJh/346ji km.rh/(+.?Han�#����4oI�~�6%0%g�CD6�7�0%gxAUg+346�<�u���(+gJh/2�.r0§�{H4�)0%0%gJh/346¥km.1h/(+.?H � 346��4IKC56�n � $ $ $I�

���J� B;gJ=v«j(�CDu%h�k�gx,/AU26�zL % %)N -P "�R " PUTWV ¯ [f]_^a` PWb QcadeV�� ¦ P `v^ P % deVq�¢sz,/.r6{AUg+=F.|i9)C5(J( n�7�6��a(x.�,M3j3�0���(JgxE>h� #������Q�

��� 7�9 � H���� D =�?��¡��@'�d=�HjK � �4=� ���Hj@B=�D�� ��� H���� � � HIF%� Kg? ��@

#������ �����f0�.r(�� h/346ji���.r(�� h�«'g+gMC56%0 7�� ��� � C56%0%g+h����)6�C5(x�a35,@gxAU2%I * 3D,\AU2�.�35,�i�aC56%g @1CYAUgJ346 35*;gJ6�*Q35,@IKCwAvg+346 � N>`)( b T 4 % Qc�TWd % -b R V!4 `YX Qc ]®­ n ��34(Ju%I�.�p�n<%<!� # ���� i�# � 4p'n #��� �"�

Page 291: Data Structure and Algorithm by Y. Narahari

������������ � ������������������ ° ���

� �¢� � � C1Ha.F, � �{H'I�IO.?A@,Ug+=���g+6�CD,�H � i A@,/.r.rh � + CYAvC��{A@,@u%=?AUu�,/.1h�C56%0!IKC5g+6{A@.|i6�CD6%=F.�C5(x�a35,@gxAU2%I�hFn [¬R % � X #F` Pvd % -b R�% n � 35(Ju%IO. #Yn%<%<!� �� $wi�p $� �n #���� �"�

p �¢� � � C1Ha.F, C56%0�7�� � �D��= ��,/.rg+�a2aA � =),@�aC56%g @1CYAUgJ346qC56%0�IKCDgJ6aAU.r6�C56%=?.z3D*%(�CD,/�4.3D,U0�.F,/.10�gJ6%0�.���.rh�� [;R % � X #?` PWd % Qb R.% n ��34(Ju%IO. #Dn B;u%Ie�:.r,¤p�nY<%<!� #��Dp i�#ro���n#���� �"�

� �¢��g+=W2�CD,@0 � .r(J(JI�C56 � =q6 C�,U35u'Avg+6���<%,@35��(+.rI ��� " % P�  T|P ]®­�` #)[ % % ] b T Z 4 % -c STWd % -b R V � ��34(Ju%I�. #� �n B;u%Ie�:.r, #Dn�<%<!��o���� � $�n #����Yo��

� �z�8C56�u�.1( � (Ju%I�n���35�G.F,�A k � ;¤(J3�H'0�n ��C5u��a2�CD6�sz,UCYA/A1n���346�C5(+0 �K�¬g�a.rh�A1nwC56%0��35�:.r,�A�7��©��CD, � CD6 �\��g+IO.£�>34u%6%0%h"*Q35,�h�.1(x.1=|AUgJ346 � ' `�" P X %4]t` #8¨z` d�% "  T|P%YX>Z�N�­ V �T|d N>R b T X>R T|V5n � 34(+u%IO. �jn B;u%Ie�:.r, ��n�<%<!� ���aowi �� #Yn #����Yp��

�z�8CD,/«� � � ,@3�,;6 ��~�IO<�(+.rIO.r6{AvCYAUgJ3568C56%0 CD6�C5(xH'h/gJhq35*z��gJ6%34I�gJC5(��u�.ru�.OCD(ªi�435,@gxAU2%I�h�� N � [ 4 ' `�" P X %4]M`YX ¨z` d�% " Qb X'^ n ��34(Ju%I�. ��n B)u%I£�G.F,\p�n�<%<!�� �4owi}p #���n #����Do��

� � �)(�C56���35��2�C5I � ��2�. gJ6aA@,@gJ6%h/gJ=8=F34IO<�u'AvCYAUgJ356�C5(�0%g���=ru%(ªA H¡35*�*Qu%6%=?AUg+346%h��~�6 ¦ P `�R TvT Z b X'^ V ` # Qc�T ������� ¨z`YX'^ PUT|VUV #?` P�� `v^ b R � 4 T Qc `�Za`4]ª`v^w­ � %YX>Z Qc�T¦ cab ]ª` V ` %:c ­¥` #fN>R b T X>R T?n�<�CD�5.1h)� �Di}p $�n B;35,�AU2ji}9)34(+(�C56%0�n #��� � �

o � + �'��35IO.r, � ��2�.¬u���g�ju%gªAv35u%h � ilAU,/.F. � [£¨ 4 ¨z` d�% " Qb X�^�N " P ( T ­ V4n�� 35(Ju%IO.# #Dn B)u%I£�G.F,)��n%<%< # ��#Wi�#Fp��jn #�������

� �z�{[email protected]<�2�.16 ��3�35« ����2�.�=F34IO<�(x.���gxA}H 35*�Av2�.r35,/.rI <%,@3���g+6���<%,@3�=F.r0%u�,/.1h���~�6¦ P `�R TvT Z b X'^ V ` # Qc�T1$�cabQP Z"[¬X�X " %4]4[�¨ 4 N�­ d�% ` VUb " d `YX $©c�T ` P ­�` #�¨z` d S% " Qb X'^ n'<�CD�4.rh #���#Wi #��Do�n #�����# �

#�$ �¢7��_k � + g � «jh�A@,vC � � 6%3DA@.�356mA ,�3�<%,@35��(x.1I�h"g+6 =F346%6�.r=?AUg+346 ,;gxAU2��4,UCD<�2%h��9 " dKT|PvbQV R c�T 4 % Qc�TWd % -b��:n ��34(Ju%IO. #Dn�<%< � ��wi ����#Dn #�������

# #�� �aCD=v«\7�0%I�346%0%h���stCwAv2%hFn4A@,@.F.rhrn�C56%0 ��3�,�.r,@h�� ¨ %YX %aZ b %YX ' `�" P X %4]:` # 4 % -c STWd % -b R V4n � 35(Ju%IO.'#��jn�<%< ����� i �� ��jn #��� ��"�

# � �¢��35�:.r,�A�k ;¤(J3�H'0 � �f(+�435,@gxAU2%I ����� �j2%35,�[email protected]�A¬stCYAU2�� � ¨z` ded "'X b R.% Qb `YX V ` # -c�T [£¨ 4 n � 35(Ju%IO. �jn B)u%I£�G.F, �n�<%<!� p� �jn #��� � �

#rp �¢��35�:.r,�A�k �<;¤(+3 H'0 � �)(+�a3D,UgªAU2%I ��� ��� � ,/.r. �j35,�A�� � ¨t` d\d "jX b R�% Qb `YX V ` # Qc�T[�¨ 4 n � 35(Ju%IO. ��n%<%<!� � $ #Dn #��� � �

Page 292: Data Structure and Algorithm by Y. Narahari

������������ � ������������������ ° �.�

# � �z��gJ=v2�CD.1( ��� ;�,/.10%IKCD6�CD6%0O��35�:.r,�A�7��4��CY, � C56 � ;¤gx�>346�C5=F=Fg%2�.�CD<�hzC56%0\AU2�.rg+,u%h�.rh§g+6$gJIO<%,@3��a.r0 6�.?A ,M35,/«�35<�AUgJI�g @�CwAvg+346 C5(+�435,@gxAU2%I�h�� ' `�" P X %4]f` # Qc�T[�¨ 4 n � 35(Ju%IO.�p ��n B)u%I£�G.F,�p�n�<%<!� � �� wi # �jn #��4o��"�

#�� �z� � � �®� ��9)3aCY,@. � �f(+�435,@gxAU2%I 4p � stCD,�AUgxAUg+346��\C56%0 �f(x�a35,@gxAU2%I �� ����6%0�� �¨t` d\d "jX b R�% Qb `YX V ` # Qc�T [£¨ 4 n���34(Ju%I�. ��n B;u%I£�G.F, �jnY<%<£p��#Wi}p � �jn #��� # �

#� �z� � � �®� �Y9)34CD,/. ���fu%gJ=U«'h/35,�A � $©c�T ¨z` d�% " �T|P ' `�" P X %4] n� 34(+u%IO. �jn B)u%I£�:.r,#Yn%<%<!� #�$wi�# �jn #��� �"�

#�� � �4352%6�7m9;35<>=?,@35*BA�CD6%0���35�:.r,�Az7��5��CD, � C56 �¤7 ��=rgx.16aAzC5(+�a3D,UgªAU2%I�h *Q35,¢�4,UCD<�2I�C56%g+<�u%(JCYAUgJ346 � ¨z` ded "jX b R�% Qb `YX V ` # Qc�T [£¨ 4 n � 34(+u%IO. #� �n B)u%I£�G.F, <%<!�®p�� ��i�p��Do�n #����Dp��

#ro � + C��'gJ0���9)u'E>IKC56 � � IO.FAU2%3�0f*Q35,�AU2�.�=F346%h�AU,@u%=|AUgJ346)35*'IOgJ6%gJIeu%I\i ,@.r0%u%6%0�CD6%=|H=F3�0�.1h�� ¦ P `1R TvT Z b X�^ V ` # Qc�T"��� 0 � 34(+u%IO. � $�n B;u%Ie�:.r, ��n�<%<!� # $��4owi�# #�$ #Dn#���� �"�

#�� �¢��g+=W2�CD,@0¡� � � CD,/<!�¡��.r0%u%=Fg+��gJ(+gxA}H CDI�346���=F34I£��gJ6�CYAU35,@gJC5(z<%,@35��(+.rI�h���~�6�¬C1H'I�346%0m7��¢��gJ(J(x.r,�C56%0 �aC5IO.rh�k � ��2�CYAU=W2�.F,rn .10%gªAv3D,UhFn ¨z` d�% ] T��Yb ­�` #¨t` d:% " �T|P ¨t` d:% " % Qb `YX V �¤<�CD�4.rh�o���i #�$4p�n�s�(x.16�u%I sz,/.1h/hFn�#���� �"�

� $ � � � � � � ,@u%h�«YC5(�� =f6�AU2�.Kh/2%35,�AU.rh�A£h�<�C56%6%g+6���h@u���A@,/.F.K35*�C��4,UCD<�2 C56%0mAU2�.A@,UC��a.r(JgJ6��eh@C5(x.1h/IKCD6§<%,@35��(+.rI � ¦ P `�R TUT Z b X'^ V ` # Qc�T [ dKT|PWb R�%YX 4 % Qc�T|d % Sb R�%4]>N>`�R b�T� ­ n ��34(Ju%I�. �jn�<%< �{owi � $�n #���� ��

��#��¢� � � � sz,@gJI � �j2%35,�[email protected]�A�=F346%6�.1=|AUgJ346m6�.?A ,M35,/«'h�CD6%0 h/34IO.��4.r6�.r,UC5(+g @1CYAUgJ346%h�� T ]-]GN�­ V �T|d $�T R c X b R.%4] ' `�" P X %4] n � 34(+u%IO.�p� 'n%<%<!� #rp4o�� i�# � $ #Yn #������"�

� � � k�g+(J(+g�C5I s�u��a2 � ��«jg+< � gJh�AUh � � <%,@35��CD��g+(Jg+h�AUg+=�C5(ªAU.F,@6�CYAUg �a.�AU3 ��C5(JC56%=?.10A@,/.F.1h�� ¨t` d\d "jX b R�% Qb `YX V ` # Qc�T [£¨ 4 n ��34(Ju%I�."p4p�n B;u%I£�G.F, �n�<%<!� � 5owi �� �n #���� $��

�Dp �¢��35�:.r,�A\��.10��4.�,;gJ=U« �8~�IO<�(+.rIO.r6{AUg+6�� �u%gJ=v«jh/35,�A�<%,@35�5,vCDI�h�� ¨z` ded "'X b R.%DS -b `YX V ` # Qc�T [£¨ 4 n � 34(+u%IO. ��#Dn B;u%I£�G.F,%#�$�n�<%<!�®o� ��i}o����jn #����Do��

��� � + C56%g+.r( + �j(+.1CYAU35,;C56%0��35�:.r,�Af7��G��CD, � C56 �¬��.r(+*�i}C50 � u%h�AUgJ6�����gJ6�CD,�H h/.1CD,@=W2A@,/.F.1h�� ' `�" P X %4] ` # Qc�T [£¨ 4 n � 34(+u%IO."p �jn B)u%I£�G.F,Mp�n�<%< �� �1i 4o� �n #��4o��"�

��� �¢��35�:.r,�AK7�����CD, � CD6 � + .r<�AU2��,@h�A¥h�.1CD,@=W2 CD6%0 (Jg+6�.�CY,��4,UCD<�2¡C5(x�a35,@gxAU2%I�h��N � [ 4 ' `�" P X %4]'`YX�¨z` d�% " -b X'^ n � 34(+u%IO. #Dn B;u%I£�G.F, �jnD<%<!� # �� wi�#� $�n #���� �"�

Page 293: Data Structure and Algorithm by Y. Narahari

������������ � ������������������ °�� �

� �¢��35�:.r,�A 7��4��CD,��/CD6 � �)I�35,�AUg @F.10�=r34I�<�u'AWCwAvg+346�C5({=F34IO<�(+.���gxA H � N � [ 4 ' `�" P SX %4]:`YX§[f]_^ T 7 P % b R %YX>Z Lqb-V R PUT  T 4 T� Qc `�Z V4n�� 35(Ju%IO. �n B)u%I£�G.F, �jn{<%<!� p $� wip#ro�n #��4o��"�

��� � �5.1C56 ��u%gJ(+(+.rI�gJ6 � � 0�CYAvCh�A@,@u%=?AUu�,/.K*Q35,£IKC56%gx<�u%(�CYAUg+6���<%,@gJ35,@gxA}H �u�.1u�.rh��¨t` d\d "jX b R�% Qb `YX V ` # -c�T [�¨ 4�n���34(Ju%IO.4��#Yn B)u%I£�G.F, ��n�<%<!�®p $��wi�p #��jn#����Do��

�Do �z�{[email protected]<�2�.16 k CD,@h@2�CD(J(�� � AU2�.135,/.rI 346��>3�34(x.�C56 IKCYA@,@gJ=?.1h�� ' `�" P X %4]�` # Qc�T[�¨ 4 n � 35(Ju%IO. �'n<B;u%I£�G.F,%#Dn�<%<!��# #Wi�# �jn #��� �"�

�� � � �_k � � �%k�gJ(J(+g�C5IOh � �f(x�a35,@gxAU2%I �Dp���l9¬.�CY<�h@3D,/A�� � ¨t` d\d "jX b R�% Qb `YX V ` # Qc�T[�¨ 4 n � 35(Ju%IO. ��n%<%<!�®p� ��i�p�{o�n #��� � �