Redux is a Javascript library that is used for state management in React applications. Redux encourages a single source of truth by building a global store, a javascript object that is separate from the component tree to store component state. The components have access to this global store through a higher order component that wraps each component that needs access to the store. This higher order component is Provider. Provider contains the Connect() function which takes in two arguments, MapStateToProps() and MapDispatchToProps(). This implementation can be seen below:
The Quick sort algorithm is a divide and conquer algorithm, meaning it breaks itself down into smaller and smaller bits. It works by choosing a pivot point and then splitting the list into two parts. Sorting the elements by putting the elements before the pivot if it is smaller and putting the elements larger than the pivot after it.
The Selection sort algorithm works by iterating through an unsorted list, finding the smallest element and placing it at the beginning of the list. Then, the next smallest element is placed behind the first element; this continues until all elements in the list are sorted.
Stacks and queues are higher level, linear data structures that are built using lower level data structures like arrays and linked lists.
A linked list is a linear and dynamic data structure, meaning there is order like an array but it is dynamic in that its memory allocation is not fixed; it can grow or shrink. Linked lists (singly-linked) consists of a head node that has a pointer that points (reference to) to a series of nodes and ends with a tail node that points to null. A node only contains data and a reference to the next node.