bilvol

Kompyuter fanlari

Algoritmlar va ma'lumotlar tuzilmalari

12 haftalik jonli kurs — algoritmlarni tizimli o'rganamiz

12 modul 24 ta dars 7+ talaba

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

  1. Two Sum
  2. Contains Duplicate
  3. Best Time to Buy and Sell Stock
  4. Implement Queue using Stacks
  5. Find Pivot Index
  6. Plus One
  7. Move Zeroes
  8. Remove Duplicates from Sorted Array
  9. Majority Element
  10. Single Number
  11. Missing Number
  12. Squares of a Sorted Array
  13. Intersection of Two Arrays II
  14. Rotate Array
  15. Product of Array Except Self
2 Two Pointers va Sliding Window 4 mavzu · 15 masala
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

  1. Valid Anagram
  2. First Unique Character in a String
  3. Ransom Note
  4. Isomorphic Strings
  5. Word Pattern
  6. Last Stone Weight
  7. Design HashMap
  8. Group Anagrams
  9. Top K Frequent Elements
  10. Kth Largest Element in an Array
  11. Longest Consecutive Sequence
  12. Find All Anagrams in a String
  13. K Closest Points to Origin
  14. Task Scheduler
  15. Sort Characters By Frequency
4 Sorting, Intervals va Binary Search 4 mavzu · 15 masala
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

  1. Valid Parentheses
  2. Next Greater Element I
  3. Number of Recent Calls
  4. Reverse Linked List
  5. Merge Two Sorted Lists
  6. Middle of the Linked List
  7. Linked List Cycle
  8. Min Stack
  9. Evaluate Reverse Polish Notation
  10. Daily Temperatures
  11. Linked List Cycle II
  12. Remove Nth Node From End of List
  13. Reorder List
  14. Largest Rectangle in Histogram
  15. Sliding Window Maximum
6 Rekursiya va Daraxtlar 5 mavzu · 15 masala
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

  1. Assign Cookies
  2. Lemonade Change
  3. Maximum Units on a Truck
  4. Jump Game
  5. Jump Game II
  6. Gas Station
  7. Partition Labels
  8. Minimum Number of Arrows to Burst Balloons
  9. Queue Reconstruction by Height
  10. Boats to Save People
  11. Best Time to Buy and Sell Stock II
  12. Reduce Array Size to The Half
  13. Furthest Building You Can Reach
  14. Split Array into Consecutive Subsequences
  15. 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

  1. Flood Fill
  2. Number of Islands
  3. Max Area of Island
  4. Rotting Oranges
  5. 01 Matrix
  6. Surrounded Regions
  7. Pacific Atlantic Water Flow
  8. Clone Graph
  9. Course Schedule
  10. Course Schedule II
  11. Number of Provinces
  12. Number of Operations to Make Network Connected
  13. Redundant Connection
  14. Accounts Merge
  15. Word Ladder
9 Graflar: eng qisqa yo'l va MST 4 mavzu · 15 masala
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

  1. Climbing Stairs
  2. Min Cost Climbing Stairs
  3. Subsets
  4. Subsets II
  5. Permutations
  6. Permutations II
  7. Combination Sum
  8. Combination Sum II
  9. Word Search
  10. Letter Combinations of a Phone Number
  11. Palindrome Partitioning
  12. House Robber
  13. House Robber II
  14. Unique Paths
  15. N-Queens
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

  1. Is Subsequence
  2. Partition Equal Subset Sum
  3. Target Sum
  4. Coin Change
  5. Coin Change II
  6. Longest Increasing Subsequence
  7. Longest Common Subsequence
  8. Edit Distance
  9. House Robber III
  10. Best Time to Buy and Sell Stock with Cooldown
  11. Partition to K Equal Sum Subsets
  12. Longest Palindromic Subsequence
  13. Russian Doll Envelopes
  14. Binary Tree Maximum Path Sum
  15. Shortest Path Visiting All Nodes
12 Tries va satr algoritmlari 4 mavzu · 15 masala

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

Hojarbu
Software Engineer at Sigma Software Group

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

I Ibroximjon Maxammadjonov
Software Engineer at Central Bank of Uzbekistan

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)

Tohir Mirxomitov
Mobile Developer at GlobalMove

Judayam yaxshi va judayam ko'p topiclar cover qilinadi. Agar yetarlicha vaqt ajratilib masalar student tomonidan ishlansa, sezilarli natija olsa bo'ladi. Judayam ajoyib

Nozima
Software Engineer at FoundersHub

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.

Komron
Software Engineer at Numeo

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.

H Humoyun
Software Engineer

Barchasi uchun rahmat! Darslar juda manfaatli bo'ldi.

Abdurashid
Senior Software Engineer at Agrobank

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.

M Matlab
Software Engineer at Transport for NSW

Mentor

Javokhir Akramjonov

Software Engineer

Software Engineer. Algoritmlar va ma'lumotlar tuzilmalarini o'rgataman — jonli darslarda, masala yechish orqali.

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.