Fundamentals of Algorithms

Abstraction

  • Simplifies a problem

  • Removing unnecessary details

  • (so you can focus on relevant parts of the problem)

Maps are an example of abstraction

Decomposition

  • Breaks down a problem into smaller, manageable sub-problems

  • They can then be solved individually

  • Then are combined to solve the original problem

Advantage - Allows large teams to work on parts of a problem

Algorithmic

  • A way to solve problems by producing algorithms

  • A reusable set of instructions like a set of number steps to follow

  • In CS, examples are pseudocode and flow charts


Pseudocode is a way to represent an algorithm, using code-like statements (making is readable and easy to understand). It is used to plan algorithms

Flow diagrams - a visual of steps that make up an algorithm

Diamond is followed by a 'Yes' or 'No' arrow

)