সরাসরি মূল অংশে যান
ABCL TECH · সম্পূর্ণ ফ্রি কোর্স

ডেটা স্ট্রাকচার ও অ্যালগরিদম — Big-O থেকে গ্রাফ, ডাইনামিক প্রোগ্রামিং, NP-hardness আর কনটেস্টের সমস্যা পর্যন্ত

Data Structures & Algorithms — from Big-O to graphs, DP, NP-hardness and contest problems

A free 72-part data structures and algorithms course taught in Bangla across nine modules, with C++ and Python code and step-by-step diagrams. It runs from Big-O, recurrences and linear structures through sorting, trees, hashing, range queries and graph algorithms to greedy, DP, backtracking, strings, NP-completeness and approximation, absorbs design and analysis of algorithms, and ends with exam, interview and contest practice.

ম্যাপে সবচেয়ে ছোট পথ খোঁজা, সার্চ ইঞ্জিনের মুহূর্তে উত্তর দেওয়া, ডেটাবেসের লাখো রেকর্ড থেকে একটি খুঁজে আনা — প্রতিটির পেছনে আছে ঠিক ডেটা স্ট্রাকচার আর ঠিক অ্যালগরিদম। এই কোর্সে Big-O আর রিকার্শন থেকে শুরু করে array, tree, hash table, graph, dynamic programming হয়ে NP-complete সমস্যা পর্যন্ত যাবেন, প্রতিটি অ্যালগরিদম C++ আর Python-এ পাশাপাশি চালিয়ে দেখবেন। প্রোগ্রামিং কোর্স শেষ করে প্রথমবার DSA শিখতে আসা শিক্ষার্থী, CSE-র শিক্ষার্থী, চাকরি ও কোডিং ইন্টারভিউর প্রার্থী আর কনটেস্ট প্রোগ্রামার — সবার জন্যই কোর্সটি সহজ বাংলায়, ধাপে ধাপে সাজানো।

  • ৭২টি পর্ব
  • ৯টি মডিউল
  • শুরু থেকে উন্নত
  • C++ ও Python পাশাপাশি
  • সম্পূর্ণ ফ্রি

AI-এর যুগে কেন DSA শিখবেন?

Why data structures and algorithms still matter

AI এখন একটি sorting ফাংশন বা BFS কয়েক সেকেন্ডে লিখে দিতে পারে। কিন্তু কোন সমস্যায় কোন পদ্ধতি লাগবে, লেখা কোডটি বড় ইনপুটে সময়মতো শেষ হবে কি না, আর উত্তরটি আসলেই ঠিক কি না — এসব বিচার করার দক্ষতা আপনার নিজেরই থাকা দরকার।

দ্রুত আর দক্ষ কোড

একই কাজ এক পদ্ধতিতে মুহূর্তে শেষ হয়, অন্য পদ্ধতিতে ঘণ্টা লেগে যায়। Big-O আর ঠিক ডেটা স্ট্রাকচার বুঝলে কোড লেখার আগেই বলতে পারবেন সেটি কত বড় ইনপুট সামলাবে।

সমস্যা সমাধানের ভাবনা

Greedy, divide and conquer, dynamic programming, graph-এ রূপান্তর — এগুলো শুধু কৌশল নয়, অচেনা সমস্যা ভেঙে দেখার একেকটি উপায়। একবার রপ্ত হলে যেকোনো ভাষায় কাজে লাগে।

ইন্টারভিউ আর চাকরির পরীক্ষা

সফটওয়্যার কোম্পানির কোডিং ইন্টারভিউ আর অনলাইন অ্যাসেসমেন্টের বড় অংশই DSA-র ওপর, আর চাকরির লিখিত পরীক্ষায়ও ডেটা স্ট্রাকচার থেকে প্রশ্ন আসে।

বিশ্ববিদ্যালয় আর কনটেস্ট

CSE-র ডেটা স্ট্রাকচার আর অ্যালগরিদম ডিজাইন ও বিশ্লেষণের পরীক্ষা থেকে শুরু করে ICPC আর অনলাইন জাজের কনটেস্ট — সবখানে এই একই ভিত্তি লাগে।

