- A cooking recipe
- Encryption of data
- It has a reasonable complexity
- It is easy to implement
- dynamic programming is less efficient than divide and conquer
- dynamic programming is recursive
- dynamic programming uses the answers of previous sub problems
- dynamic programming solves each subproblems independently
- it doesn’t always provide the globally optimum solution
- as shortcuts
- Rubik’s cube
- Some algorithms are slower than usual
- Some algorithms are more efficient than usual
- O(N2)
- merge sort
- np
- a lot
- Some algorithms are slower than usual
- All sorting algorithm generally give the same output
- All sorting algorithm have exactly the same complexity
- All sorting algorithm have exactly the same efficiency
- All sorting algorithm need the same time to terminate
- While traveling
- Huffman’s lossless data compression
- O(N2)
- Insertion, deletion, sorting and searching
- A solution of a NP-problem cannot be checked
- A solution of a NP-problem can be found relatively fast
- A solution of a NP-problem can be checked relatively fast
- A solution of a NP-problem cannot be found
- find quickly a solution that is good enough
- algorithm producing the same result are the same
- two different algorithms will produce two different results
- some algorithms are better than others even if they produce equal results
- the outputs of an algorithm is independent from the input
- Using some shortcuts to obtain the solution of the main problem
- recursively combining results of independent subproblems to obtain the solution of the main problem
- using the results of overlapping subproblems to obtain the optimum solution of the main problem
- replacing original input by a smaller one, find a solution, then transform it to obtain the solution of the main problem
- set of instruction to accomplish a task
- the efficiency of one sorting algorithm depends on the inputs
- the fastest sorting algorithm is always the same, regardless of the inputs
- the correctness of one sorting algorithm depends on the inputs
- the complexity of one sorting algorithm depends on the inputs
- it simplifies the analysis of algorithm efficiency
- recursively combining results of independent subproblems to obtain the solution of the main problem
- replacing original input by a smaller one, find a solution, then transform it to obtain the solution of the main problem
- using some shortcuts to obtain the solution of the main problem
- using the results of overlapping subproblems to obtain the option solution of the main problem
- a queue
- it sorts faster
- a tree
- in brute-force algorithms
- the hardest NP-problems
- optimal choice