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



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

Hajm murakkablik
Algoritmning bajarilishini yakunlash uchun zarur boʻlgan qadamlar sonini hisoblaydigan vaqt murakkabligiga qoʻshimcha ravishda, siz dasturni bajarish paytida xotirada ajratishingiz kerak boʻlgan joy miqdorini koʻrsatadigan boʻshliq murakkabligini ham topishingiz mumkin.
Quyidagi misolni koʻrib chiqamiz:
def murakkab(n):
ruyxat = []
for raqam in n:
ruyxat.append(raqam * raqam)
return ruyxat
raqam = [2, 4, 6, 8, 10]
print(murakkab(raqam))
[4, 16, 36, 64, 100]
murakkablik() funksiyasi butun sonlar roʻyxatini qabul qiladi va mos keladigan kvadratlar roʻyxatini qaytaradi. Algoritm kirish roʻyxatidagi kabi bir xil miqdordagi elementlar uchun xotirani ajratishi kerak. Shuning uchun algoritmning hajm murakkabligi O(n) ga aylanadi.
Masalaning qoʻyilishi: Yuqorida keltirilgan algoritmlarni vaqt va hajm boʻyicha baholash usullardan foydalangan holda integralni taqribiy hisoblash usullari simpson, trapetsiya, toʻgʻri toʻrtburchaklar usullarining algoritmik murakkabligi baholansin.
1-usul: Berilgan aniq integralni trapetsiya usulida hisoblash dasturini Python dasturlash tilida tuzamiz.

import matplotlib.pyplot as plt
import numpy as np
#1-USUL TRAPETSIYA
z=[]
s=[]
def trapetsiya_formulasi(a, b, n):
h = (b - a) / n
integral = 0
for i in range(1, n):
x = a + i * h
z.append(x)
s.append(i)
integral += 1 / (1 + x**2)
integral += (1 / (1 + a**2) + 1 / (1 + b**2)) / 2
integral *= h
return integral
a = 0 # Integrallash chegarasi
b = 1 # Integrallash chegarasi
n = 100 # boʻlinishlar soni
trapetsiya_formulasi(a, b, n)
plt.plot(z,s)
plt.xlabel('x-kirish elementlarining o\'lchami')
plt.ylabel('y-Qadamlar soni')
plt.title(TRAPETSIYA_usuli O(n) murakkablik ')
plt.show()


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