Computer science, explained properly

Understand it once.
Revise it at a glance.

In-depth computer science study guides with runnable code, worked examples, and interview-focused explanations — plus a Glance Mode that turns each long article into a two-minute revision sheet.
101
Topics published
120
Flashcards
Code that actually runs

Every example is executed before publishing, and the guide shows its real output and measured numbers.

Reviewed before it goes live

Each guide passes a technical review and an originality and accuracy check. Corrections are welcome on the contact page.

Built for revision

Glance Mode turns any guide into a two-minute summary with a cheat sheet, for the night before an interview.

Newly published

Latest course content

Updated 23 Oct 2026
Readers' favourites

Most read

See all
60-second cards

Quick revise

Start session
Why does traversing a contiguous array of size N typically outperform traversing a singly linked list of the same size, even though both operations have an O(N) time complexity?
Array elements are stored in contiguous memory locations, which maximizes CPU cache locality and allows the system to prefetch data efficiently. In contrast, linked list nodes are scattered across memory, causing frequent cache misses as the CPU must repeatedly look up pointer addresses.
REVIEW 60s
In a hash table, why does the search performance of Open Addressing (like linear probing) degrade much faster than Separate Chaining as the load factor approaches 1?
As the load factor approaches 1, Open Addressing suffers from clustering, where long runs of occupied slots form and drastically increase the number of probes needed to find an empty slot. Separate Chaining handles collisions by appending to lists, meaning lookup time degrades gradually relative to the average list length rather than failing to locate a slot.
REVIEW 60s
For a deeply nested, narrow tree (e.g., a degenerate tree of depth N and width 1), would BFS or DFS require less auxiliary space, and why?
BFS would require less auxiliary space, specifically O(1) memory, because its queue will hold at most one node at any given level. In contrast, DFS would require O(N) auxiliary space because its recursion stack must store all N ancestor nodes from the root to the leaf.
REVIEW 60s
Consent notice
We use cookies for analytics and ads personalization to keep glancED free.
We use cookies and local storage for analytics and ads personalization. Until you accept, Google Analytics stays off and any ads are non-personalized. Learn how Google processes data in our Privacy Policy and on Google's Business Data Responsibility site. You can change your choice anytime on the consent page.
Manage preferences