100
L=U>A=U/ @15 EB9A 6 :7U/;=1 EU1]L:;1[A Introduction to Sorting

7. sorting

Embed Size (px)

Citation preview

Page 1: 7. sorting

L U > U �@ �

EB9A�6�: U ; �EU ]L [

Introduction to Sorting

Page 2: 7. sorting

h�� D [ U

� � � � � �k

데이터를�특정한�조건에�따라�일정한�순서가�되도록�

다시�배열하는�일

� y� � �k

� �bl� s� �� �bl

Page 3: 7. sorting

1� � �

1� �t � � � ��

� L 1� � � � �

h�� D [ U

이름 학번 주소 연락처

필드 필드 필드 필드 키(key) 레코드

� � 1� L � �y � �

Page 4: 7. sorting

� p � b�y �

s� �

� �

� � p � �

� � p �

� � � � � �

� � p �

� � � � � � � �

� � � � � p � �

� �� U[L UHS� [ U �

� � v� � � � �v � �

� L [L UHS� [ U �

p� � v� � � � �v �

h�D [ U �7S [

Page 5: 7. sorting

� 1�y �DLSL [ U�D [ U � �

#define SWAP(x, y, t) ((t) = (x), (x)=(y), (y)=(t))

void swap(x, y) { int t = x; x = y; y = t;}

void swap(*x, *y) { int t = *x; *x = *y; *y = t;}

r 1� � b � � � H U� w � p�

mr � �j y

Page 6: 7. sorting

y � �

� � �b � � � �b � � � � �

� � � � � �qd �qd � � � � �

� �y � � � �mr�qd � y � �

� 1�h�DLSL [ U�D [ U � �

, / (

� �mr

Page 7: 7. sorting

y � �

� � �b � � � �b � � � � �

� � � � � �qd �qd � � � � �

� �y � � � �mr�qd � y � �

� 1�h�DLSL [ U�D [ U � �

, /(

� �mr

문제점?): 정렬 대상 수 만큼의 추가 저장 공간이 필요 � �qd � � 5�

U SH L� [ U

,/(

Page 8: 7. sorting

y � �

� � �b � � � �b � � � � �

� � � � � �qd �qd � � � � �

� �y � � � �mr�qd � y � �

� 1�h�DLSL [ U�D [ U � �

, /(

� �mr

문제점?): 정렬 대상 수 만큼의 추가 저장 공간이 필요 � �qd � � 5�

U SH L� [ U

,/(

Page 9: 7. sorting

y � �

� � �b � � � �b � � � � �

� � � � � �qd �qd � � � � �

� �y � � � �mr�qd � y � �

� 1�h�DLSL [ U�D [ U � �

, /(

� �mr

문제점?): 정렬 대상 수 만큼의 추가 저장 공간이 필요 � �qd � � 5�

U SH L� [ U

, /(

Page 10: 7. sorting

y � �

� � �b � � � �b � � � � �

� � � � � �qd �qd � � � � �

� �y � � � �mr�qd � y � �

� 1�h�DLSL [ U�D [ U � �

, /(

� �mr

문제점?): 정렬 대상 수 만큼의 추가 저장 공간이 필요 � �qd � � 5�

U SH L� [ U

, /(

Page 11: 7. sorting

p � � �

� 1� pDLSL [ U�D [ U � �

� � � � � � � � �

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

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

� � � � � � w � � �5� � � �� s �

M � SL �K � SL 4 M� ��������

Page 12: 7. sorting

� � � � y

� 1� � �DLSL [ U�D [ U � �

� � 1� �

� 1� LSL [ UD [�

� ) 1� � � � � � � �

void selectionSort(int arr[], int n) { int idx;for(int i = 0; i < n-1; i++) {idx = i;for(int j=i+1; j < n; j++)if(arr[j]<arr[idx]) idx = j;

swap(&arr[i], &arr[idx]); }

}

Page 13: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, / (

Page 14: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

,/ (

Page 15: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

,/ (

Page 16: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

Page 17: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

Page 18: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

U SH L� [ U

/, (

Page 19: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

U SH L� [ U

/, (

Page 20: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

U SH L� [ U

/, (

Page 21: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

U SH L� [ U

/, (

Page 22: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

U SH L� [ U

/,(

Page 23: 7. sorting

y � �

� � � y� � � r� � � �t ��

� � � � � � � � � �

� 1�h�?U L [ U�D [ U � �

� �mr

, /(

U SH L� [ U

/,(

데이터를 옮겨야 할 때 제일 먼저 발생하는 위치는?� �

Page 24: 7. sorting

1� p?U L [ U�D [ U � �

p � � �� � � �

� � � � � � �

w � � � � � � � s�

w � � � � � � � ��

w � � � � � � �

� � � � � � w � � �5� � � �� �

M � SL �K � SL 4 M� ��������

Page 25: 7. sorting

� � � � y

1� �?U L [ U�D [ U � �

� � 1� �

� 1�?U L [ UD [�

� ) 1� � � � � � � �

void insertionSort(int arr[], int n) { int j, new; ��UL 1� � � �Q1� � � � �e� �

for(int i = 1; i < n-1; i++) {j= i-1;new = arr[i];while(j >= 0 && arr[j] > new) {arr[j+1] = arr[j];

j--;}

}}

arr[j] = new;

Page 26: 7. sorting

� � � � y

1� �?U L [ U�D [ U � �

� � 1� �

� 1�?U L [ UD [�

� ) 1� � � � � � � �

void insertionSort(int arr[], int n) { int j, new; ��UL 1� � � �Q1� � � � �e� �

for(int i = 1; i < n-1; i++) {j= i-1;new = arr[i];while(j >= 0 && arr[j] > new) {arr[j+1] = arr[j];

j--;}

}}

arr[j] = new;

Page 27: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, (

Page 28: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, (

Page 29: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / (

Page 30: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , / (

Page 31: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , /(

Page 32: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , /(

, ( /

Page 33: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , /(

, ( / , ( /

Page 34: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , /(

, ( / ,( /

Page 35: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , /(

, ( / ,( /

,( /

Page 36: 7. sorting

y � �

� � � y� � � �h � � s�

yb� � � � � �s � s s �r �

� 1�h�8 IISL�D [ U � �

/, ( , / ( , /(

, ( / ,( /

,( /

Page 37: 7. sorting

� � � � y

� 1� �8 IISL�D [ U � �

� � 1� �

� 1�I IISLD [�

� ) 1� � � � � � � �

void bubbleSort(int arr[], int n) {for(int i = n-1; i > 0; i—) {for(int j=0; j < i; j++){if(arr[j]<arr[j+1])swap(&arr[j], &arr[j+1]);

} }

}

Page 38: 7. sorting

y � �

� � � m� � � ��

� � � �> g � � ” �

� � � � � � ” �

� � �u dl �f � � � � �c� � � ���

� � � � � b� � z �o �

� 1�h�D LSS�D [ U � �

/ (,

Page 39: 7. sorting

y � �

� � � m� � � ��

� � � �> g � � ” �

� � � � � � ” �

� � �u dl �f � � � � �c� � � ���

� � � � � b� � z �o �

� 1�h�D LSS�D [ U � �

/(,

Page 40: 7. sorting

y � �

� � � m� � � ��

� � � �> g � � ” �

� � � � � � ” �

� � �u dl �f � � � � �c� � � ���

� � � � � b� � z �o �

� 1�h�D LSS�D [ U � �

/( ,

Page 41: 7. sorting

y � �

� � � m� � � ��

� � � �> g � � ” �

� � � � � � ” �

� � �u dl �f � � � � �c� � � ���

� � � � � b� � z �o �

� 1�h�D LSS�D [ U � �

/( ,

Page 42: 7. sorting

y � �

� � � m� � � ��

� � � �> g � � ” �

� � � � � � ” �

� � �u dl �f � � � � �c� � � ���

� � � � � b� � z �o �

� 1�h�D LSS�D [ U � �

/( ,

/( ,

Page 43: 7. sorting

� � � � y

� 1� �D LSS�D [ U � �

� � 1� �

� 1� LSSD [�

� ) 1� � � � � � � �

void shellSort(int arr[], int n) {for(int i = n-1; i > 0; i--) {for(int j=0; j < i; j++){if(arr[j]<arr[j+1])swap(&arr[j], &arr[j+1]);

} }

}

Page 44: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

) ( () ) (), ))(,

Page 45: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)( () ) ( ), ))(,

Page 46: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)( () ) ( ), ))(,

Page 47: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)

(

() ) ( ), ))(,

Page 48: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)

( ()

) ( ), ))(,

Page 49: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)

( () )

( ), ))(,

Page 50: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)( () )

( ), ))(,

Page 51: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)( () ) ( ),))(,

Page 52: 7. sorting

y � �

� � h �v � y � p� � � � �

� � K ] KLK�HUK� U L � �

� > � � � � � � o�hl � � � �

)� �i �: � � � �p �i � � o)�p �i � � �> )� �p �i � �i �

� 1�h�BL L�D [ U � �

) ( () ) ))(,(),

) ( () ) ))(,(),

)( () )( ),))(,

Page 53: 7. sorting

� 1� pBL L�D [ U � �

p� �h b�(hb� � z �g � y � � �

� � � � � � z � �

� � � �

� � �

[H [ LUK [H [ LUK

[H [ LUK [H [ LUK

mergeSort() mergeSort()

merge()

mergeSort() mergeSort()

merge()

K K (

K K (

[H [ LUK [H [ LUKK K (

[H [ LUKK

[H [LUK

[H [LUK

merge()merge()merge()

Page 54: 7. sorting

� 1� �BL L�D [ U � �

� � � �� � 1� �

� 1� L L U[�S [FG � U[� [H [ � U[� K � U[�LUK 2�

� + 1� � � � � � � � �

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

int tempSorted[MAX_LIST_SIZE];void merge(int list[], int start, int mid, int end) {int i = start, j = mid+1, k = 0;while (i <= mid && j <= end) {if (list[i] <= list[j])tempSorted[k++] = list[i++];

else tempSorted[k++] = list[j++];

}if (i > mid)for (i = j; i <= end; i++) tempSorted[k++] = list[i];

elsefor (j = i; j <= mid; j++) tempSorted[k++] = list[j];

for (i = start, k = 0; i <= end; i++) list[i] = tempSorted[k++];}

Page 55: 7. sorting

� 1� �BL L�D [ U � �

� � � � y

� � 1� �

� 1� L LD [ U[�S [FG � U[� [H [ � U[�LUK 2�

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

void mergeSort(int list[], int start, int end) {

if (start < end) { int mid = (start + end)/2; mergeSort(list, start, mid); mergeSort(list, mid+1, end); merge(list, start, mid, end); } return;}

Page 56: 7. sorting

y � �

� � K ] KL�HUK� U L � �xi�

� �“t � � � �p � � � � � �

�p � � � �

� 1�h�C �D [ U � �

, / + )-(0

] [

Page 57: 7. sorting

y � �

� � K ] KL�HUK� U L � �xi�

� �“t � � � �p � � � � � �

�p � � � �

� 1�h�C �D [ U � �

, / + )-(0

) + /-0(,

� ] [ � �e � ] [ � �e

] [

Page 58: 7. sorting

y � �

� � K ] KL�HUK� U L � �xi�

� �“t � � � �p � � � � � �

�p � � � �

� 1�h�C �D [ U � �

, / + )-(0

) + /-0(,

) + /-0( ,

� ] [ � �e � ] [ � �e

] [

� ] [ � �e � ] [ � �e

Page 59: 7. sorting

p

� 1� pC �D [ U � �

/ + )-(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 60: 7. sorting

p

� 1� pC �D [ U � �

/ + )-(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 61: 7. sorting

p

� 1� pC �D [ U � �

/ + )-(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 62: 7. sorting

p

� 1� pC �D [ U � �

/

+ )-(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 63: 7. sorting

p

� 1� pC �D [ U � �

/+) -(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 64: 7. sorting

p

� 1� pC �D [ U � �

/+) -(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 65: 7. sorting

p

� 1� pC �D [ U � �

/+) -(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 66: 7. sorting

p

� 1� pC �D [ U � �

/+) -(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 67: 7. sorting

p

� 1� pC �D [ U � �

/+) -(0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 68: 7. sorting

p

� 1� pC �D [ U � �

/+) -(

0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 69: 7. sorting

p

� 1� pC �D [ U � �

/+) -( 0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 70: 7. sorting

p

� 1� pC �D [ U � �

/+) -( 0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 71: 7. sorting

p

� 1� pC �D [ U � �

/+) -( 0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 72: 7. sorting

p

� 1� pC �D [ U � �

/+) -

(

0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 73: 7. sorting

p

� 1� pC �D [ U � �

/+) -( 0

S 1� � � � � � ] [� � �e � � �

1� � � � ] [� � �e � �

S

,

Page 74: 7. sorting

� 1� pC �D [ U � �

+)( 0

S

, /-

p

Page 75: 7. sorting

� 1� pC �D [ U � �

+)( 0

S

, /-

p

Page 76: 7. sorting

� 1� pC �D [ U � �

+)( 0

S

, /-

p

Page 77: 7. sorting

� 1� pC �D [ U � �

+)( 0

S S

, /-

p

Page 78: 7. sorting

� 1� pC �D [ U � �

+)( 0

S S

, /-

p

Page 79: 7. sorting

� 1� pC �D [ U � �

+)( 0

S S

, /-

p

Page 80: 7. sorting

� 1� pC �D [ U � �

+)( 0

S S

, /-

p

Page 81: 7. sorting

� 1� pC �D [ U � �

+)(

0

S S

, /-

p

Page 82: 7. sorting

� 1� pC �D [ U � �

+)( 0

S S

, /-

p

Page 83: 7. sorting

� 1� pC �D [ U � �

+)( 0, /-

S S

+)( 0

S S

, /-

p

Page 84: 7. sorting

� 1� pC �D [ U � �

+)( 0, /-

S S

+)( 0

S S

, /-

p

Page 85: 7. sorting

� 1� pC �D [ U � �

+)( 0, /-

S S

+)( 0

S S

, /-

p

Page 86: 7. sorting

� 1� pC �D [ U � �

+)( 0, /-

S S

+)( 0, /-

+)( 0

S S

, /-

p

�S �e � �e � � � � �

. �0-2 �9 � �9 � � � � �9 � � �

,- , �0-2 9 � �9 � � � � �9 � � �

. �9 �,- , �9 � �

� �e � ] [ �er�s

Page 87: 7. sorting

� 1� �C �D [ U � �

� � 1� �e� ] [� �

� 1� ] [< UK U[�S [FG � U[� [H [ � U[�LUK 2�

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

� � � ] [� � y

int pivotFind(int list[], int start, int end) {

int pivot = list[start], low = start+1, high = end; do { while (low <= high && list[low] < pivot) low++; while (low <= high && list[high] > pivot) high--; if (low < high) swap(&list[low], &list[high]); }while(low < high);

swap(&list[start], &list[high]); return high;}

Page 88: 7. sorting

� 1�� �C �D [ U � �

� � � � y

� � 1� �

� 1� D [ U[�S [FG � U[� [H [ � U[�LUK 2�

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

void quickSort(int list[], int start, int end) {

if (start < end) { int pivotPosition = pivotFind(list, start, end); quickSort(list, start, pivotPosition-1); quickSort(list,pivotPosition+1, end); }}

Page 89: 7. sorting

1�S I H �M U [ UC �D [ U � �

void qsort( void *base, size_t num, size_t width,int (*compare) (const void *, const void *)

);

� [H [�HKK L � M�HU�H H

�[ L�U IL � M�LSL LU[ � M�HU�H H

� aL� M�[ L�LSL LU[� M�HU�H H � � U�I [L �

� H L�M U [ U�[ H[� H L �[ �LSL LU[ �HUK� L[ U � U[L L �]HS L

�KL]LS L � SK� SL LU[�[ � H L�M U [ U

�� L[ U�]HS L �

����3� �1� LU�LSL LU[�(� �SL �[ HU�LSL LU[�)�

������� �1� LU�LSL LU[�(�L HS �[ �LSL LU[�)�

����4� �1� LU�LSL LU[�(� � LH[L �[ HU�LSL LU[�)

Page 90: 7. sorting

(

)

+

,

-

/

0

y � �

� � s� � � p� � �

� b � � � � � � � � ��

� � � � � � � ��

y � HK � � � �k � �e � � �

y � � o� � o � � � �h �

y � 1��h�HK �D [ U � y �

/ ) ,

Page 91: 7. sorting

(

)

+

,

-

/

0

y � �

� � s� � � p� � �

� b � � � � � � � � ��

� � � � � � � ��

y � HK � � � �k � �e � � �

y � � o� � o � � � �h �

y � 1��h�HK �D [ U � y �

/

)

,

Page 92: 7. sorting

(

)

+

,

-

/

0

y � �

� � s� � � p� � �

� b � � � � � � � � ��

� � � � � � � ��

y � HK � � � �k � �e � � �

y � � o� � o � � � �h �

y � 1��h�HK �D [ U � y �

/

) ,

Page 93: 7. sorting

(

)

+

,

-

/

0

y � �

� � s� � � p� � �

� b � � � � � � � � ��

� � � � � � � ��

y � HK � � � �k � �e � � �

y � � o� � o � � � �h �

y � 1��h�HK �D [ U � y �

/) , /) ,

Page 94: 7. sorting

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/ 0 0 /( -) ) / )-

Page 95: 7. sorting

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/

0

0

/( -) ) / )-

Page 96: 7. sorting

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/

0

0

/(

-))

/ )-

Page 97: 7. sorting

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/

0

0

/(

-))

/

)-

Page 98: 7. sorting

(

)

+

,

-

/

0

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/0 0/( -) ) /)-

Page 99: 7. sorting

(

)

+

,

-

/

0

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/

0

0

/(

-)

)

/

)-

Page 100: 7. sorting

(

)

+

,

-

/

0

y � 1�� pHK �D [ U � y �

� � � � z � � �

� � � � �p �( � � �

�p �( � � � � � �

p

(

)

+

,

-

/

0

)/ 00 /(-) )/)-