📘
Grokking-Algorithms book
PostgreSQL
  • Content
  • Introduction to Algorithms
    • Introduction
    • Binary Search
    • Big O notation
    • Recap
  • Selection sort
    • How memory works
    • Arrays and linked lists
    • Selection sort
    • Recap
  • Recursion
    • Recursion
    • Base case and recursive case
    • The stack
    • Recap
  • Quicksort
    • Divide & conquer
    • Quicksort
    • Big O notation revisited
    • Recap
  • Hash tables
    • Hash functions
    • Use cases
    • Collisions
    • Performance
    • Recap
  • Breadth-first search
    • Introduction to graph
    • What is a graph
    • Breadth-first search
    • Implementing the graph
    • Implementing the algorithm
    • Recap
  • Dijkstra's algorithm
    • Working with Dijkstra's algorithm
    • Terminology
    • Trading for a piano
    • Negative-weight edges
    • Implementation
    • Recap
  • Greedy Algorithms
    • The classroom scheduling problem
    • The knapsack problem
    • The set-covering problem
    • NP-complete problems
    • Traveling salesperson, step by step
    • Recap
  • Dynamic programming
    • The knapsack problem
    • Knapsack problem FAQ
    • Longest common substring
    • Recap
  • K-nearest neighbors
    • Classifying oranges vs. grapefruit
    • Building a recommendations system
    • Introduction to machine learning
    • Recap
  • Where to go next
    • Trees
    • Inverted indexes
    • The Fourier transform
    • Parallel algorithms
    • MapReduce
    • Bloom filters and HyperLogLog
    • The SHA algorithms
    • Locality-sensitive hashing
    • Diffie-Hellman key exchange
    • Linear programming
    • Epilogue
  • Answers to exercises
    • Chapter 1
    • Chapter 2
    • Chapter 3
    • Chapter 4
    • Chapter 5
    • Chapter 6
    • Chapter 7
    • Chapter 8
    • Chapter 9
    • Chapter 10
Powered by GitBook
On this page
  • What you'll learn about performance
  • What you'll learn about solving problems

Was this helpful?

Edit on GitHub
  1. Introduction to Algorithms

Introduction

Algoritm — bu vazifani bajarish uchun ko'rsatmalar to'plami. Har kod qismini algoritm deb atash mumkin, ammo bu kitobda yanada qiziqarli qismlarni qamrab oladi. Men qo'shish uchun ushbu kitobdagi algoritmlarni tanladim chunki ular tez yoki qiziqarli muammolarni hal qilishadi yoki ikkalasi ham. Bu yerda ba'zi diqqatga sazovor joylar bor:

  • Chapter 1 da binary search va algoritm kodingizni qanday tezlashtirgani haqida gapiriladi. Bir misolda kerakli qadamlar soni 4 milliarddan 32gacha tushadi!

  • GPS qurilmalari sizni masofangizgacha eng qisqa routelarni hisoblash uchun graphlardan foydalanadi. (6, 7 va 8 chapterlarda o'rganasiz).

  • Shashka o'ynaydigan SI(sun'iy intelekt) yozish uchun dynamic programmingdan foydalanasiz (chapter 9 da gap boradi).

Men Har bir holatda algoritmlarni tasvirlayman va sizga misollar keltiraman. Keyin algoritmning ish vaqti Big O notation haqida gapiraman. Nihoyat, o'xshash algoritmlar bilan boshqa qanday muommalarni hal qilish mumkinligini ko'rib chiqaman.

What you'll learn about performance

Yaxshi yangilik shundaki, bu kitobdagi har bir algoritm sevimli tilingizda bo'lishi mumkin, agar mavjud bo'lmasa har bir algoritmni o'zingiz yozing. Ammo agar siz kelishuvni tushunmasangiz, bu ilovalar foydasiz. Ushbu kitobda siz turli xil algoritmlar o'rtasidagi kelishuvlarni solishtirishni o'rganasiz: Merge yoki Quick sortdan foydalanish kerakmi? Array yoki Listni ishlatishingiz kerakmi? Shunchaki boshqa ma'lumotlar strukturasidan foydalanish katta farq qilishi mumkin.

What you'll learn about solving problems

Hozirgacha tushuna olmagan muammolarni hal qilish usullarini o'rganasiz. Masalan:

  • Agar video o'yinlarni yasash yoqsa graf algoritmlardan foydalanib foydalanuvchini kuzatib boradigan AI tizimini yozishingiz mumkin.

  • Siz k-eng yaqin qo'shnilar yordamida tavsiyalar tizimini yozishni o'rganasiz.

  • Ba'zi muammolarni o'z vaqtida hal qilib bo'lmaydi. Ushbu kitobning NP-to'liq muammolari(NP-complete problems) haqidagi qismida sizga ushbu muammolarni qanday aniqlashni va sizga taxminiy javob beradigan algoritmni ishlab chiqishni ko'rsatib beradi.

Umuman olganda kitob oxirida keng tarqalgan algoritmlardan ba'zilarini bilib olasiz.

PreviousIntroduction to AlgorithmsNextBinary Search

Last updated 1 year ago

Was this helpful?