Computable
Problem that can be solved using an algorithm
Problem Decomposition
Breaking down a problem into smaller parts repeatedly
Divide and conquer example
Binary search
Advantages of divide and conquer
Greatly simplifies very complex problems
What does divide do?
Halves the problem with each iteration
Name a common use of divide and conquer
Binary search
Disadvantages of divide and conquer
Stack overflow can cause the program to crash as it is recursive
Representational abstraction
Excessive details are removed to simplify a problem
Abstraction by generalisation
Groups together different sections of the problem with similar underlying functionality
Backtracking
Methodically visit each path and build a solution based on the paths that are found to be correct
Data mining
Identify patterns or outliers in large sets of data, termed big data
Heuristics
Provide an approximate solution to a problem when the usual solution is resource intensive or time consuming
Performance modelling
Provides mathematical methods to test a variety of loads on different operating systems
Pipelines
Different tasks are developed in parallel
Visualisation
Present data in a way that is easier for us to understand to help identify trends that weren’t otherwise obvious