Sorting (Discussion 10) (Các thuật toán sắp xếp) - Christine Zhou

UN
Uni24h
0 次下载
10
0

资料内容

第 3 页

Announcements - Midterm 2 is tomorrow! Check room assignments - Best of luck!! - HW6 due Friday - Project 2 milestone due on Monday, just need to pass the integration tests - No slip hours for this! - You do not need your game fully functioning, remember these integration tests are not comprehensive! - Extra office hours Monday and Wednesday night! 6-8PM - More details to come later

第 4 页

Insertion Sort - Have a sorted portion and a non-sorted portion - In the non-sorted portion, pick the first element and “insert” its correct position - Keeping swapping with whatever is to the left - Will be at the right position when the left element is less than the element you are inserting

第 5 页

Selection Sort - Scan through the array, always “selecting” the smallest item and bringing it to the front

第 6 页

Merge Sort - Split array into two equal partitions - Call mergesort on each of the partitions - Now the partitions are sorted or the partitions are one element - Merge the two halves together - Have pointers to each partitions and combine them so the partitions are now sorted

第 7 页

Heapsort - Use a max heap - Algorithm: - Turn elements into a heap, represent with an array - Repeat: remove max and rearrange heap, put max at the end

第 8 页

Quicksort - Pick a pivot - Divide array into 3 parts: less than portion, equal to portion, greater than portion - Repeat previous steps on 1st and 3rd if they include more than one element - Runtime: - Average case: 𝚹(NlogN) - Worst case: 𝚹(N^2)

第 9 页

Counting Sort - Keep an array called counts that keeps track of the count of each value, go through the entire array and collect the counts - Keep an array called starts and this will tell us where to start for each element, go through the counts and collect the starts - Go through all the elements of the array and place the element where it should belong based on the starts array - Runtime: - N is the number of items in our list, K is the radix - Iterate through the list (N), iterate through the counts (K), iterate through the list again (N) - N + N + K, which is roughly N + K

第 10 页

Radix Sort - LSD Radix Sort - Run counting sort on each digit, starting from the least significant digit (right most) - MSD Radix Sort - Run counting sort on each digit, starting from the most significant digit (left most)

显示前 10 页。下载资料查看完整内容。

评论 (0)

登录 以加入讨论

暂无评论。快来抢沙发吧!