algorithm an algorithm is a step-by-step set of operations to be performed. real-life example: a...
TRANSCRIPT
![Page 1: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/1.jpg)
Algorithm
• An algorithm is a step-by-step set of operations to be performed.• Real-life example: a recipe• Computer science example: determining the mode in an array
![Page 2: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/2.jpg)
Sorting• Sorting is the process of arranging the elements in
an array in a particular order
• The sorting process is based on specific values – examples:
• sorting a list of test scores in ascending numeric order• sorting a list of people alphabetically by last
name
• There are many algorithms for sorting an array
• These algorithms vary in efficiency & speed
![Page 3: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/3.jpg)
Big-O Notation• The efficiency/performance or “time complexity” of a sorting algorithm is
measured in “Big O” notation
• For example: if an algorithm has O(n^3) efficiency, that means that the maximum number of “touches” of the elements of the array necessary to sort it equals the cube of the number of elements in the array.
• So, for example, if an array holds 5 numbers, then in the worst-case scenario, it would take this particular sorting algorithm 125 different comparisons or moves of those numbers in order to sort it.
• If a sorting algorithm has efficiency O(n), this is called “linear time,” meaning that the algortithm’s efficiency is directly proportional to the size of the array.
![Page 4: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/4.jpg)
You need to know the basics of these 4 sorting algorithms:1) Selection Sort
2) Insertion Sort
3) Merge Sort
4) Quick Sort
![Page 5: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/5.jpg)
Selection Sort
1. find the smallest element in the array2. swap it with the first element3. find the next-smallest element in the array4. swap it with the second element5. repeat until all values are in their proper places
Efficiency: O(n^2)
![Page 6: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/6.jpg)
Example:
original array: 3 9 6 1 2
smallest is 1: 1 9 6 3 2
smallest is 2: 1 2 6 3 9
smallest is 3: 1 2 3 6 9
smallest is 6: 1 2 3 6 9
![Page 7: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/7.jpg)
Insertion Sort1) pick an item and insert it into its proper place in a sorted
sublist2) repeat until all items have been inserted
Efficiency: O(n)
An example:
original: 9 3 6 1 2
insert 3: 3 9 6 1 2
insert 6: 3 6 9 1 2
insert 1: 1 3 6 9 2
insert 2: 1 2 3 6 9
![Page 8: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/8.jpg)
Merge Sort
• Divides a list in half, recursively sorts each half, and then combines the two lists
• At the deepest level of recursion, one-element lists are reached
• A one-element list is already sorted
• The work of the sort comes in when the sorted sublists are merged together
• Efficiency: O(n log n)
![Page 9: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/9.jpg)
Quick Sort
• Chooses a pivot value, then partitions the list into two sublists, (one list contains everything smaller than the pivot, the other contains everything larger), then recursively sorts each sublist
• Unlike a merge sort, a quick sort does most of its work when it divides the list
• It doesn’t need to combine sublists after the recursive steps; the list is already sorted at that point
• Also, unlike a merge sort, the 2 sublists do not have to be the same size
• Efficiency: O(n log n)
![Page 10: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/10.jpg)
Review
1. Selection Sort: Swaps numbers in a list until the list is sorted2. Insertion Sort: Sorts the first 2 #s in the list, then the first 3, then
the first 4, etc…3. Merge Sort: cuts list in half, sorts them, then combines the 2 lists4. Quick Sort: cuts list in half using a pivot value; sorts each sublist,
no need to combine the lists at the end since they are already sorted
![Page 11: Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode](https://reader035.vdocuments.site/reader035/viewer/2022072006/56649d215503460f949f60c0/html5/thumbnails/11.jpg)
Assignments
• Finish Battleship, Connect3, etc…• AP Exam takers: work on practice test