SORTING Michael Tsai 201357 2 Sorting 8 Decision
- Slides: 29
SORTING Michael Tsai 2013/5/7
2 Sorting •
8 Decision tree for sorting [1, 2, 3] [1, 3, 2] stop [1, 2, 3] stop [1, 3, 2] • [2, 1, 3] stop [2, 3, 1] [2, 1, 3] stop [3, 1, 2] stop [3, 2, 1]
11 複習: Selection Sort •
12 Insertion Sort • 方法: 每次把一個item加到已經排好的, 已經有i個item的list, 變成有i+1個item的排好的list 2 3 6 5 1 4 2 3 5 6 1 4 1 2 3 5 6 4 1 2 3 4 5 6
13 Insertion Sort •
14 Insertion Sort的好性質 •
16 Merge Sort void Mergesort(int A[], int temp, int left, int right) { int mid; if (right > left) { mid=(right+left)/2; Divide Mergesort(A, temp, left, mid); Conquer Mergesort(A, temp, mid+1, right); Merge(A, temp, left, mid+1, right); Combine } }
17 Merge Sort: Example
18 How to combine? (Karumanchi p 251) 原本的位置 mid left 1 暫時的儲存 4 1 5 2 8 3 2 4 5 3 6 6 8 9 9
19 Merge sort •
21 Quick Sort • 方法: 每次找出一個pivot(支點), 所有它左邊都比它小(但是 沒有sort好), 所有它右邊都比它大, 然後再call自己去把pivot 左邊與pivot右邊排好. 26 5 37 1 61 11 59 15 48 19 26 5 19 1 61 11 59 15 48 37 26 5 19 1 15 11 59 61 48 37 11 5 19 1 15 26 59 61 48 37
22 Quick Sort 11 5 19 1 15 26 59 61 48 37 1 5 11 19 15 26 59 61 48 37 1 5 11 15 19 26 48 37 59 61 1 5 11 15 19 26 37 48 59 61
23 Quick Sort: Worst & Best case •
24 Randomized Quick Sort • 亂數選擇一個當pivot 26 5 37 先交換 1 61 11 59 15 48 19
26 Average running time
28 比較四大金剛 Worst Average Additional Space? Insertion sort O(1) Heap sort O(1) Merge sort O(n) Quick sort O(1) • Insertion sort: n小的時候非常快速. (因為常數c小) • Quick sort: average performance最好 (constant也小) • Merge sort: worst-case performance 最好 • Heap sort: worst-case performance不錯, 且不用花多的空間 • 可以combine insertion sort和其他sort • 怎麼combine? • 答: 看n的大小決定要用哪一種sorting algorithm.
29 Today’s Reading Assignments •
- No decision snap decision responsible decision
- Financial management process
- Internal sorting and external sorting
- Dr. yu-dai tsai
- Eddie tsai
- Jerry tsai tutor
- Chin-chung tsai
- Wen-hsuan tsai
- Vukovar rat
- Lulu tsai md
- Shannon tsai
- Robin tsai
- Jerry tsai tutor
- Beth tsai
- Charlene tsai
- Decision tree and decision table examples
- What horrible thought struck harry
- Bitonic sorting network
- What is sorting in ict
- What is stable sorting
- Non deterministic algorithm for sorting
- Nagasaki sorting algorithm
- Searching and sorting in java
- Sorting algorithm
- Protein fragment complementation assay
- Define topological sort in data structure
- Recursive sorting algorithms
- Lower bound for comparison based sorting algorithms
- Fluorescence-activated cell sorting (facs)
- Angles quadrilaterals worksheet