কোর্সটি কাদের জন্য

  • প্রথমবার DSA শিখতে আসা শিক্ষার্থী — একটি প্রোগ্রামিং ভাষার ভিত্তি শেষ হয়েছে, এখন পরের ধাপে যেতে চান; Big-O আর রিকার্শন থেকে ধীরে ধীরে শুরু
  • CSE ও আইটির শিক্ষার্থী — বিশ্ববিদ্যালয়ের ডেটা স্ট্রাকচার আর অ্যালগরিদম ডিজাইন ও বিশ্লেষণের পুরো সিলেবাস, প্রমাণ আর জটিলতার বিশ্লেষণসহ
  • চাকরি ও কোডিং ইন্টারভিউর প্রার্থী — two pointer, sliding window, BFS, DP-র মতো প্যাটার্ন চিনে দ্রুত সমাধান করার অনুশীলন
  • কনটেস্ট প্রোগ্রামার — segment tree, lazy propagation, network flow, string অ্যালগরিদম, number theory আর ICPC-ধাঁচের সমস্যা সেট

এই কোর্সে যা আলাদা

  • C++ আর Python পাশাপাশি — প্রতিটি অ্যালগরিদম দুই ভাষাতেই, আর পাতাতেই কোড চালিয়ে ফলাফল দেখতে পারবেন; কিছু ইনস্টল করতে হয় না
  • ধাপে ধাপে ভিজ্যুয়াল ট্রেস — সর্টিং, tree rotation, BFS, Dijkstra বা DP টেবিল প্রতিটি ধাপে কীভাবে বদলায়, চোখের সামনে দেখুন
  • প্রমাণ আর বিশ্লেষণ — loop invariant, recurrence, master theorem, exchange argument, amortized analysis আর NP-completeness, বিশ্ববিদ্যালয়ের পরীক্ষার মতো করে
  • কনটেস্ট, ইন্টারভিউ আর সার্টিফিকেট — কনটেস্টের কৌশল, ইন্টারভিউর প্যাটার্ন, MCQ আর লিখিত-ভাইভা; লগইন করলে ড্যাশবোর্ডে মডিউল টেস্ট, ফাইনাল পরীক্ষা আর ফ্রি কোর্স-সমাপ্তির সার্টিফিকেট

প্রতিটি পর্ব যেভাবে সাজানো

How every lesson works

প্রতিটি পর্ব একই ছকে লেখা, তাই কোথায় কী পাবেন আগে থেকেই জানবেন। আগে ধারণা আর ছবি, তারপর হাতে চালানো ট্রেস, শেষে কোড আর বিশ্লেষণ।

  1. এক নজরেপুরো পর্বের মূল কথা কয়েক লাইনে, শুরুতেই।
  2. চেনা উদাহরণতাসের গোছা সাজানো, অভিধানে শব্দ খোঁজা, বাসের রুট — চেনা জিনিস দিয়ে কঠিন ধারণা।
  3. ধাপে ধাপে ট্রেস“পরে” চেপে চেপে দেখুন array, tree, graph আর DP টেবিল প্রতিটি ধাপে কীভাবে বদলায়।
  4. C++ ও Python কোডদুই ভাষার কোড পাশাপাশি, পাতাতেই চালিয়ে দেখুন; ইনপুট বদলে ফলাফল মিলিয়ে নিন।
  5. বিশ্লেষণ ও প্রমাণসময় ও জায়গার জটিলতা, কেন অ্যালগরিদমটি ঠিক উত্তর দেয়, আর কোথায় এটি কাজ করে না।
  6. যাচাই ও শব্দকোষভাবনার প্রশ্ন, কুইজ, পরীক্ষা ও ইন্টারভিউর নোট, AI-এর লেখা কোড যাচাইয়ের চেকলিস্ট আর প্রতিটি নতুন শব্দের সহজ মানে।

লগইন করা ঐচ্ছিক — না করেও সব পড়া যায়। লগইন করলে কোন পর্ব শেষ হলো তা সেভ থাকে, আর মডিউল টেস্ট, ফাইনাল পরীক্ষা ও সার্টিফিকেট খুলে যায়। নমুনা দেখতে চান? পর্ব ০১ · DSA কেন শিখবেন খুলে দেখুন।

শেখার পথ — ৯টি মডিউল

Your learning path

কোর্সটি সহজ থেকে কঠিনের দিকে এগোয়: প্রথমে বিশ্লেষণের ভাষা, তারপর মৌলিক ডেটা স্ট্রাকচার আর সর্টিং, এরপর tree, graph আর ডিজাইন কৌশল, শেষে তত্ত্ব আর প্রস্তুতি। প্রতিটি মডিউল আগেরটির ওপর দাঁড়িয়ে। যেকোনো মডিউলে চাপলে তার পর্বগুলো দেখাবে।

    শুরু · মডিউল ১–৩

    Big-O, রিকার্শন আর recurrence, তারপর array, linked list, stack, queue আর সার্চিং-সর্টিং। একটি প্রোগ্রামিং ভাষার ভিত্তি থাকলেই এখান থেকে শুরু করা যায়।

    মাঝারি · মডিউল ৪–৬

    BST, AVL, hash table আর union-find, রেঞ্জ কোয়েরির segment tree ও Fenwick tree, তারপর BFS, DFS, shortest path, MST আর network flow-এর মতো গ্রাফ অ্যালগরিদম।

    উন্নত · মডিউল ৭–৮

    Greedy, divide and conquer, dynamic programming, backtracking আর string অ্যালগরিদম, তারপর amortized ও randomized বিশ্লেষণ, P বনাম NP আর approximation — শেষে একটি ক্যাপস্টোন।

    প্রস্তুতি · মডিউল ৯

    হাতে চালিয়ে complexity বের করার অনুশীলন, MCQ প্রশ্নব্যাংক, লিখিত-ভাইভা, কোডিং ইন্টারভিউর সমস্যা আর ICPC-ধাঁচের কনটেস্ট সেট।

    আগে থেকে array, stack, queue আর সর্টিং জানেন? সরাসরি মডিউল ৪ · ট্রি, হ্যাশ ও DSU বা মডিউল ৬ · গ্রাফ অ্যালগরিদম দিয়ে শুরু করতে পারেন। বিশ্ববিদ্যালয়ের অ্যালগরিদম ডিজাইন ও বিশ্লেষণের প্রস্তুতি নিলে মডিউল ১, মডিউল ৭ আর মডিউল ৮ আপনার জন্য সবচেয়ে জরুরি।

    সম্পূর্ণ সিলেবাস

    Full syllabus

    যে পর্ব পড়া শেষ করেছেন, তার পাশে ✓ চিহ্ন দেখাবে। লগইন করলে এই অগ্রগতি আপনার সব ডিভাইসে থাকবে।

    শুরুর আগে ও শেষের পরে

    Before you start · After you finish

    আগে যা জানা থাকলেই চলবে

    • যেকোনো একটি প্রোগ্রামিং ভাষায় চলনসই দক্ষতা — variable, শর্ত, লুপ, ফাংশন আর array; না থাকলে আগে আমাদের C++, Python বা C কোর্সটি শেষ করে নিন
    • স্কুল পর্যায়ের গণিত — ভাগ, ঘাত আর সাধারণ বীজগণিত; log, যোগফল আর ধারা যা লাগবে, তা পর্ব ০৬-এ বুঝিয়ে দেওয়া হয়েছে
    • প্রমাণ বা গ্রাফের ধারণা আগে থেকে থাকলে সুবিধা হয়, তবে বাধ্যতামূলক নয় — চাইলে পাশাপাশি আমাদের ডিসক্রিট ম্যাথ কোর্সটি দেখে নিতে পারেন
    • একটি ল্যাপটপ বা ডেস্কটপ থাকলে ভালো — না থাকলেও পাতার কোড রানারে মোবাইল থেকেই উদাহরণ চালানো যাবে

    কোর্স শেষে যা পারবেন

    • যেকোনো অ্যালগরিদমের সময় ও জায়গার জটিলতা Big-O, recurrence আর master theorem দিয়ে বের করতে
    • সমস্যা দেখে ঠিক ডেটা স্ট্রাকচার বেছে নিতে — array, linked list, stack, queue, heap, hash table, tree, trie, DSU বা segment tree
    • BFS, DFS, Dijkstra, MST, topological sort আর network flow দিয়ে গ্রাফের সমস্যা সমাধান করতে
    • Greedy, divide and conquer, dynamic programming আর backtracking দিয়ে নতুন অ্যালগরিদম ডিজাইন করে তার শুদ্ধতা প্রমাণ করতে
    • NP-complete সমস্যা চিনতে, reduction বুঝতে আর approximation বা heuristic দিয়ে তার মোকাবিলা করতে
    • বিশ্ববিদ্যালয়ের পরীক্ষা, চাকরির লিখিত পরীক্ষা, কোডিং ইন্টারভিউ আর প্রোগ্রামিং কনটেস্টে আত্মবিশ্বাসী হতে
    • শর্ত পূরণ করলে একটি ফ্রি কোর্স-সমাপ্তির সার্টিফিকেট পেতে

    সাধারণ প্রশ্ন

    Frequently asked questions
    প্র ০১কোন ভাষায় শেখানো হয়েছে — C++ না Python?

    দুটোতেই। প্রতিটি অ্যালগরিদমের কোড C++ আর Python-এ পাশাপাশি দেওয়া আছে, আর পাতাতেই চালিয়ে দেখা যায়। যে ভাষা আপনি জানেন, সেটি ধরে পড়ুন; অন্যটি পাশে থাকায় দুই ভাষার পার্থক্যও চোখে পড়বে।

    কনটেস্টে গতি আর STL-এর জন্য বেশিরভাগ প্রোগ্রামার C++ ব্যবহার করেন; ইন্টারভিউ আর দ্রুত প্রোটোটাইপে Python বেশ সুবিধাজনক। দুই ভাষার তৈরি কালেকশন নিয়ে আলাদা করে আছে পর্ব ১৫ · C++ STL আর Python-এর কালেকশন।

    প্র ০২কোর্সটি কি সত্যিই পুরো ফ্রি?

    হ্যাঁ, ৭২টি পর্বের সবকিছু — পড়া, কোড রানার, ধাপে ধাপে ট্রেস, কুইজ, শব্দকোষ, পরীক্ষা আর সার্টিফিকেট — সম্পূর্ণ ফ্রি। কোনো লুকানো ফি নেই, পড়ার জন্য লগইনও বাধ্যতামূলক নয়। সাইটের খরচ চলে পাতার বিজ্ঞাপন থেকে।

    প্র ০৩অনেক গণিত জানতে হবে?

    শুরু করতে স্কুল পর্যায়ের গণিতই যথেষ্ট। জটিলতা বিশ্লেষণে যে log, যোগফল আর ধারা লাগে, তা পর্ব ০৬ · DSA-র গণিত-এ শূন্য থেকে বুঝিয়ে দেওয়া হয়েছে, আর প্রমাণের কৌশল আছে পর্ব ০৩-এ।

    উন্নত অংশে — number theory, computational geometry আর P বনাম NP — গণিত একটু বেশি, তবে সেখানেও যা লাগে তা পর্বেই ধাপে ধাপে দেখানো হয়েছে। ইন্টারভিউর জন্য পড়লে প্রমাণগুলো প্রথমবার হালকাভাবে পড়ে গেলেও চলবে।

    প্র ০৪এটি কি “অ্যালগরিদম ডিজাইন ও বিশ্লেষণ” কোর্সের সিলেবাসও কভার করে?

    হ্যাঁ। আগের আলাদা “Design & Analysis of Algorithms” কোর্সের বিষয়গুলো এখন এই কোর্সেরই অংশ: asymptotic notation, recurrence আর master theorem (মডিউল ১), divide and conquer, greedy, dynamic programming, backtracking আর branch and bound (মডিউল ৭), আর amortized analysis, randomized অ্যালগরিদম, NP-completeness ও approximation (মডিউল ৮)।

    লিখিত পরীক্ষার ধাঁচে প্রমাণসহ প্রশ্ন আছে পর্ব ৭০ · লিখিত ও মৌখিক (ভাইভা) প্রশ্ন-এ। তবে আপনার বিশ্ববিদ্যালয়ের নির্দিষ্ট সিলেবাসের সঙ্গে একবার মিলিয়ে নেওয়া ভালো।

    প্র ০৫ICPC বা কোডিং ইন্টারভিউর জন্য কি এই কোর্স যথেষ্ট?

    ভিত্তির জন্য যথেষ্ট — ইন্টারভিউ আর কনটেস্টে যে ডেটা স্ট্রাকচার আর কৌশল সবচেয়ে বেশি আসে, তার প্রায় সবই এখানে আছে, আর প্রস্তুতির জন্য আছে পর্ব ৭১ · কোডিং ইন্টারভিউর সমস্যা ও পর্ব ৭২ · কনটেস্টের অনুশীলন।

    তবে শুধু পড়ে কেউ কনটেস্টে ভালো করেন না। প্রতিটি মডিউলের পর অনলাইন জাজে নিয়মিত সমস্যা সমাধান করুন, সময় ধরে অনুশীলন করুন আর ভুল সমাধানগুলো আবার দেখুন — ICPC-র মতো প্রতিযোগিতায় এই নিয়মিত অনুশীলনই সবচেয়ে বড় পার্থক্য গড়ে।

    প্র ০৬লাইব্রেরিতে তো sort, map, heap তৈরিই আছে — নিজে বানানো শিখব কেন?

    বাস্তব কাজে লাইব্রেরিই ব্যবহার করবেন, আর কোর্সেও সেটি শেখানো হয়েছে। কিন্তু ভেতরে কীভাবে কাজ করে না জানলে বুঝবেন না কোনটি কখন ধীর হয়, কখন unordered map-এর চেয়ে ordered map ভালো, বা কোন সমস্যায় লাইব্রেরির কিছুই সরাসরি কাজে লাগে না। ইন্টারভিউ আর পরীক্ষায়ও ঠিক এই ভেতরের বোঝাপড়াই যাচাই করা হয়।

    প্র ০৭পরীক্ষা দেওয়া আর সার্টিফিকেট পাওয়া যাবে?

    হ্যাঁ। লগইন করলে ড্যাশবোর্ডে প্রতিটি মডিউলের টেস্ট আর একটি ফাইনাল পরীক্ষা পাবেন। মডিউল ১ থেকে ৮-এর সব পর্ব পড়া শেষ করে ফাইনালে ৬০% বা তার বেশি পেলে একটি ফ্রি কোর্স-সমাপ্তির সার্টিফিকেট পাবেন। লগইন না করলেও সব পড়া যায়, তবে তখন অগ্রগতি সেভ হয় না।

    মনে রাখবেন, এটি আপনার শেখার স্বীকৃতি — কোনো একাডেমিক ডিগ্রি বা সরকারি সনদ নয়।

    প্র ০৮পুরো কোর্স শেষ করতে কত সময় লাগবে?

    প্রতিটি পর্ব মনোযোগ দিয়ে পড়তে, ট্রেস অনুসরণ করতে, কোড চালিয়ে দেখতে আর কুইজ দিতে মোটামুটি এক ঘণ্টা লাগে; graph, DP আর তত্ত্বের পর্বগুলোতে আরেকটু বেশি। প্রতিদিন একটি পর্ব পড়লে আড়াই মাসের মতো লাগবে। তবে নিজের গতিতে এগোন — প্রতিটি পর্বের পর কয়েকটি সমস্যা নিজে সমাধান করা তাড়াহুড়ার চেয়ে অনেক বেশি জরুরি।

    আজই প্রথম পর্ব দিয়ে শুরু করুন

    প্রতিদিন একটি পর্ব — Big-O-এর প্রথম হিসাব থেকে ধীরে ধীরে আপনি graph, dynamic programming আর কনটেস্টের কঠিন সমস্যা পর্যন্ত পৌঁছে যাবেন।