divide and conquer sorting

33

Upload: nguyenkhue

Post on 01-Feb-2017

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Divide and Conquer Sorting

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

������

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

����� ����

Page 2: Divide and Conquer Sorting

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

����� ����

��������

� ��������

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

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

Page 3: Divide and Conquer Sorting

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

����� ����

'��������������� (

� )� *��+, ������� ����*�����+,��� ��������- �������, ./�+������+�//� �,� ��

0���,������/*��/����1��,� ��

+.�����1�����/�������������� �//��/����

� ������-��������� �*������2�1�/���#������������ ��/�3������ ��1��1�/���#��1�������� �2�1�/����� &�2�����$� ��� �

� ���������4� ������� �*������+�//����+������/� ������+�#��1��� ��� ����/*�� ���1���2������� &�2�����%���&� �

Page 4: Divide and Conquer Sorting

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

����� ����

$� ��� �

� ��������������2�����1��+��,���

� ���� ����1����������� ��5.*�

��� ����/*�� ����6

� $� ����2�1�/�������1�

� � � � � � � �

Page 5: Divide and Conquer Sorting

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

����� ����

$� ��� ���7�+,/�

���� ����

�� ���� ��

� � � � � � � �

�� �� �� ��

���� ����

��������

�� �

�� �

�� �

������

������

������

��������

� � � � � � � �

Page 6: Divide and Conquer Sorting

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

����� ����

"

8�7�/�� *�8 �*

� 91��+� ����� ���� ��������7�/�� *�� �*!

� � � � � � � �

8�7�/�� *�� �*

Page 7: Divide and Conquer Sorting

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

����� ����

8�7�/�� *�8 �*

� 91��+� ����� ���� ��������7�/�� *�� �*!

� � � � � � � �

�8�7�/�� *�� �*

Page 8: Divide and Conquer Sorting

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

����� ����

:

8�7�/�� *�8 �*

� 91��+� ����� ���� ��������7�/�� *�� �*!

� � � � � � � �

� � � � �8�7�/�� *�� �*

Page 9: Divide and Conquer Sorting

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

����� ����

;

$� ����

� <

�� ���

� +�/

� <

�� ���

��3���+,/����

3� ���,*

Page 10: Divide and Conquer Sorting

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

����� ����

��

$� ����

� <

�� ���

���1���+,/����

3� ��

3� ��

�����

Page 11: Divide and Conquer Sorting

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

����� ����

��

$� ����

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

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

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

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

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

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

��$���������������������� �

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

� %� �����������&#�'�������

�#���������#������( �#�����������

��%� ���������� ���&#�'�������

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

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

�#���������#������( �#�����������

)

Page 12: Divide and Conquer Sorting

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

����� ����

��

���� ���� $� ��� �

�����$#���������� ���������������� ���� ���������

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

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

�����$#���������� ���

�����$#������ �� � �����

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

)

�� ������$#����� **��� ������������� ���������

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

�����$#����� ���

)

Page 13: Divide and Conquer Sorting

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

����� ����

��

0�� ������$� ��� �

$� ���.*��

$� ���.*��

$� ���.*��

$� ���.*�:

Page 14: Divide and Conquer Sorting

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

����� ����

��

0�� ������$� ��� �

$� ���.*��

$� ���.*��

$� ���.*��

$� ���.*�:

$� ���.*��"

�,*

Page 15: Divide and Conquer Sorting

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

����� ����

��

0�� ������$� ��� �

+����� ,������$#����� **��� ������������� ���������

��'��&#�� � #��� $�'#!��#����

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

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

�����'�� ����-�

!� ���" ��#

�#� � �#�. �� /���#

�'�� ���-������������ ��( ��

��$��������� ��( ��

'�� ���� . '�� ���

����0��

�'�� ��� ����

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

)

=2���*��1���/�����,2� ��3��>

=2������1��3���/��,*�.��������>

Page 16: Divide and Conquer Sorting

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

����� ����

�"

$� ��� ��8��/*���

� ����95?6�.���1�� ���������+��3 ����� �*�3�?��/�+����

� $� ��� � ��������� �*����1�/3�������//������/3����1���2�1�/���!�83�� � ��� ����#����+� ����.�1�1�/��������������+, � *�� �*

� ���1� ��� �������//���&���95?��6�����+� �������&���@5?6

Page 17: Divide and Conquer Sorting

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

����� ����

��

$� ��� ������ �����

��/����� 91�� ��� ����� �/�����3 �95?6���-

95�6�A ���

� .��������-����/�+����� �*�� ����������+�

95?6�A �95?��6�B�.?

� � �����?��/�+�������&���

C �1����+����� ���1��/�3��1�/3�

C ,/����1����+����� ���1�� ��1��1�/3�

C ,/������@5?6���+����+� ����1���2�1�/���

� 95?6�D�@5��/���6

Page 18: Divide and Conquer Sorting

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

����� ����

�:

4 ,� �����3�$� ��� �

� ?�����,/���

����� ��������7�/�� *�� �*

� ���./�

$�&���� ���1���/�3� ������������ ������

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

� )� *�3�2��+,� ����

� 0�� ������$� ��� �� ��������,*���!

Page 19: Divide and Conquer Sorting

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

����� ����

�;

%���&� �

� %���&� � ����������������������� ��� ����*#�

.���������� ���� ���1��@5?6��7� ���,����

�1���$� ��� �����

4� ������� �*�����/�3������ ��1����.�� �*�

� �1���/�+��������/�3����.�� �*�� ���//�/�����1���,���

� �/�+�������� ��1����.�� �*�� ���//�� ���� ��1���,���

���� ����/*�� ��/�3������ ��1����.�� �*�

����������/�3������ ��1����.�� �*�����@5�6���+�

Page 20: Divide and Conquer Sorting

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

����� ����

��

'E� ����*����,�(

� 9�� ������ �*�

03��1����+.� �3��/�+�������� ����� ��#�

�1��� ��� �!��91��� �*����� ���!

4��&�����/�+����� ���!��91�������1�� ����

��/��!

4� �������F�G������2����<������.����#��

D�F�//���/�������G#������ D�F�//���/�������G!

���� ��%���&� �5�6#��#�%���&� �5�6

Page 21: Divide and Conquer Sorting

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

����� ����

��

91�����,��3�%���&� �

��

��

��

��

��

�� �

��

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

����

��

�� ����

���

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

�� ���� ���

��

�� �����

��

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

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

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

Page 22: Divide and Conquer Sorting

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

����� ����

��

�����/�#������/�

� '91���/� ��1+���3� �/��&����������3�2�3��1�������/�(

� 0+,/�+��������1�������/�,� ��������

� 4��&�����1��,���

2��������/����1���2�//�������H��H�����H��H���.�����I� #������/���������/������I���3�,���./�

� ���/����2��1�������21� ���1���/�+��������/���1��,���

Page 23: Divide and Conquer Sorting

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

����� ����

��

%���&� ��4� ��������

� ?������,� �������1��� �*�����/�3������ ��1����.�

� �*�

�1���/�+��������/�3����.�� �*�� ��� ,���

�/�+�������� ��1����.�� �*�� ��� ,���

� =2����1���/�+������������1��� ����,� �����>

1�������/�+����3 +��1��� �*�����1��,���

$�&�����,�����1 ��1��1�� ����3��1��� �*�����

�2�,�������������,����/�+��������,� ������

Page 24: Divide and Conquer Sorting

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

����� ����

��

4� ����������������0��4/���

� @����+,/�+��������5�1� ��� ���1� �6

+�������3�����,��������� ���/�3�#������ #� ��1�

�2�,�,����2��1���7����/�����/�+���

����,���� ��������<������ ����������3�� �*

0�� �+����������/�*��1����/�+����8J�K�L�,���

��� �+����<�����/�*��1����/�+����8J<K�A�,���

�2�,�8J�K�����8J<K

��,��������/�������<�� ��

�2�,�,����5D�8J?��K6�2��1�8J�K

Page 25: Divide and Conquer Sorting

� 1 2 3 4 � 5 �

- � 3 1 4 6 5 7 2

- 1 2 5 3 4 � 6 7

�7�+,/�

1����1��,��������1��+������3��1 ��!

4/�����1��,���������1��/� ���������1�� ��1�

�����1���+�//��������1��/�3�

Page 26: Divide and Conquer Sorting

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

����� ����

�"

�7�+,/�

- 1 2 5 3 4 � 6 7

- 1 � 5 3 4 � 6 7

- 1 2 5 3 4 � 6 7

- 1 � 5 3 4 � 6 7

$��������1�� ��1����.��/� �� ��1���,���!

$���<����1��/�3����.���+�//� ��1���,���!

�2�,

Page 27: Divide and Conquer Sorting

- 1 � 4 3 2 6 7

- 1 � 4 � 5 2 6 7

- 1 � 4 3 � 2 7

�� A�,��� ,��� �� L�,���

- 1 � 3 4 2 6 7

- 1 � 5 3 � 2 6 7

- 1 � � 3 2 6 7

�7�+,/�

Page 28: Divide and Conquer Sorting

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

����� ����

�:

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

89 &�$#������� ���������������� ���� ���������

' ,#� ���: � �������

������;<�=>>� � �������

' ,#������ ��3������� �����

' ,#� ���: ��?��� � #�������� ���( ' ,#���

89 &�$#�������� ' ,#� ���: . ��

89 &�$#���� ' ,#� ���: � � �����

��$�

+�$��� #�$#��������� �����

)

��M����������&� ��3 ��+�//�� �*�!

N9@EE�D������� �����./�!

Page 29: Divide and Conquer Sorting

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

����� ����

�;

8/�� �������4������/��

� 1���8J/�3�K

E���#�.���+�*�.����.�����

� 1���8J ���+K#�/�3��A ���+�A ��1�

+,/���/*���.�����

O �//������� �/�����/*�������,/��#�.����/2

� $������3��1 ��#�8J/�3�K#�8J ��1�K#�

8J5/�3�B ��1�6��K

91�������� �#���������.����.�����#�����������

/���/��� ��������1������!

Page 30: Divide and Conquer Sorting

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

����� ����

��

%���&� ��P��������

4� 3 +����� 8/� ��1+��/2�*���1����.����,����

�����,/������.�� �*�����1�/3�������1� ��� ���

95�6�D�95�6�D�@5�6� ����������+���3��� ����/�+���

E �?�L��#��� ��� �������//��,/���/���� ���+��3 �,� ��������

95?6�D��95?��6�B�@5?6� ��+�� ��� ����� �/��������$� ��� �

95?6�D�@5?�/��?6

Page 31: Divide and Conquer Sorting

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

����� ����

��

%���&� ��O �������

4� 3 +����� 8/� ��1+��/2�*���1�����1��2 ���,����C

�����.�� �*�����+,�*�������1� ��� ���

95?6�� ��3 �?��

95?6�� 95?��6�B�.?

� 95?��6�B�.5?��6�B�.?�

� 956�B�.5B�6B�Q�B�.?

� ��B.5�B�B��B�B��B��Q B�?6

95?6�D�@5?�6

� E ������/*#������������ ���������� ���@5?�

/��?6�5������7��3 �, 36

Page 32: Divide and Conquer Sorting

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

����� ����

��

4 ,� �����3�%���&� �

� ?�����./��.�������3�/������������

�2�,,���!

� ?���� �������� ����52��1���������������&6!

� 4� ������&� ��������3 ��+�//�� �*�!

� '0��,/���(#�.����������7�/�� *��� ����.�������

3� ��� �������//�!

� @5��/���6���� ���������,� 3 +����#�.���

@5��6�2 ��������,� 3 +����!

Page 33: Divide and Conquer Sorting

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

����� ����

��

E/&/ �

� '%���&� ������1��.�������+�+ *�� ������/� ��1+!(

� 9 ��1

%���&� ��������� *�3�2��+,� ���������� ���!

%���&� � ����1�������,� 3 +���������1��+�+ *�1�� � �1*!� �+�//�3�, ���

� R��/��/��*