Kompyuter fanlari
Algoritmlar va ma'lumotlar tuzilmalari
12 haftalik jonli kurs — algoritmlarni tizimli o'rganamiz
Mentor: Javokhir Akramjonov
Algoritmlar va ma'lumotlar tuzilmalarini 12 hafta davomida jonli darslarda birga o'rganamiz.
Kurs qanday o'tadi?
Yozib qo'yilgan video kurs emas. Har hafta ikki marta jonli dars: real vaqtda masala yechamiz, savollaringizga javob beraman, har bir dars yozib olinadi. Har hafta 15 ta uyga vazifa va uni kuzatib boradigan tracker bo'ladi — natija aynan shu qismdan keladi. Darslarni Java va Python'da olib boraman, masalalarni esa o'zingizga qulay tilda yechasiz.
Nimalarni o'rganamiz?
Big-O va amortizatsiya tahlilidan boshlab: two pointers va sliding window, hashing va heap, saralash va binary search, stack, queue va linked list, rekursiya va daraxtlar, greedy algoritmlar, graflar va eng qisqa yo'l algoritmlari, backtracking, dynamic programming — asosiydan murakkabigacha, va nihoyat tries hamda satr algoritmlari. Har bir mavzu oldingisiga tayanib boradi.
Bu kurs — mening shaxsiy loyiham va hech qanday kompaniya bilan bog'liq emas.
Kim uchun
Guruhdagilarning ko'pchiligi allaqachon dasturchi bo'lib ishlaydi — shuning uchun dasturlash asoslaridan emas, murakkabroq masalalardan boshlaymiz. Istalgan tilda erkin kod yoza olsangiz yetarli: algoritmlarning o'zini noldan, tizimli ravishda ko'rib chiqamiz.
Kurs dasturi
1 Masalaga yondashuv va Big-O 5 mavzu · 15 masala
Kod yozishdan oldin o'ylash — eng tez optimizatsiya.
- Masalani tahlil qilish va savol berish
- Brute force'dan optimal yechimga
- Big-O: vaqt va xotira murakkabligi
- Constraints — masaladagi yashirin ishora
- Amortizatsiya tahlili: dynamic array misolida
Uyga vazifa — 15 ta masala
- Two Sum
- Contains Duplicate
- Best Time to Buy and Sell Stock
- Implement Queue using Stacks
- Find Pivot Index
- Plus One
- Move Zeroes
- Remove Duplicates from Sorted Array
- Majority Element
- Single Number
- Missing Number
- Squares of a Sorted Array
- Intersection of Two Arrays II
- Rotate Array
- Product of Array Except Self
2 Two Pointers va Sliding Window 4 mavzu · 15 masala
Ikkita sikl o'rniga bitta. Vaqt ham, asab ham tejaladi.
- Two Pointers: qarama-qarshi va fast-slow
- Sliding Window: fixed va variable
- Prefix Sum va Difference Array
- Kadane: maksimal subarray
Uyga vazifa — 15 ta masala
- Valid Palindrome
- Maximum Average Subarray I
- Range Sum Query - Immutable
- Two Sum II - Input Array Is Sorted
- 3Sum
- Container With Most Water
- Corporate Flight Bookings
- Longest Substring Without Repeating Characters
- Minimum Size Subarray Sum
- Permutation in String
- Longest Repeating Character Replacement
- Subarray Sum Equals K
- Maximum Subarray
- Maximum Product Subarray
- Trapping Rain Water
3 Hashing va Heap 5 mavzu · 15 masala
«Shu yerda HashMap bor edi-ku!» demaslik uchun.
- HashMap va HashSet: ichkarida nima bor
- Frequency counting va anagram masalalari
- Two Sum va uning qarindoshlari
- Heap / Priority Queue: Top-K
- Kolliziyalar: chaining va open addressing
Uyga vazifa — 15 ta masala
- Valid Anagram
- First Unique Character in a String
- Ransom Note
- Isomorphic Strings
- Word Pattern
- Last Stone Weight
- Design HashMap
- Group Anagrams
- Top K Frequent Elements
- Kth Largest Element in an Array
- Longest Consecutive Sequence
- Find All Anagrams in a String
- K Closest Points to Origin
- Task Scheduler
- Sort Characters By Frequency
4 Sorting, Intervals va Binary Search 4 mavzu · 15 masala
Sortlab qo'ysangiz, masalaning yarmi o'zi yechiladi.
- Merge/Quick Sort va custom comparator
- Intervallar: merge, insert, kesishish
- Binary Search: lower va upper bound
- Javob bo'yicha Binary Search
Uyga vazifa — 15 ta masala
- Binary Search
- Search Insert Position
- First Bad Version
- Interval List Intersections
- Merge Intervals
- Insert Interval
- Non-overlapping Intervals
- Car Pooling
- Find First and Last Position of Element in Sorted Array
- Search in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Koko Eating Bananas
- Capacity To Ship Packages Within D Days
- Largest Number
- Median of Two Sorted Arrays
5 Stack, Queue va Linked List 4 mavzu · 15 masala
Ko'rinishi oddiy — lekin aynan shu yerda ko'p xato qilinadi.
- Stack: qavslar va Monotonic Stack
- Queue va Deque: Sliding Window Max
- Linked List: reverse, merge, o'rta nuqta
- Floyd: toshbaqa va quyon algoritmi
Uyga vazifa — 15 ta masala
- Valid Parentheses
- Next Greater Element I
- Number of Recent Calls
- Reverse Linked List
- Merge Two Sorted Lists
- Middle of the Linked List
- Linked List Cycle
- Min Stack
- Evaluate Reverse Polish Notation
- Daily Temperatures
- Linked List Cycle II
- Remove Nth Node From End of List
- Reorder List
- Largest Rectangle in Histogram
- Sliding Window Maximum
6 Rekursiya va Daraxtlar 5 mavzu · 15 masala
Rekursiyani tushunsangiz, daraxtlar o'zi yechiladi.
- Rekursiya va recursion tree
- Binary Tree va BST amallari
- Traversal: pre/in/post va level order
- Diameter, path sum va LCA
- Balanced BST: AVL va Red-Black g'oyasi
Uyga vazifa — 15 ta masala
- Maximum Depth of Binary Tree
- Invert Binary Tree
- Symmetric Tree
- Binary Tree Inorder Traversal
- Diameter of Binary Tree
- Path Sum
- Balanced Binary Tree
- Convert Sorted Array to Binary Search Tree
- Balance a Binary Search Tree
- Binary Tree Level Order Traversal
- Path Sum II
- Lowest Common Ancestor of a Binary Search Tree
- Lowest Common Ancestor of a Binary Tree
- Validate Binary Search Tree
- Kth Smallest Element in a BST
7 Greedy algoritmlar 4 mavzu · 15 masala
Har qadamda eng yaxshisini tanlash — qachon ishlaydi, qachon aldaydi.
- Greedy yondashuv: qachon ishlaydi
- Interval scheduling va activity selection
- Huffman kodlash
- Exchange argument: greedy to'g'riligini isbotlash
Uyga vazifa — 15 ta masala
- Assign Cookies
- Lemonade Change
- Maximum Units on a Truck
- Jump Game
- Jump Game II
- Gas Station
- Partition Labels
- Minimum Number of Arrows to Burst Balloons
- Queue Reconstruction by Height
- Boats to Save People
- Best Time to Buy and Sell Stock II
- Reduce Array Size to The Half
- Furthest Building You Can Reach
- Split Array into Consecutive Subsequences
- Candy
8 Graflar: asoslar 4 mavzu · 15 masala
Xarita ham, do'stlar ro'yxati ham, kurs jadvali ham — graf.
- Graf tasvirlash: adjacency list
- BFS va DFS: qachon qaysi biri
- Grid masalalari: Islands va Flood Fill
- Topological Sort va Union-Find
Uyga vazifa — 15 ta masala
9 Graflar: eng qisqa yo'l va MST 4 mavzu · 15 masala
Grafda shunchaki yurish emas — eng arzon yo'lni topish.
- Dijkstra: heap bilan eng qisqa yo'l
- Bellman-Ford va manfiy og'irliklar
- Floyd-Warshall: barcha juftliklar orasida
- MST: Kruskal va Prim
Uyga vazifa — 15 ta masala
- Find if Path Exists in Graph
- Network Delay Time
- Cheapest Flights Within K Stops
- Path With Minimum Effort
- Find the City With the Smallest Number of Neighbors at a Threshold Distance
- Min Cost to Connect All Points
- Nearest Exit from Entrance in Maze
- Shortest Path in Binary Matrix
- Shortest Path with Alternating Colors
- Number of Restricted Paths From First to Last Node
- Number of Ways to Arrive at Destination
- As Far from Land as Possible
- Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree
- Swim in Rising Water
- Minimum Cost to Make at Least One Valid Path in a Grid
10 Backtracking va DP asoslari 4 mavzu · 15 masala
Nomidan qo'rqmang: DP — bu eslab qolingan rekursiya.
- Backtracking: subsets va permutations
- N-Queens va Word Search
- Memoizatsiya → tabulatsiya
- 1D va 2D DP: house robber, unique paths
Uyga vazifa — 15 ta masala
11 Murakkab DP 6 mavzu · 15 masala
DP asoslarini o'zlashtirdingiz — endi haqiqiy masalalar.
- Knapsack va uning variantlari
- LIS: eng uzun o'suvchi ketma-ketlik
- Daraxtlarda DP
- Bitmask DP
- Satrlarda DP: LCS va edit distance
- State machine DP: holatlar bilan ishlash
Uyga vazifa — 15 ta masala
- Is Subsequence
- Partition Equal Subset Sum
- Target Sum
- Coin Change
- Coin Change II
- Longest Increasing Subsequence
- Longest Common Subsequence
- Edit Distance
- House Robber III
- Best Time to Buy and Sell Stock with Cooldown
- Partition to K Equal Sum Subsets
- Longest Palindromic Subsequence
- Russian Doll Envelopes
- Binary Tree Maximum Path Sum
- Shortest Path Visiting All Nodes
12 Tries va satr algoritmlari 4 mavzu · 15 masala
Satrlarning o'z strukturasi va o'z algoritmlari bor.
- Trie: qurish, qidirish va prefiks
- Rabin-Karp: hash bilan qidirish
- KMP: prefix funksiya
- Palindrom va satr masalalari
Uyga vazifa — 15 ta masala
- Repeated Substring Pattern
- Find the Index of the First Occurrence in a String
- Valid Palindrome II
- String Matching in an Array
- Implement Trie (Prefix Tree)
- Design Add and Search Words Data Structure
- Replace Words
- Longest Word in Dictionary
- Maximum XOR of Two Numbers in an Array
- Longest Palindromic Substring
- Palindromic Substrings
- Repeated String Match
- Word Search II
- Shortest Palindrome
- Longest Happy Prefix
Kursga nimalar kiradi
- 12 hafta jonli dars, haftasiga 2 marta
- Barcha darslarning video yozuvi
- Har hafta 15 ta uyga vazifa — jami 180 masala
- Jonli savol-javob va masala tahlili
- Yopiq Telegram guruhi
Talabalar fikri
Juda yaxshi, Masalalarni chuqur bir nechta usullarda ko'rib chiqishni ko'rsatib beradi ustoz. Uyga vazifaga tracker qo'yilgani yana masala ishlashga yaxshi mativatsiya bo'ldi. Kurs davomida o'tilgan mavzularni yana qayta yechib chiqishni rejalashtiryapman, mustahkamlab olish uchun. Darslar uchun rahmat
DSA kursi juda ajoyib bo'ldi, Javohir aka haqiqatda biror minutga xiyonat qilmasdan darslarni mukammal va hammaga tushunarli bo'lgan sodda tilda tushuntirib berdi. Hammasi uchun rahmat
Jonli kursda mani qiziqtirgan mavzularni ko'rib chiqdik. 10 hafta ketma-ket darslar bo'ldi. Kursda qatnashmay o'zim o'rganganimda buncha narsani o'rgana olmasdim. Ham ustozni yaxshi tushintirishi ham belgilangan vaqt va kun borligi. Youtubeda tekin darslar ham bor, lekin bahona qilib ularni oxirigacha tugata olmay tashlab qo'yayotgandim. Vaqt tejaldi, foydali va qiziqarli o'tdi, tanishlar ham orttirildi (+networking)
Judayam yaxshi va judayam ko'p topiclar cover qilinadi. Agar yetarlicha vaqt ajratilib masalar student tomonidan ishlansa, sezilarli natija olsa bo'ladi. Judayam ajoyib
Kurs man uchun juda foydali bo'ldi. Data strukturalarini o'zim research qilib o'rgangan edim lekin har safar muammo yechishga kelganda qiynalardim va malum bir vaqtdan keyin esimdan chiqib qolardi. Bu kursdan keyin masala yechishim ancha osonlashdi, esimdan chiqmaydigan bo'lib esimda qoldi. Yaqinda ishga kirishimda ham bu kursni o'rni katta bo'ldi. Bu kursga o'qiganimdan judayam hursandman.
Kurs juda yaxshi tashkil qilingan, men bilmagan juda qiziqarli mavzular bor ekan. Darslarga to'liq qatnasholmadim, lekin menimcha yozib olingan video darslar ham foydali bo'ladi deb o'ylayman.
Barchasi uchun rahmat! Darslar juda manfaatli bo'ldi.
I attended the live online DSA (Data Structures and Algorithms) course by Javokhir Akram and gained much more knowledge than I expected. Previously, I often struggled during the code-challenge stage of interviews and was frequently rejected at that point. Although I tried preparing through Udemy, it was difficult to retain and apply the concepts effectively. This course helped me not only practice LeetCode problems but also truly understand data structures and how to approach complex problems. The sections on Trees, Binary Trees, and Graphs were especially valuable. I significantly improved my understanding of recursion, DFS, BFS, and Dynamic Programming. I also learned how to analyze code using Big-O complexity, which now helps me perform deeper code reviews (PR reviews) at work. I highly recommend this course to any developer.
Mentor
Javokhir Akramjonov
Software Engineer
Tez-tez so'raladigan savollar
Kursga qatnashish uchun qanday tayyorgarlik kerak?
Guruhdagilarning ko'pchiligi allaqachon dasturchi bo'lib ishlaydi. Istalgan tilda erkin kod yoza olsangiz yetarli — algoritmlarni tizimli ravishda noldan ko'rib chiqamiz.
Qaysi dasturlash tilida olib boriladi?
Darslar asosan Java va Python'da olib boriladi. Masalalarni o'zingizga qulay tilda yechishingiz mumkin — g'oyalar barcha tillarga birdek tegishli.
Darslar qachon va qancha davom etadi?
4-oktabrda boshlanadi, 12 hafta davom etadi. Haftasiga 2 marta, har bir dars 1.5–2 soat. Aniq vaqt guruh bilan kelishiladi.
Darsni o'tkazib yuborsam nima bo'ladi?
Har bir dars yozib olinadi va guruhga joylanadi, shuning uchun keyinroq ko'rib, savollaringizni keyingi darsda berishingiz mumkin.
To'lovni qanday amalga oshiraman?
«Kursga yozilish» tugmasini bossangiz, Click to'lov sahifasiga o'tasiz. To'lov tasdiqlangach, yopiq Telegram guruhi havolasi «Mening kurslarim» bo'limida ochiladi.