∑GATE DA Atlas

Programming, Data Structures and Algorithms

Programming in Python, asymptotic analysis, stacks, queues, linked lists, trees, heaps, hash tables, linear and binary search, selection, bubble and insertion sort, merge sort and quicksort, graph theory basics, and graph traversals and shortest paths.

10 topics98 practice questions≈ 16–21 marksPractise this section →

Programming, data structures and algorithms was the single largest block of the 2024 DA paper (about 21 marks in one third-party analysis) and around 16 marks in 2025. Expect Python output-tracing questions, operation counts (comparisons, swaps), the state of a data structure after a sequence of operations, complexity questions, and hand-simulation of BFS, DFS and Dijkstra.

What the syllabus lists: programming in Python; basic data structures — stacks, queues, linked lists, trees, hash tables; search algorithms — linear search and binary search; basic sorting algorithms — selection sort, bubble sort and insertion sort; divide and conquer — mergesort, quicksort; introduction to graph theory; basic graph algorithms — traversals and shortest path.

Topics

Read in order — later topics build on earlier ones
01Programming in PythonPython as GATE tests it — the object model (names, references, mutability and aliasing), numeric semantics (integer division, modulo, floats), strings and slicing, lists, tuples, dictionaries and sets, comprehensions, functions (default arguments, *args, scope and closures), recursion, iterators and generators, classes, exceptions, and a checklist for output-tracing questions.0/11 solved02Algorithm Analysis — Asymptotic Notation and RecurrencesMeasuring running time by counting operations, best/worst/average cases, Big-O, Ω and Θ with their properties, the growth-rate hierarchy, counting loops (nested, logarithmic, dependent), solving recurrences by substitution, recursion trees and the master theorem, amortised analysis, and space complexity.0/9 solved03Stacks and QueuesThe stack (LIFO) and queue (FIFO) abstract data types, array and linked implementations in Python, circular queues, deques and priority queues, and the classic applications — balanced brackets, postfix evaluation, infix-to-postfix conversion, recursion and the call stack, valid pop sequences, queues from stacks, and BFS.0/10 solved04Linked ListsSingly, doubly and circular linked lists in Python, traversal, insertion and deletion at the head, tail and middle, the costs compared with arrays, and the classic pointer techniques — reversal, the fast/slow (tortoise and hare) pointers for the middle and for cycle detection, merging sorted lists, and sentinel nodes.0/9 solved05Trees — Binary Trees, Traversals, BSTs and HeapsTree terminology, binary tree properties and counting results, array and linked representations, pre-, in-, post- and level-order traversals and reconstructing a tree from two traversals, binary search trees (search, insertion, deletion, balance), binary heaps and priority queues (sift-up, sift-down, build-heap in O(n), heapsort, Python's heapq), and expression trees.0/10 solved06Hash TablesHash functions and the division and multiplication methods, the load factor, collision resolution by separate chaining and by open addressing (linear probing, quadratic probing, double hashing), primary and secondary clustering, deletion with tombstones, expected probe counts, rehashing, Python's dict and set, and typical hashing patterns in algorithms.0/9 solved07Searching — Linear Search and Binary SearchLinear search and its comparison counts, binary search (iterative and recursive) with its invariant and exact worst-case comparison count, variants for first/last occurrence and insertion points, Python's bisect module, binary search on the answer, common off-by-one bugs, and when sorting first pays off.0/9 solved08Sorting — Selection, Bubble, Insertion, Merge Sort and QuicksortThe three elementary sorts with exact comparison and swap counts, inversions and adaptivity, stability and in-place sorting, merge sort (top-down, merging, recurrence, space), quicksort (Lomuto and Hoare partitions, pivot choice, best/average/worst case), the Ω(n log n) lower bound for comparison sorting, and a comparison table to answer "which sort?" questions.0/11 solved09Introduction to Graph TheoryGraphs and their vocabulary (directed, undirected, weighted, simple), degrees and the handshaking lemma, walks, paths, cycles and connectivity, special graphs (complete, bipartite, trees and forests, DAGs), adjacency matrix and adjacency list representations with their costs, counting walks with matrix powers, Euler and Hamiltonian paths, planarity and Euler's formula, and colouring.0/10 solved10Graph Traversals and Shortest PathsBreadth-first and depth-first search in Python with their orders, trees and running times, applications (connected components, cycle detection, bipartiteness, topological sorting), and shortest paths — BFS for unweighted graphs, Dijkstra's algorithm with a heap, Bellman–Ford for negative edges and negative-cycle detection, DAG shortest paths, and Floyd–Warshall for all pairs.0/10 solved