STUDY GUIDE · GKU 1
Algorithms, computability and complexity study guide (Artificial Intelligence)
Every AI system is, underneath, a set of algorithms running on data structures: a search over states, a table of learned values, a queue of nodes to expand, a hash map from words to counts. This unit gives you the tools to judge such code before you run it. The first half is analysis and design: how the cost of an algorithm depends on the input it gets (best, worst and average case), how to state that cost with big O, how the standard growth classes and the classes P and NP separate the feasible from the hopeless, which design method fits which problem, and how to predict running time on bigger inputs. The second half is the toolbox: lists, stacks and queues; searching, sorting and numerical algorithms; hash tables; graph algorithms; and string matching. Each section opens with a quick-revision card, and the worked examples run from easy to exam level.
Structured by the official ETEC subject standard for this topic: every listed topic and learning outcome, with formulas, figures and worked examples. The full sections are available to members in the app.
SKU 1.1 · Algorithms
Case behaviour of an algorithm
Why one algorithm has a best, a worst and an average running time, how each is computed, and what insertion sort and linear search teach about inputs that are easy or hard.
Big O notation and the complexity of algorithms
The definitions of , and , the rules that let you read a complexity off code, counting loops, and solving divide-and-conquer recurrences with the master theorem.
Standard complexity classes
The ladder of growth classes from constant to factorial, the line between polynomial and exponential time, and the classes P, NP, NP-complete and NP-hard — with what they mean for search and planning problems in AI.
Algorithmic methods: greedy, divide and conquer, backtracking, dynamic programming and heuristics
Five ways to design an algorithm, the property of a problem each one needs, how to choose among them, and each applied by hand to a small problem.
Algorithm performance on inputs of different sizes
Predicting running time on a larger input from one measurement, finding where a faster-growing algorithm overtakes a slower one, and reading the growth class off a doubling experiment.
SKU 1.2 · Data structures
Lists, stacks and queues and their implementations
Array lists and linked lists, stacks (last in, first out) and queues (first in, first out), what each operation costs in each implementation, a circular buffer, and a queue built from two stacks.
Numerical, search and sorting algorithms
Euclid's algorithm and fast modular exponentiation; linear and binary search and the exact number of probes; the main sorting algorithms, their costs and stability, and how to choose one for given data.
Hash tables and their implementation
How a hash function turns a key into a slot, the two ways to handle collisions (chaining and open addressing), the load factor and the expected cost of a lookup, and problems that become linear with a hash table.
Fundamental graph algorithms
Representing a graph, breadth-first and depth-first search, Dijkstra's shortest paths, minimum spanning trees, topological order and maximum flow — what each solves, what it costs, and how to pick the right one.
String-matching algorithms
Finding every occurrence of a pattern in a text: the naive method and its worst case, the Knuth–Morris–Pratt prefix function, and Rabin–Karp hashing with its spurious hits.
MORE ARTIFICIAL INTELLIGENCE GUIDES
- Fundamentals of artificial intelligence study guideGKU 6 · 12 sections
- Programming study guideGKU 2 · 10 sections
- Machine learning study guideGKU 7 · 13 sections
- Ethics, privacy and security study guideGKU 8 · 7 sections
- Networks study guideGKU 4 · 4 sections
- Software engineering study guideGKU 5 · 9 sections
- Applied computer science: databases and operating systems study guideGKU 3 · 8 sections