siddhant

Knowledge / Computer Science

Algorithms and Data Structures

The design, analysis, representation, and optimization of computational procedures.

By Siddhant Krishna · Published 2026-10-06 · Updated 2026-10-06

01

Data Structures

  • Arrays provide contiguous indexed storage.
  • Linked structures provide flexible relationships between elements.
  • Stacks and queues encode restricted access patterns.
  • Hash tables provide expected constant-time lookup under suitable assumptions.
  • Trees represent hierarchical or ordered structures.
  • Graphs represent arbitrary relationships among entities.

02

Algorithmic Design

  • Divide and conquer breaks a problem into independently solvable subproblems.
  • Dynamic programming exploits overlapping subproblems and optimal substructure.
  • Greedy algorithms make locally optimal choices under conditions that permit global optimality.
  • Graph algorithms operate on connectivity, paths, flows, and relationships.
  • Randomized algorithms deliberately use randomness in computation.

03

Complexity

T(n) = O(f(n))

Asymptotic analysis describes how resource requirements grow as input size increases. Common measures include time complexity, space complexity, communication complexity, and query complexity.

References

  1. MIT OpenCourseWare, algorithms, data structures, computational modeling, and complexity.
    https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/
  2. ACM, IEEE Computer Society, and AAAI, CS2023 Final Report.
    https://csed.acm.org/

Related

Contact

Get in Touch

Want to chat? Just shoot me a dm with a direct question on twitter and I'll respond whenever I can. I will ignore all soliciting.