Skip to content
UPEEC

Data Structures and Algorithms

How to organise data and design efficient algorithms — the core of computer science and coding interviews.

Intermediate
Comments 0

A data structure organises data so certain operations are fast; an algorithm is a step-by-step method that uses them. Choosing the right pair can turn a program that takes hours into one that takes milliseconds. Start with Big-O notation, then work through the structures and algorithm families below.

Sub-topics (11)

Big-O Notation

Describe how an algorithm's time or memory grows as the input size grows.

Easy♥ 0🔖 0💬 0

Linked Lists

Nodes connected by pointers: cheap insertions anywhere, but no random access.

Easy♥ 0🔖 0💬 0

Stacks

Last-in, first-out (LIFO): push and pop at the same end.

Beginner♥ 0🔖 0💬 0

Queues

First-in, first-out (FIFO): add at the back, remove from the front.

Beginner♥ 0🔖 0💬 0

Hash Tables

Map keys to array slots with a hash function for O(1) average lookups.

Intermediate♥ 0🔖 0💬 0

Trees

Hierarchical structures of nodes with parent–child relationships.

Easy♥ 0🔖 0💬 0

Graphs

Vertices connected by edges — model networks, maps, circuits and dependencies.

Intermediate♥ 0🔖 0💬 0

Sorting Algorithms

Arrange data in order — and why the choice of algorithm matters.

Easy♥ 0🔖 0💬 0

Binary Search

Find an item in a sorted array by repeatedly halving the search range — O(log n).

Easy♥ 0🔖 0💬 0

Dynamic Programming

Solve problems by combining solutions to overlapping sub-problems, storing each result once.

Advanced♥ 0🔖 0💬 0

Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.

Discussion (0)

Sign in or join free to ask questions and discuss this topic.