// पाठ्यक्रम · 12 पाठ · अंगूठे के लिए बना
[data structures]
नंबर वाले लॉकरों की एक पंक्ति से लेकर स्वयं-संतुलित वृक्षों तक। हर पाठ एक इंटरैक्टिव डेमो से शुरू होता है जिसे आप छू सकते हैं — push, pop, walk, hash, rotate — और विवरण डेमो के नीचे रहता है, सामने नहीं।
रिफ्रेशर
पाठ
- #01
ऐरे (Arrays)
लगातार (contiguous) मेमोरी — एक CPU साइकल में इंडेक्स तक पहुँच
- read
- O(1)
- write
- O(n)
- layout
- contiguous
- #02
लिंक्ड लिस्ट (Linked Lists)
मेमोरी में बिखरे नोड, पॉइंटरों से सिले हुए
- read
- O(n)
- write
- O(1)*
- layout
- scattered
- #03
स्टैक (Stacks)
LIFO — सबसे नया अंदर, सबसे नया बाहर
- read
- O(1)
- write
- O(1)
- layout
- LIFO
- #04
क़तार (Queues)
FIFO — हर बार न्यायसंगत क्रम
- read
- O(1)
- write
- O(1)
- layout
- FIFO
- #05
बाइनरी पेड़ (Binary Trees)
एक नोड, दो संतान — हर रिकर्सिव डेटा स्ट्रक्चर
- read
- O(n)
- write
- O(1)
- layout
- hierarchy
- #06
बाइनरी सर्च पेड़ (Binary Search Trees)
क्रम अंदर, log-समय बाहर
- read
- O(log n)
- write
- O(log n)
- layout
- ordered
- #07
हीप और प्राथमिकता क़तारें (Heaps & Priority Queues)
ऐरे-आधारित, log-समय में न्यूनतम — प्राथमिकता क़तारों का इंजन
- read
- O(1)
- write
- O(1)
- layout
- FIFO
- #08
हैश टेबल (Hash Tables)
djb2 हैश → bucket इंडेक्स → औसतन O(1)
- read
- O(1)*
- write
- O(1)*
- layout
- bucketed
- #09
ग्राफ़ (Graphs)
शीर्ष (vertices) और किनारे (edges) — सार्वभौमिक अमूर्तन
- read
- O(V+E)
- write
- varies
- layout
- edges
- #10
संतुलित पेड़ (Balanced Trees)
घुमाव (rotations) ऊँचाई को ≈ log n रखते हैं, चाहे insert क्रम कुछ भी हो
- read
- O(log n)
- write
- O(log n)
- layout
- self-rotating
- #11
डायनामिक प्रोग्रामिंग (Dynamic Programming)
समय के बदले मेमोरी — एक बार हल करो, हमेशा के लिए याद रखो
- read
- O(1)*
- write
- tabulate
- layout
- O(n·m)