2. Tezkor saralash (Quicksort) (Python)
def quicksort(array):
if len(array) < 2:
return array
low, same, high = [], [], []
pivot = array[randint(0, len(array) - 1)]
for item in array:
if item < pivot:
low.append(item)
elif item == pivot:
same.append(item)
elif item > pivot:
high.append(item)
return quicksort(low) + same + quicksort(high)
array = []
for i in range(200):
array.append(randint(1,10000))
array = quicksort(array)
3. Kiritish saralash (Insertion Sort) (Python)
#Insertion sort (Kiritish saralash)
from random import randint
def insertion_sort(array):
for i in range(1, len(array)):
key_item = array[i]
j = i - 1
while j >= 0 and array[j] > key_item:
array[j + 1] = array[j]
j -= 1
array[j + 1] = key_item
return array
massiv = []
for i in range(200):
massiv.append(randint(1,10000))
massiv = insertion_sort(massiv)
Saralash metodi
|
|
Kompilyatsiya vaqti (sekundlarda)
|
|
|
|
|
|
|
|
|
200 ta element
|
|
1500 element
|
|
4000 element
|
|
|
|
|
|
|
Tezkor saralash
|
0,059
|
|
0,077
|
|
0,093
|
(quick Sort)
|
|
|
|
|
|
|
|
|
|
|
|
Kiritish saralash
|
0,028
|
|
0,088
|
|
0,467
|
(insertion sort)
|
|
|
|
|
|
|
|
|
|
|
|
Pufakchali saralash
|
0,037
|
|
0,211
|
|
0,942
|
(booble sort)
|
|
|
|
|
|
|
|
|
|
|
|
2 — Topshiriq
from random import randint
from queue import PriorityQueue
N elementda iborat ustuvor navbat yaratish array = PriorityQueue()
array_1 = PriorityQueue()
#Ustuvor navbatga elemetn qo'shish
for i in range(10):
array.put(randint(1,100))
array_1.put(randint(1,50))
while array:
print(array.get())
#Eng katta elementni yechib olish
print(max(array))
#Qandaydir elementini yechib olish
print(array.get())
#Ikkita ustuvor navbatni qo'shish
new_queue = array + array_1
while new_queue:
print(new_queue.get())
Do'stlaringiz bilan baham: |