Linear Binary etc test prep
Test:
Linear Search - Searches every item in list
Worst Case Scenario - number of items in list
Run Time Efficient
---------------
Binary Search - All items need to be sorted
Worst Case Scenario - keep cutting list in half until you can't
Run Time Efficient
------------
n = number of inputs
Any algorithm with n^2 or n^3 is run time efficient
---------------
n = number of inputs
Any algorithm with 2^n is not run time efficient
-----------
n = number of inputs
Any algorithm with n! is not run time efficient and would need use a Heuristic.
Heuristic: provides a "good enough" solution to a problem when an actual solution is impractical or impossible
Following the same heuristic can lead to different results
Undecidable Problem: a problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer
Sequential Computing: programs run in order, one command at a time.
Parallel Computing: programs are broken into small pieces, some of which are run simultaneously.
If each step is dependent on the preceding step, then each step must wait for the previous step to complete before executing. Therefore, the solution is completely sequential and does not benefit from parallel computing.
Execution time is optimized when the workload of the two processors is as close to equal as possible.