OCR H446/02 – 2.3 Algorithms

2.3 Algorithms - Overview / Checklist
2.3.1 Algorithms
(a) Analysis and design of algorithms for a given situation.
(b) The suitability of different algorithms for a given task and data set, in terms of execution time and space.
(c) Measures and methods to determine the efficiency of different algorithms, Big O notation (constant, linear, polynomial, exponential and logarithmic complexity).
(d) Comparison of the complexity of algorithms.
(e) Algorithms for the main data structures, (stacks, queues, trees, linked lists, depth-first (post-order) and breadth-first traversal of trees).
(f) Standard algorithms (bubble sort, insertion sort, merge sort, quick sort, Dijkstra’s shortest path algorithm, A* algorithm, binary search and linear search).

Recommended Resources

2.3.1 Algorithms
Searching & Sorting Algorithms
Bubble Sort Algorithm – Visualisation Merge Sort Algorithm – Visualisation Quick Sort Algorithm Sorting Algorithms – Visualisation Searching & Sorting Algorithms – Practice Linear Search Functions Binary Search: Guess The Number Linear vs Binary Search: Domain Name Server Challenge Bubble Sort Algorithm – Visualisation Insertion Sort Algorithm – Visualisation Sorting Algorithms – Python Code Shuffling Algorithm (Python Challenge)

Algorithms & Data Structures
– Binary Trees
Breadth-First Traversal of a Binary Tree Binary Search Tree Implementation Prime Factor Tree Algorithm Morse Code using a Binary Tree Huffman Coding Algorithm – Graphs
Air-Flight Route Planner The Social Network Food Chain and Food Web London Underground Journey Planner

– Hash Tables
Airport Lookup Check Chemical Elements Quiz

– 2D and 3D Arrays
Cinema Booking Challenge Laser Maze Game My Weekly Timetable Four in a row Challenge Noughts & Crosses Challenge Battleship Challenge Drone Display Space Invaders 2D/3D Pixel Art

– Stack & Queues
Stacks and Queues using Python The Ice Cream Stack Bracket Validator (using a Stack) Reverse Polish Notation (using a Stack)


Big O Notation

Big O Notation

The question we will try to answer in this blog post is as follows: How can we measure the effectiveness/performance of an algorithm? First let’s consider this quote from Bill Gates (Founder of Microsoft): “Measuring programming progress by lines of … Continue reading


Big O Notation – Quiz

Before completing this quiz, we invite you to revisit the main Big O Notations used to describe the time complexity and space complexity of an algorithm.. The main Big O Notations this quiz will focus on are: Take the Quiz! … Continue reading


Short Path Algorithms

Dijkstra’s Shortest Path Algorithm

Dijkstra’s Shortest Path Algorithm is an algorithm used to find the shortest path between two nodes of a weighted graph. Before investigating this algorithm make sure you are familiar with the terminology used when describing Graphs in Computer Science. Let’s … Continue reading


A* Search Algorithm

The A* Search algorithm (pronounced “A star”) is an alternative to the Dijkstra’s Shortest Path algorithm. It is used to find the shortest path between two nodes of a weighted graph. The A* Search algorithm performs better than the Dijkstra’s … Continue reading


Short Path Algorithm Practice

Before completing this task, you will need to familiarise yourself with the following 2 algorithms used to find the shortest path between two nodes of a weighted graph: Dijkstra’s Short Path Algorithm A* Algorithm Dijkstra’s Short Path Algorithm For each … Continue reading


Air Flight Route Planner London Underground Journey Planner The Social Network

Did you like this challenge?

Click on a star to rate it!

Average rating 4.6 / 5. Vote count: 10

No votes so far! Be the first to rate this post.

As you found this challenge interesting...

Follow us on social media!