Forward from: Programming with Bekzhanov
Big O: Algoritm samaradorligini qanday o‘lchash mumkin 🧐
Tasavvur qiling, siz bir taom tayyorlayapsiz. Qanchalik tez tayyorlaysiz? Bu ko‘p narsaga bog‘liq – retseptning qanchalik murakkabligiga, ingredientlar soniga va tajribangizga.
Big O notatsiyasi – dasturlashda algoritmlarni baholash uchun shunga o‘xshash tushuncha 🖨
Big O algoritmning kirish ma'lumotlari hajmi ortishi bilan ish bajarish vaqtining qanchalik oshishini ko'rsatadi.
Asosiy murakkablik sinflari 👇
1. O(1) – doimiy vaqt. Algoritm, ma'lumotlar hajmidan qat’i nazar, har doim bir xil vaqt ichida bajariladi.
2. O(n) – chiziqli vaqt. Vaqt ma’lumot hajmiga proporsional ravishda oshadi. Masalan, tartiblanmagan massivda element qidirish.
3. O(log n) – logarifmik vaqt. Samarali algoritmlar, masalan, ikkilik qidiruv.
4. O(n^2) – kvadratik vaqt. Vaqt ma'lumotlar hajmining kvadrati bo‘yicha ortadi. Ko‘pincha ichma-ich ishlatiladigan tsikllar bilan bog‘liq algoritmlarda uchraydi.
Big O tushunchasini anglash yirik hajmdagi ma'lumotlarni qayta ishlashga mo‘ljallangan dasturlarni ishlab chiqishda muhim ahamiyatga ega. Bu tamoyil algoritmlarni solishtirish va katta hajmdagi ma’lumotlarda ularning samaradorligini prognoz qilish imkonini beradi 💻
@Programming_with_Bekzhanov
Tasavvur qiling, siz bir taom tayyorlayapsiz. Qanchalik tez tayyorlaysiz? Bu ko‘p narsaga bog‘liq – retseptning qanchalik murakkabligiga, ingredientlar soniga va tajribangizga.
Big O notatsiyasi – dasturlashda algoritmlarni baholash uchun shunga o‘xshash tushuncha 🖨
Big O algoritmning kirish ma'lumotlari hajmi ortishi bilan ish bajarish vaqtining qanchalik oshishini ko'rsatadi.
Asosiy murakkablik sinflari 👇
1. O(1) – doimiy vaqt. Algoritm, ma'lumotlar hajmidan qat’i nazar, har doim bir xil vaqt ichida bajariladi.
2. O(n) – chiziqli vaqt. Vaqt ma’lumot hajmiga proporsional ravishda oshadi. Masalan, tartiblanmagan massivda element qidirish.
3. O(log n) – logarifmik vaqt. Samarali algoritmlar, masalan, ikkilik qidiruv.
4. O(n^2) – kvadratik vaqt. Vaqt ma'lumotlar hajmining kvadrati bo‘yicha ortadi. Ko‘pincha ichma-ich ishlatiladigan tsikllar bilan bog‘liq algoritmlarda uchraydi.
Big O tushunchasini anglash yirik hajmdagi ma'lumotlarni qayta ishlashga mo‘ljallangan dasturlarni ishlab chiqishda muhim ahamiyatga ega. Bu tamoyil algoritmlarni solishtirish va katta hajmdagi ma’lumotlarda ularning samaradorligini prognoz qilish imkonini beradi 💻
@Programming_with_Bekzhanov