Arrays
Arrays are fixed or managed contiguous blocks: O(1) index access, but insertion and deletion in the middle are costly unless you use patterns such as two pointers, sliding windows, or prefix sums. They are the default representation for vectors, matrices, and many dynamic-programming tables. Start with the conceptual notes, then drill complexity and edge cases (empty array, single element, overflow) before timed practice.
Arrays notes · Tricks · MCQ · Interview Qs · Programs · Problem solving
Linked list
Linked lists trade random access for flexible insert/delete at known nodes—ideal for understanding pointers, sentinel nodes, and cycle detection. Interviews love reversal, merge of sorted lists, and fast/slow pointer tricks. Draw every transformation on paper before coding; most bugs come from losing a next reference or mishandling the head pointer.
Full tutorial (sidebar) · Linked list notes · Tricks · MCQ · Interview Qs · Programs · Problem solving
Stack
A stack is last-in, first-out (LIFO): think function call stacks, undo buffers, and matching parentheses. It pairs naturally with depth-first ideas and many “parse this expression” problems. Implementations in C typically use arrays with a top index or linked nodes; compare space and overflow behavior for both.
Full tutorial (sidebar) · Introduction to Stack · Stack notes · Tricks · MCQ · Interview Qs · Programs · Problem solving
Queue
A queue is first-in, first-out (FIFO): scheduling, buffering, and especially breadth-first search (BFS) on trees and graphs. Circular array queues avoid shifting elements; linked queues avoid capacity limits. Understanding enqueue/dequeue invariants helps when you layer BFS on grids or social graphs in interviews.
Queue notes · Tricks · MCQ · Interview Qs · Programs · Problem solving
Tree
Trees generalize linked lists into hierarchies: binary trees, BSTs, height balance, and traversals (preorder, inorder, postorder, level order). Many problems reduce to recursion with a clear base case or to iterative stacks/queues mirroring those traversals. Master one traversal deeply—then map others as reorderings of the same visit pattern.
Tree notes · Tricks · MCQ · Interview Qs · Programs · Problem solving
Graph
Graphs connect arbitrary vertices with edges: use adjacency lists for sparse networks (typical in interviews) and matrices when density or weights are fixed. DFS (often stack-based) explores deeply; BFS (queue) finds shortest path in unweighted graphs. Practice translating a problem statement into vertices, edges, and visited state— that modeling step is half the battle.
Graph notes · Tricks · MCQ · Interview Qs · Programs · Problem solving
Beyond these structures
Strings, search and sort, greedy algorithms, dynamic programming, backtracking, bit tricks, and pattern matching live in the broader Problem Solving Hub—alongside the same C notes style. Use that hub when you need mixed-topic revision or contest-style variety. The Technology Hub links out to programming languages, AI, databases, and roadmaps for full-stack context.