Yilgan masalani yechish uchun turli XIL murakkablikdagi algoritmlardan eng samarali algoritmnu aniqlash



Yüklə 166,49 Kb.
səhifə3/6
tarix13.09.2023
ölçüsü166,49 Kb.
#143008
1   2   3   4   5   6
Denov TPI 02.06.2023 Aviatsiya — копия

import matplotlib.pyplot as plt
import numpy as np
qadamlar = []
def chiziqli(elementlar):
for element in elementlar:
qadamlar.append(element)
chiziqli([0,1,2,3,4,5,6,7,8,9,10])
plt.plot(qadamlar)
plt.xlabel('x-kiritilgan elementlarning o\'lchamlari')
plt.ylabel('y-Qadamlar')
plt.title('CHIZIQLI O(n) murakkablik ')
plt.show()

Shuni ta’kidlash kerakki, katta kirishlar bilan doimiylar qiymatini yoʻqotadi. Shuning uchun biz odatda Big-O belgisidan doimiylarni olib tashlaymiz va O(2n) kabi ifoda odatda O(n) ga qisqartiriladi. O(2n) ham, O(n) ham chiziqli – aniq qiymat emas, balki chiziqli munosabat muhim.
2-rasm. Chiziqli murakkablikda algoritmning kiritilgan elementlarning oʻlchamlari bilan qadamlarning bogʻlanishi
Kvadrat murakkablik - O(n²)
Algoritmni bajarish uchun zarur boʻlgan bosqichlar kiritishdagi elementlar sonining kvadratik funktsiyasi boʻlsa, algoritmning murakkabligi kvadrat deyiladi. Kvadrat murakkablik O(n²) bilan belgilanadi:
ruyxat=['ali','vali']
for i in ruyxat:
for j in ruyxat:
print(j)
Amalga oshirilgan qadamlarning umumiy soni n * n, bu yerda n - kirish massividagi elementlar soni.
Quyidagi grafik kvadrat
3-rasm. Kvadrat murakkablikda algoritmning kiritilgan elementlarning oʻlchamlari bilan qadamlarning bogʻlanishi
Logarifmik murakkablik - O(logn)
Baʻzi algoritmlar logarifmik murakkablikka erishadi, masalan, Binary Search. Ikkilik qidiruv massivning oʻrtasini tekshirish va element boʻlmagan yarmini kesish orqali massivdagi elementni qidiradi. Qolgan yarmida buni yana bajaradi va element topilgunga qadar xuddi shu amallarni davom ettiradi. Har bir bosqichda u massivdagi elementlar sonini ikki barobarga qisqartiradi. Bu massivni saralashni talab qiladi va biz maʻlumotlar (masalan, tartiblangan) haqida taxmin qilishimiz kerak. Agar kiruvchi maʻlumotlar haqida taxminlar qila olsangiz, algoritmning murakkabligini kamaytiradigan qadamlarni qoʻyishingiz mumkin.

Yüklə 166,49 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin