Core Course · প্রমাণ-ভিত্তিক অ্যালগরিদম অ্যানালাইসিস

Design and Analysis of AlgorithmsAsymptotic analysis, recurrences, greedy/DP correctness proofs, graph algorithms, NP-completeness & approximation

"অ্যালগরিদমটা তো কাজ করছে" — এটা যথেষ্ট নয়। একজন প্রকৃত অ্যালগরিদম ডিজাইনার জানেন কেন এটি সঠিক (একটি লুপ ইনভেরিয়েন্ট বা এক্সচেঞ্জ আর্গুমেন্ট দিয়ে প্রমাণ করে), এবং ঠিক কতটা দ্রুত বা ধীর (রিকারেন্স সমাধান করে, মাস্টার থিওরেম প্রয়োগ করে)। এই কোর্স ধরে নেয় আপনি ইতিমধ্যে মৌলিক অ্যালগরিদমগুলোর সাথে পরিচিত (আমাদের DSA কোর্স বা অন্য কোথাও থেকে) — এবং সরাসরি গভীরে যায়: রিগোরাস সঠিকতা প্রমাণ, সম্পূর্ণ ধাপে-ধাপে অ্যাসিম্পটোটিক ডেরিভেশন, অ্যামর্টাইজড অ্যানালাইসিস, এবং ইনট্র্যাক্টেবিলিটির (NP-কমপ্লিটনেস) মুখোমুখি হলে কী করবেন — অ্যাপ্রক্সিমেশন ও র‍্যান্ডোমাইজড অ্যালগরিদম। প্রতিটি কোড সেল সত্যিকারের, চলমান Python — শুধু তত্ত্ব নয়, বাস্তব যাচাই।

৫৭টি পাঠ ~৯ সপ্তাহে শেষ মধ্যম থেকে উচ্চ Python কোডসহ ফ্রি
পাঠ ০১ থেকে শুরু করুন

এই ট্র্যাকে যা শিখবেন What you'll learn

অ্যাসিম্পটোটিক অ্যানালাইসিস — Big-O, Big-Omega, Big-Theta, টাইট বাউন্ড ও কেস অ্যানালাইসিস
রিকারেন্স রিলেশন সমাধান — সাবস্টিটিউশন, রিকার্সন ট্রি ও মাস্টার থিওরেম
ডিভাইড অ্যান্ড কনকার — মার্জ সর্ট, কুইক সর্ট, স্ট্রাসেনের গুণন, মিডিয়ান ফাইন্ডিং
গ্রিডি অ্যালগরিদম — এক্সচেঞ্জ আর্গুমেন্ট দিয়ে সঠিকতা প্রমাণসহ
ডাইনামিক প্রোগ্রামিং — অপটিমাল সাবস্ট্রাকচার, ক্লাসিক DP সমস্যা
গ্রাফ অ্যালগরিদম — শর্টেস্ট পাথ, MST, SCC, ম্যাক্স ফ্লো (সঠিকতা প্রমাণসহ)
ব্যাকট্র্যাকিং ও ব্রাঞ্চ-অ্যান্ড-বাউন্ড — N-Queens, TSP
স্ট্রিং অ্যালগরিদম — Rabin-Karp, KMP, Z-অ্যালগরিদম
অ্যামর্টাইজড অ্যানালাইসিস — অ্যাগ্রিগেট, অ্যাকাউন্টিং ও পটেনশিয়াল মেথড
NP-কমপ্লিটনেস ও ইনট্র্যাক্টেবিলিটির ব্যবহারিক প্রভাব
অ্যাপ্রক্সিমেশন অ্যালগরিদম (প্রমাণিত রেশিওসহ) ও র‍্যান্ডোমাইজড অ্যালগরিদম
একটি চূড়ান্ত ক্যাপস্টোন — একাধিক অ্যালগরিদমিক অ্যাপ্রোচ ডিজাইন, অ্যানালাইসিস ও তুলনা

৫৭টি পাঠ Lesson list

১৩টি মডিউলে ভাগ — ফাউন্ডেশন, অ্যাসিম্পটোটিক অ্যানালাইসিস, রিকারেন্স রিলেশন, ডিভাইড অ্যান্ড কনকার, গ্রিডি অ্যালগরিদম, ডাইনামিক প্রোগ্রামিং, গ্রাফ অ্যালগরিদম, ব্যাকট্র্যাকিং ও ব্রাঞ্চ-অ্যান্ড-বাউন্ড, স্ট্রিং অ্যালগরিদম, অ্যামর্টাইজড অ্যানালাইসিস, NP-কমপ্লিটনেস ও ইনট্র্যাক্টেবিলিটি, অ্যাপ্রক্সিমেশন ও র‍্যান্ডোমাইজড অ্যালগরিদম, এবং কেস স্টাডি ও ক্যাপস্টোন।

M1ফাউন্ডেশনFoundations
L01
অ্যালগরিদম কী এবং কেন ডিজাইন ও অ্যানালাইসিস গুরুত্বপূর্ণ
What is an algorithm & why design and analysis matters
৮মি
পড়ুন
L02
সিউডোকোড কনভেনশন ও অ্যালগরিদম লেখা
Pseudocode conventions & writing algorithms
৭মি
পড়ুন
L03
সঠিকতা প্রমাণ — লুপ ইনভেরিয়েন্ট ও ইনডাকশন
Proving correctness — loop invariants & induction
৯মি
পড়ুন
L04
RAM মডেল অফ কম্পিউটেশন
The RAM model of computation
৭মি
পড়ুন
M2অ্যাসিম্পটোটিক অ্যানালাইসিসAsymptotic Analysis
L05
ফাংশনের গ্রোথ রেট
Growth of functions
৭মি
পড়ুন
L06
Big-O, Big-Omega ও Big-Theta
Big-O, Big-Omega & Big-Theta
৮মি
পড়ুন
L07
little-o, little-omega ও টাইট বাউন্ড
little-o, little-omega & tight bounds
৭মি
পড়ুন
L08
বেস্ট, ওয়ার্স্ট ও অ্যাভারেজ কেস অ্যানালাইসিস
Best, worst & average case analysis
৮মি
পড়ুন
L09
স্পেস কমপ্লেক্সিটি অ্যানালাইসিস
Space complexity analysis
৭মি
পড়ুন
M3রিকারেন্স রিলেশনRecurrence Relations
L10
রিকারেন্স রিলেশন ও রিকার্সিভ অ্যালগরিদম
Recurrence relations & recursive algorithms
৮মি
পড়ুন
L11
সাবস্টিটিউশন মেথড
The substitution method
৮মি
পড়ুন
L12
রিকার্সন ট্রি মেথড
The recursion tree method
৮মি
পড়ুন
L13
মাস্টার থিওরেম
The master theorem
৯মি
পড়ুন
M4ডিভাইড অ্যান্ড কনকারDivide and Conquer
L14
ডিভাইড অ্যান্ড কনকার প্যারাডাইম
The divide-and-conquer paradigm
৭মি
পড়ুন
L15
মার্জ সর্ট ও এর অ্যানালাইসিস
Merge sort & its analysis
৮মি
পড়ুন
L16
কুইক সর্ট ও পিভট সিলেকশন
Quick sort & pivot selection
৮মি
পড়ুন
L17
বাইনারি সার্চ ও এর ভ্যারিয়েন্ট
Binary search & its variants
৭মি
পড়ুন
L18
স্ট্রাসেনের গুণন ও মিডিয়ান ফাইন্ডিং অ্যালগরিদম
Strassen's multiplication & the median-finding algorithm
৯মি
পড়ুন
M5গ্রিডি অ্যালগরিদমGreedy Algorithms
L19
গ্রিডি প্যারাডাইম ও এক্সচেঞ্জ আর্গুমেন্ট
The greedy paradigm & the exchange argument
৮মি
পড়ুন
L20
অ্যাক্টিভিটি সিলেকশন প্রবলেম
The activity selection problem
৮মি
পড়ুন
L21
হাফম্যান কোডিং
Huffman coding
৮মি
পড়ুন
L22
ফ্র্যাকশনাল ন্যাপস্যাক
Fractional knapsack
৭মি
পড়ুন
L23
মিনিমাম স্প্যানিং ট্রি — ক্রুসকাল ও প্রিম, প্রমাণসহ
Minimum spanning trees — Kruskal & Prim, with proofs
৯মি
পড়ুন
M6ডাইনামিক প্রোগ্রামিংDynamic Programming
L24
DP প্যারাডাইম — মেমোয়াইজেশন বনাম ট্যাবুলেশন
The DP paradigm — memoization vs tabulation
৮মি
পড়ুন
L25
0/1 ন্যাপস্যাক প্রবলেম
The 0/1 knapsack problem
৮মি
পড়ুন
L26
লংগেস্ট কমন সাবসিকোয়েন্স
Longest common subsequence
৮মি
পড়ুন
L27
লংগেস্ট ইনক্রিজিং সাবসিকোয়েন্স
Longest increasing subsequence
৭মি
পড়ুন
L28
ম্যাট্রিক্স চেইন মাল্টিপ্লিকেশন
Matrix chain multiplication
৮মি
পড়ুন
L29
এডিট ডিস্ট্যান্স ও অপটিমাল সাবস্ট্রাকচার
Edit distance & optimal substructure
৮মি
পড়ুন
M7গ্রাফ অ্যালগরিদমGraph Algorithms
L30
BFS/DFS কমপ্লেক্সিটি ও সঠিকতা
BFS/DFS complexity & correctness
৭মি
পড়ুন
L31
টপোলজিক্যাল সর্ট
Topological sort
৭মি
পড়ুন
L32
স্ট্রংলি কানেক্টেড কম্পোনেন্ট — টার্জান ও কোসারাজু
Strongly connected components — Tarjan & Kosaraju
৯মি
পড়ুন
L33
ডাইজকস্ট্রা ও বেলম্যান-ফোর্ড শর্টেস্ট পাথ
Dijkstra's & Bellman-Ford shortest paths
৯মি
পড়ুন
L34
ফ্লয়েড-ওয়ারশাল অল-পেয়ার্স শর্টেস্ট পাথ
Floyd-Warshall all-pairs shortest paths
৮মি
পড়ুন
L35
ম্যাক্স ফ্লো — ফোর্ড-ফুলকারসন ও ম্যাক্স-ফ্লো মিন-কাট
Max flow — Ford-Fulkerson & max-flow min-cut
৯মি
পড়ুন
M8ব্যাকট্র্যাকিং ও ব্রাঞ্চ-অ্যান্ড-বাউন্ডBacktracking & Branch-and-Bound
L36
ব্যাকট্র্যাকিং প্যারাডাইম ও N-Queens
The backtracking paradigm & N-Queens
৮মি
পড়ুন
L37
সাবসেট সাম ও হ্যামিল্টোনিয়ান সাইকেল ব্যাকট্র্যাকিং
Subset sum & Hamiltonian cycle backtracking
৮মি
পড়ুন
L38
ব্রাঞ্চ-অ্যান্ড-বাউন্ড প্যারাডাইম
The branch-and-bound paradigm
৭মি
পড়ুন
L39
ট্র্যাভেলিং সেলসম্যান — ব্রাঞ্চ-অ্যান্ড-বাউন্ড
Traveling salesman — branch and bound
৮মি
পড়ুন
M9স্ট্রিং অ্যালগরিদমString Algorithms
L40
নেইভ স্ট্রিং ম্যাচিং ও রবিন-কার্প
Naive string matching & Rabin-Karp
৮মি
পড়ুন
L41
KMP অ্যালগরিদম
The KMP algorithm
৯মি
পড়ুন
L42
Z-অ্যালগরিদম
The Z-algorithm
৮মি
পড়ুন
M10অ্যামর্টাইজড অ্যানালাইসিসAmortized Analysis
L43
অ্যামর্টাইজড অ্যানালাইসিস — অ্যাগ্রিগেট মেথড
Amortized analysis — the aggregate method
৮মি
পড়ুন
L44
অ্যাকাউন্টিং মেথড
The accounting method
৭মি
পড়ুন
L45
পটেনশিয়াল মেথড
The potential method
৮মি
পড়ুন
L46
ডাইনামিক অ্যারে ও পাথ-কম্প্রেশনসহ ইউনিয়ন-ফাইন্ড
Dynamic arrays & union-find with path compression
৯মি
পড়ুন
M11NP-কমপ্লিটনেস ও ইনট্র্যাক্টেবিলিটিNP-Completeness & Intractability
L47
P বনাম NP ও অ্যালগরিদম ডিজাইনে এর প্রভাব
P vs NP & what it means for algorithm design
৮মি
পড়ুন
L48
NP-হার্ড সমস্যা চেনা — একটি প্র্যাকটিক্যাল টুলকিট
Recognizing NP-hard problems — a practical toolkit
৭মি
পড়ুন
L49
NP-হার্ডনেসের মুখোমুখি — এক্স্যাক্ট, অ্যাপ্রক্সিমেট নাকি হিউরিস্টিক
Responding to NP-hardness — exact, approximate, or heuristic
৭মি
পড়ুন
M12অ্যাপ্রক্সিমেশন ও র‍্যান্ডোমাইজড অ্যালগরিদমApproximation & Randomized Algorithms
L50
অ্যাপ্রক্সিমেশন অ্যালগরিদম ও অ্যাপ্রক্সিমেশন রেশিও
Approximation algorithms & approximation ratio
৮মি
পড়ুন
L51
ভার্টেক্স কভার ও সেট কভার অ্যাপ্রক্সিমেশন
Vertex cover & set cover approximation
৮মি
পড়ুন
L52
মেট্রিক TSP অ্যাপ্রক্সিমেশন
Metric TSP approximation
৮মি
পড়ুন
L53
র‍্যান্ডোমাইজড অ্যালগরিদম — লাস ভেগাস বনাম মন্টি কার্লো
Randomized algorithms — Las Vegas vs Monte Carlo
৭মি
পড়ুন
L54
র‍্যান্ডোমাইজড কুইকসর্ট ও এক্সপেক্টেড টাইম অ্যানালাইসিস
Randomized quicksort & expected time analysis
৮মি
পড়ুন
M13কেস স্টাডি ও ক্যাপস্টোনCase Studies & Capstone
L55
কেস স্টাডি — সঠিক অ্যালগরিদমিক প্যারাডাইম বেছে নেওয়া
Case study — choosing the right algorithmic paradigm
৮মি
পড়ুন
L56
অ্যালগরিদম অ্যানালাইসিসের সাধারণ ভুল
Common pitfalls in algorithm analysis
৭মি
পড়ুন
L57
ক্যাপস্টোন — অ্যালগরিদম ডিজাইন, অ্যানালাইসিস ও তুলনা
Capstone — designing, analyzing & comparing algorithms
১৮মি
পড়ুন