Learning/DSA
Personal study hub for Data Structures & Algorithms. Each topic page mixes concept notes, inline #card flashcards (Logseq spaced repetition), and exercises.
Conventions used in this namespace
- Flashcards: any block tagged
#cardis a flashcard. The block content is the question; nested child blocks are the answer. For cloze deletion use<span class="cloze" tabindex="0" role="button" aria-label="Click to reveal">answer</span>inline. - Linking: liberal use of
[[Learning/DSA/...]]wiki-links so the graph view shows prerequisites and relationships. - Exercises: each subtopic page has its own exercise list with
TODOmarkers; markDONEonce solved. - Whiteboard: hand-drawn algorithm traces live on dedicated Logseq whiteboards, referenced from the relevant subtopic.
Curriculum (current focus: Graphs)
- Graphs
- Basics — definitions, representations
- Traversals — BFS, DFS
- Connectivity — components, cycle detection, bipartite
- Topological-Sort — Kahn, DFS-based
- Shortest-Paths — Dijkstra, Bellman-Ford, Floyd-Warshall
- MST — Kruskal, Prim
- SCC — Kosaraju, Tarjan
- Exercises
Future topics (not yet started)
- Arrays & strings
- Linked lists
- Trees & heaps
- Hash tables
- Dynamic programming
- Greedy
- Backtracking
Review workflow
- Daily: open Logseq flashcard queue (
Cardsleft-panel item) to drill due cards. - Weekly: solve 3–5 exercises from the current topic.
- Per concept: re-derive the algorithm by hand or in code before checking notes.