๐Ÿ“– Crammy ยท All study guides
A-Level Computer Science ยท Topic 1

Data structures, algorithms and complexity: every key term you need (+ practice quiz)

16 flashcard terms for A-Level Computer Science Topic 1, written to match the course framework. Study them here, then drill them as interactive flashcards, or test yourself with the 8-question quiz โ€” free, no account needed.

Study this unit free โ†’
Abstraction
Hiding unnecessary detail so a problem can be reasoned about at the right level. The idea underpinning both data types and program design.
Big O notation
Describes how running time or space grows with input size in the worst case, ignoring constants and lower-order terms.
Binary search
Repeatedly halves a sorted list, giving logarithmic time. Requires the data to be sorted first, unlike linear search.
Merge sort
Divide and conquer: split until single elements, then merge sorted sublists. Consistently n log n but needs extra memory.
Bubble sort
Repeatedly swaps adjacent out-of-order elements. Simple to implement but quadratic, so unusable on large datasets.
Stack
Last in, first out. Used for call frames, undo history and converting or evaluating expressions in reverse Polish notation.
Queue
First in, first out. A circular queue reuses freed space at the front by wrapping the rear pointer around the array.
Linked list
Nodes each holding data and a pointer to the next. Insertion and deletion are cheap, but access is sequential rather than indexed.
Hash table
Maps a key to an index using a hash function, giving near constant-time lookup. Collisions are resolved by chaining or probing.
Binary search tree
Left child smaller, right child larger. Search is logarithmic when balanced but degrades to linear when the tree becomes a chain.
Graph traversal
Breadth-first uses a queue and finds the fewest edges; depth-first uses a stack or recursion and explores one branch fully first.
Dijkstra's algorithm
Finds the shortest path from one node to all others in a weighted graph with non-negative weights, using a priority queue.
Recursion
A routine that calls itself, needing a base case to terminate. Elegant for tree and divide-and-conquer problems, but consumes stack space.
Fetch-decode-execute cycle
The processor fetches the next instruction using the program counter, decodes it, then executes it โ€” repeating for every instruction.
Two's complement
Represents signed integers by negating and adding one, so a single adder circuit handles both addition and subtraction.
Normalisation
Organising relational data to remove redundancy and update anomalies. Third normal form removes non-key dependencies.
Turn these into flashcards & quizzes โ†’