algoritmlarni baholash mezonlari

DOCX 15 pages 315.2 KB Free download

Page preview (5 pages)

Scroll down 👇
1 / 15
o‘zbekiston respublikasi raqamli texnologiyalar vazirligi o‘zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al- xorazmiy nomidagi toshkent axborot texnologiyalari universiteti mustaqil ish topshirdi: __________ qabul qildi: toshkent 2025 mundarija 1. kirish 2. algoritmlarni baholash mezonlari 3. vaqt murakkabligi (time complexity) 4. hajm murakkabligi (space complexity) 5. big o notatsiyasi 6. qidiruv algoritmlariga misollar 7. saralash algoritmlariga misollar 8. rekursiv algoritmlarni baholash 9. amaliy misollar va taqqoslash 10. xulosa 11. foydalanilgan adabiyotlar 1. kirish zamonaviy dasturlash sohasida algoritmlarni baholash va taqqoslash muhim ahamiyatga ega. har qanday masalani yechish uchun bir nechta algoritm mavjud bo'lishi mumkin, ammo qaysi biri eng samarali ekanligini aniqlash zarur. algoritmlarni baholash mezonlari quyidagilardan iborat: · vaqt murakkabligi - algoritm bajarilish vaqti · hajm murakkabligi - algoritm tomonidan ishlatiladigan xotira hajmi · to'g'rilik - algoritm natijaviy echimni berishi · tushunarlilik - algoritm kodining oson tushunilishi · moslashuvchanlik - turli sharoitlarga moslashish qobiliyati ushbu mustaqil ishda biz asosan vaqt va hajm …
2 / 15
hajmining kirish ma'lumotlari hajmiga bog'liqligini ifodalaydi. 2.2. baholash turlari baholash turi ta'rif ishlatilishi eng yomon holat (worst case) algoritm eng ko'p vaqt talab qiladigan holatdagi baholash maksimal xavfsizlik uchun o'rtacha holat (average case) algoritm o'rtacha bajarilish vaqti real sharoitlarni baholash uchun eng yaxshi holat (best case) algoritm eng kam vaqt talab qiladigan holatdagi baholash optimal sharoitlarni ko'rsatish uchun misol: linear qidiruv algoritmi uchun: · eng yaxshi holat: o(1) - qidirilayotgan element birinchi pozitsiyada · o'rtacha holat: o(n/2) ≈ o(n) - element o'rtada · eng yomon holat: o(n) - element oxirida yoki yo'q 3. vaqt murakkabligi (time complexity) 3.1. vaqt murakkabligining asosiy turlari notatsiya nomi misol tavsif o(1) doimiy vaqt array elementiga murojaat kirish hajmiga bog'liq emas o(log n) logarifmik vaqt binary search har qadamda yarim qismini tekshiradi o(n) chiziqli vaqt linear search har bir elementni bir marta tekshiradi o(n log n) logchiziqli vaqt merge sort, quick sort samarali saralash algoritmlari …
3 / 15
a doimiy o'zgaruvchilar uchun · o'zgaruvchan hajm - kirish ma'lumotlari hajmiga bog'liq xotira 4.2. hajm murakkabligini hisoblash 4.2.1. oddiy o'zgaruvchilar def calculate_sum(arr): total = 0 # o(1) hajm count = 0 # o(1) hajm for i in range(len(arr)): total += arr[i] count += 1 return total / count # hajm murakkabligi: o(1) 4.2.2. qo'shimcha massivlar def merge_arrays(arr1, arr2): result = [] # o(n + m) hajm i, j = 0, 0 # o(1) hajm while i max_val: # o(1) max_val = arr[i] # o(1) return max_val # o(1) # umumiy: o(1) + o(n) × o(1) = o(n) misol 2: matritsa ko'paytirish def matrix_multiply(a, b): n = len(a) c = [[0] * n for _ in range(n)] # o(n²) for i in range(n): # o(n) for j in range(n): # o(n) for k in range(n): # o(n) c[i][j] += a[i][k] * b[k][j] # o(1) return c # umumiy: o(n²) + o(n³ …
4 / 15
(f"taqqoslashlar: {comparisons}, almashtirishlar: {swaps}") return arr # test test_arr = [64, 34, 25, 12, 22, 11, 90] print("asl massiv:", test_arr) sorted_arr = bubble_sort_detailed(test_arr.copy()) print("saralangan massiv:", sorted_arr) 7.2. selection sort (tanlab saralash) def selection_sort_detailed(arr): """ tanlab saralash - eng kichik elementni topib, boshiga qo'yish """ n = len(arr) comparisons = 0 swaps = 0 for i in range(n): min_idx = i # eng kichik elementni topish for j in range(i + 1, n): comparisons += 1 if arr[j] = 0: comparisons += 1 if arr[j] > key: arr[j + 1] = arr[j] shifts += 1 j -= 1 else: break arr[j + 1] = key print(f"taqqoslashlar: {comparisons}, siljitishlar: {shifts}") return arr # test test_arr = [64, 34, 25, 12, 22, 11, 90] print("asl massiv:", test_arr) sorted_arr = insertion_sort_detailed(test_arr.copy()) print("saralangan massiv:", sorted_arr) 7.4. merge sort (birlashtiruvchi saralash) def merge_sort_detailed(arr, depth=0): """ birlashtiruvchi saralash - "bo'l va hukmron bo'l" strategiyasi """ print(" " …
5 / 15
: merge_sort, "python's built-in sort": sorted sizes = [100, 500, 1000, 5000] for size in sizes: print(f"\nmassiv hajmi: {size}") print("-" * 50) # test ma'lumotlarini yaratish original_data = [random.randint(1, 1000) for _ in range(size)] for name, algorithm in algorithms.items(): data = original_data.copy() start_time = time.time() if name == "python's built-in sort": result = algorithm(data) else: algorithm(data) end_time = time.time() print(f"{name:20}: {end_time - start_time:.6f} s") performance_comparison() 9.2. xotira ishlatilishini taqqoslash import sys def memory_usage_analysis(): """ algoritmlarning xotira ishlatilishini tahlil qilish """ def get_memory_usage(func, *args): """funktsiya bajarish paytidagi xotira ishlatilishi""" import tracemalloc tracemalloc.start() result = func(*args) current, peak = tracemalloc.get_traced_memory() tracemalloc.stop() return current, peak, result test_data = list(range(1000, 0, -1)) # teskari tartibda algorithms = [ ("bubble sort (in-place)", bubble_sort), ("selection sort (in-place)", selection_sort), ("insertion sort (in-place)", insertion_sort), ("merge sort (extra space)", merge_sort) ] print("xotira ishlatilishi tahlili:") print("-" * 60) for name, algorithm in algorithms: data = test_data.copy() current, peak, _ = …

Want to read more?

Download all 15 pages for free via Telegram.

Download full file

About "algoritmlarni baholash mezonlari"

o‘zbekiston respublikasi raqamli texnologiyalar vazirligi o‘zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al- xorazmiy nomidagi toshkent axborot texnologiyalari universiteti mustaqil ish topshirdi: __________ qabul qildi: toshkent 2025 mundarija 1. kirish 2. algoritmlarni baholash mezonlari 3. vaqt murakkabligi (time complexity) 4. hajm murakkabligi (space complexity) 5. big o notatsiyasi 6. qidiruv algoritmlariga misollar 7. saralash algoritmlariga misollar 8. rekursiv algoritmlarni baholash 9. amaliy misollar va taqqoslash 10. xulosa 11. foydalanilgan adabiyotlar 1. kirish zamonaviy dasturlash sohasida algoritmlarni baholash va taqqoslash muhim ahamiyatga ega. har qanday masalani yechish uchun bir nechta algoritm mavjud bo'lishi mumkin, ammo qaysi biri eng samarali eka...

This file contains 15 pages in DOCX format (315.2 KB). To download "algoritmlarni baholash mezonlari", click the Telegram button on the left.

Tags: algoritmlarni baholash mezonlari DOCX 15 pages Free download Telegram