Unit 3- Part 1 Flashcards
(11 cards)
What is the definition of an algorithm?
It is an ordered sequence of well defined finite instructions that given an initial state, performs some task and halts in finite time
What does an algorithm offer?
a clear start and end points for the system/task
What is the order of the Software Development Cycle?
-Specification
-Design
-Implementation
-Testing
What are the ways that Algorithms can be illustrated in?
-Pseudo Code
-Flow Charts
-Natural Language
Representations of algorithms are generally grouped in what 3 levels?
-High Level Description
-Implementation Description
-Formal Description
How does a Divide and Conquer algorithm work?
Repeatedly divide a problem into smaller subproblems until they are easy to solve
-then combine the solutions to the subproblems to solve the original problem
What is an example of Divide and Conquer algorithm?
-Merge Sorting Algorithm
How does Dynamic Programming work?
-constructs optimal solution to a problem from optimal solutions to subproblems
What is an example of Dynamic Programming?
All-Pair Shortest Path Algorithm
How does a Greedy Algorithm work?
-Makes locally optimal decisions even if they are inaccurate
How does a Search and Enumeration algorithm work?
Systemically checking all possible candidates for the solution