A heap is a specialized tree-based data structure that satisfies the heap property. It is commonly used to implement priority queues and efficient sorting algorithms like heap sort.
sequential search is a method for finding an element within a list. It sequentially checks each element of the list until a match is found or the whole list has been searched.
The idea of a dictionary used as a hash table to get and retrieve items using keys is often referred to as a mapping. Python already has a built-in dictionary object that serves as a Hash Table.
The shell sort improves on the insertion sort by breaking the original list into a number of smaller sub-lists, each of which is sorted using an insertion sort.
The selection sort improves on the bubble sort by making only one exchange for every pass through the list.
A quick sort first selects a value, which is called the pivot value. Although there are many different ways to choose the pivot value, we will simply use the first item in the list.
Merge sort is a recursive algorithm that continually splits a list in half. If the list is empty or has one item, it is sorted by definition (the base case)
Insertion Sort builds the final sorted array (or list) one item at a time.
The bubble sort makes multiple passes through a list. It compares adjacent items and exchanges those that are out of order. Each pass through the list places the next largest value in its proper place. In essence, each item “bubbles” up to the location where it belongs.
Binary Search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array.