NN — Topic Name¶
উপরের H1-এ folder-এর number আর data structure-এর নাম বসাও, যেমন:
# 03 — Linked List। তারপর এই হিন্ট লাইনটা মুছে দাও।
What is this data structure¶
এক-দুই লাইনে সহজ বাংলায় বলো এটা কী আর কেমন দেখতে — সাথে একটা ছোট mental picture দাও (যেমন: linked list = একটার পর একটা গাঁথা train-এর বগি)।
Why it exists¶
এই data structure কোন সমস্যা বা কষ্ট দূর করার জন্য এসেছে? আগের structure-এ কী অসুবিধা ছিল, এক-দুই লাইনে লেখো।
Where it is used¶
বাস্তব software-এ কোথায় ব্যবহার হয় কয়েকটা উদাহরণ bullet করে দাও (যেমন: browser-এর back button = stack, OS-এর task scheduling = queue)।
Prerequisites¶
এটা শেখার আগে কোন জিনিস গুলো জানা থাকা দরকার bullet করে লেখো (যেমন: pointer/reference, basic loop, function)।
What to revise before learning¶
ঠিক আগে কোন concept বা কোন আগের folder একবার ঝালিয়ে নেওয়া ভালো, সেটা link সহ এক-দুই লাইনে লেখো।
Learning goals¶
শেখা শেষে কী কী পারতে হবে — checklist আকারে লেখো। যেমন:
- [ ] এক বাক্যে বলতে পারবে এই structure-এ insert / search / delete-এর complexity কত
- [ ] কাগজে এর memory layout আঁকতে পারবে
- [ ] কোনো hint ছাড়া একটা core pattern-এর problem solve করতে পারবে
Problem categories¶
এই topic-এর সাধারণ problem-এর ধরন গুলো table-এ সাজাও:
| Category | Typical question shape |
|---|---|
| category-র নাম (যেমন: two pointers) | এই ধরনের প্রশ্ন সাধারণত কেমন দেখতে হয় |
Practice list¶
Easy থেকে Hard ক্রমে practice problem সাজাও। প্রতিটা problem-এর সাথে তার pattern আর official source link ট্যাগ করো। Problem-এর বর্ণনা নিজের ভাষায় এক লাইনে লেখো — statement copy কোরো না।
Easy¶
| Problem | Source | Pattern |
|---|---|---|
| Problem-এর নাম, নিজের ভাষায় এক লাইনে কী চায় | Platform + number এবং যাচাই করা official URL বসান | pattern-এর নাম |
Medium¶
| Problem | Source | Pattern |
|---|---|---|
| একই format-এ medium problem গুলো এখানে যোগ করো | Platform + number এবং যাচাই করা official URL বসান | pattern-এর নাম |
Hard¶
| Problem | Source | Pattern |
|---|---|---|
| একই format-এ hard problem গুলো এখানে যোগ করো | Platform + number এবং যাচাই করা official URL বসান | pattern-এর নাম |
Visualization ideas¶
এই structure বোঝার জন্য কী কী ছবি আঁকা বা animation দেখা যায় bullet করে লেখো (নিজের ASCII diagram, VisuAlgo-র মতো site-এর link ইত্যাদি)।
Common mistakes¶
এই topic শেখার সময় বা coding-এ যেসব ভুল প্রায়ই হয় bullet করে লেখো (যেমন: null/empty case ভুলে যাওয়া, off-by-one)।
Connection to interview problems¶
বড় tech company-র interview-তে এই topic কীভাবে আসে এক-দুই লাইনে বুঝিয়ে বলো। মনে রেখো: "asked by Google/Amazon" নয় — "Google-style pattern" / "common interview pattern" লেখো।
Connection to competitive programming¶
CP-তে (Codeforces, CSES ইত্যাদি) এই structure কোথায় কাজে লাগে এক-দুই লাইনে লেখো।
Recommended order¶
এই folder-এর file গুলো কোন ক্রমে পড়লে সবচেয়ে ভালো বোঝা যাবে — numbered list-এ সাজাও। যেমন:
concept.md— analogy, memory picture, complexityvisual-explanation.md— operation গুলো frame by frameproblems/— easy থেকে hard পর্যন্ত practice
Source map¶
এই folder-এর প্রতিটা idea আর link কোথা থেকে এসেছে তার হিসাব
source-map.md-তে থাকে। নতুন অধ্যায়ে সেই file তৈরি করে link দিন; উৎস লেখার ছাঁচ অনুসরণ করুন।
মনে রাখার নিয়ম (legal): সব নিজের ভাষায় লেখো; problem statement copy কোরো না; official link শুধু attribution-এর জন্য রাখো; "asked by Google/Amazon" এমন দাবি কোরো না — বরং "Google-style pattern" / "common interview pattern" লেখো।