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

UN
Uni24h
0 lượt tải
10
0

Nội dung tài liệu

Trang 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

Trang 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

Trang 5

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

Trang 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

Trang 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

Trang 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)

Trang 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

Trang 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)

Hiển thị 10 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!