
Розробіть функції для здійснення наступних операцій зі списками: 1 Швидке сортування; 2 Пошук
елементу за значенням; 3 Пошук перших п’яти мінімальних елементів; 4 Пошук середнього арифметичного; 5 Повернення списку, що сформований з початкового списку, але не містить повторів. ВСЮДИ МАЄ БУТИ DEF (PYTHON)!!!!!

Ответы на вопрос

Ответ: МАЛО БАЛІВ ЗА ТАКЕ ЗАВДАННЯ))
import random
import time
def quick_sort(array):
"""Швидке сортування"""
if len(array) < 2:
return array
else:
pivot = array[0]
less = [i for i in array[1:] if i <= pivot]
greater = [i for i in array[1:] if i > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
def search(array, value):
"""Пошук елементу за значенням"""
for i in array:
if i == value:
return i
return None
def search_min(array):
"""Пошук перших п’яти мінімальних елементів"""
min_list = []
for i in range(5):
min_list.append(min(array))
array.remove(min(array))
return min_list
def average(array):
"""Пошук середнього арифметичного"""
return sum(array) / len(array)
def unique(array):
"""Повернення списку, що сформований з початкового списку, але не
містить повторів"""
return list(set(array))
def main():
array = [random.randint(1, 100) for i in range(1000)]
print("Початковий список: ", array)
start = time.time()
print("Сортований список: ", quick_sort(array))
print("Час сортування: ", time.time() - start)
start = time.time()
print("Пошук елементу за значенням: ", search(array, 50))
print("Час пошуку: ", time.time() - start)
start = time.time()
print("Перші п’ять мінімальних елементів: ", search_min(array))
print("Час пошуку: ", time.time() - start)
start = time.time()
print("Середнє арифметичне: ", average(array))
print("Час пошуку: ", time.time() - start)
start = time.time()
print("Список без повторів: ", unique(array))
print("Час пошуку: ", time.time() - start)
if __name__ == "__main__":
main()



Ось функції для здійснення вказаних операцій зі списками:
- Швидке сортування:
pythondef quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
- Пошук елементу за значенням:
pythondef search_element(arr, value):
for i, item in enumerate(arr):
if item == value:
return i
return -1 # Повертає -1, якщо елемент не знайдено
- Пошук перших п'яти мінімальних елементів:
pythondef find_smallest_elements(arr):
sorted_arr = quick_sort(arr) # Використовуємо швидке сортування
return sorted_arr[:5] # Повертає перші п'ять елементів
- Пошук середнього арифметичного:
pythondef calculate_average(arr):
if len(arr) == 0:
return 0 # Повертає 0, якщо список порожній
return sum(arr) / len(arr)
- Повернення списку, що сформований з початкового списку, але не містить повторів:
pythondef remove_duplicates(arr):
return list(set(arr))
Зверніть увагу, що функція швидкого сортування (quick_sort) використовується в функції пошуку перших п'яти мінімальних елементів (find_smallest_elements).


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili