4.02M
Categories: programmingprogramming softwaresoftware

Python. Основы. Сортировка. Алгоритмы сортировки. Лекция 6

1.

Белорусско-Российский университет
Кафедра «Программное обеспечение информационных технологий»
Информатика.
Программирование на Python
Тема: Python. Основы.
Сортировка.
Алгоритмы сортировки
КУТУЗОВ Виктор Владимирович
Могилев, 2021

2.

Сортировка
В качестве стандартных функций для
сортировки в Python используются функции:
• Sorted()
• Sort()
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
2

3.

Различие между sorted() и sort()
• sorted() возвращает новый отсортированный
список, оставляя исходный список незатронутым.
• list.sort() сортирует список на месте, мутирует
индексы списка и возвращает None (как и все операции
на месте).
• sorted() работает на любых итеративных, а не
только на списках. Строки, кортежи, словари (вы
получите ключи), генераторы и т.д., Возвращая список,
содержащий все элементы, отсортированные.
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
3

4.

Различие между sorted() и sort()
• Используйте list.sort(), если вы хотите изменить
список, sorted(), когда вы хотите вернуть новый
отсортированный объект.
• Используйте
sorted(),
если
вы
хотите
отсортировать что-то, что является итерируемым, а не
список еще .
• Для списков list.sort() быстрее, чем sorted(),
потому что он не создает копию. Для любого другого
итерабельного выбора у вас нет выбора.
• Нет, вы не можете получить исходные позиции. После
того, как вы вызвали list.sort(), первоначальный
порядок исчез.
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
4

5.

Простейший вариант сортировки
Функция sorted()
Сортировка списка используя стандартную функцию
sorted()
sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
5

6.

Простейший вариант сортировки
Функция sort()
Сортировка списка используя стандартную функцию
sort()
a = [10,3,4,1,9]
a.sort()
print(a)
[1, 3, 4, 9, 10]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
6

7.

Функция sorted()
7

8.

Функция sorted()
• Функция sorted() возвращает новый отсортированный
список итерируемого объекта (списка, словаря, кортежа).
По умолчанию она сортирует его по возрастанию.
• Сортировка строк осуществляется по ASCII-значениям.
• Возвращаемое значение — List (список).
Синтаксис:
• sorted(iterable, key=None, reverse=False)
• iterable: строка, список, кортеж, множество, словарь
• key (необязательный параметр): если указать ключ, то сортировка
будет выполнена по функции этого ключа.
• reverse (необязательный параметр): по умолчанию сортировка
выполняется по возрастанию. Если указать reverse=True, то можно
отсортировать по убыванию.
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
8

9.

Функция sorted(). Сортировка строки
# Сортировка строки
s2="hello"
print(sorted(s2))
print(sorted(s2, reverse=True))
['e', 'h', 'l', 'l', 'o']
['o', 'l', 'l', 'h', 'e']
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
9

10.

Функция sorted(). Сортировка списка
# Сортировка списка
l1=[1, 4, 5, 2, 456, 12]
print(sorted(l1))
print(sorted(l1, reverse=True))
[1, 2, 4, 5, 12, 456]
[456, 12, 5, 4, 2, 1]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
10

11.

Функция sorted(). Сортировка кортежа
# Сортировка кортежа
t1=(15, 3, 5, 7, 9, 11, 42)
print(sorted(t1))
print(sorted(t1, reverse=True))
[3, 5, 7, 9, 11, 15, 42]
[42, 15, 11, 9, 7, 5, 3]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
11

12.

Функция sorted(). Сортировка списка кортежей
# Сортировка списка кортежей
t2=[(1, 2), (11, 12), (0, 2), (3, 2)]
print(sorted(t2))
print(sorted(t2, reverse=True))
[(0, 2), (1, 2), (3, 2), (11, 12)]
[(11, 12), (3, 2), (1, 2), (0, 2)]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
12

13.

Функция sorted(). Сортировка множества
# Сортировка множества
s1={1, 4, 3, 6, 2, 8, 11, 32}
print(sorted(s1))
print(sorted(s1, reverse=True))
[1, 2, 3, 4, 6, 8, 11, 32]
[32, 11, 8, 6, 4, 3, 2, 1]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
13

14.

Функция sorted(). Сортировка словаря
# Сортировка словаря
d1={2: 'red', 1: 'green', 3: 'blue'}
# Вернется список отсортированных ключей
print(sorted(d1))
# Вернется список отсортированных значений
print(sorted(d1.values()))
[1, 2, 3]
['blue', 'green', 'red']
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
14

15.

Функция sorted(). Сортировка словаря
# Сортировка словаря
d1={2: 'red', 1: 'green', 3: 'blue'}
# Вернется список кортежей (ключ,
значение), отсортированный по ключам.
print(sorted(d1.items()))
[(1, 'green'), (2, 'red'), (3, 'blue')]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
15

16.

Функция sorted(). Сортировка словаря
# Сортировка словаря
d1={2: 'red', 1: 'green', 3: 'blue'}
# Сортировка словаря в обратном порядке
print(sorted(d1, reverse=True))
print(sorted(d1.values(), reverse=True))
print(sorted(d1.items(), reverse=True))
[3, 2, 1]
['red', 'green', 'blue']
[(3, 'blue'), (2, 'red'), (1, 'green')]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
16

17.

Функция sorted(). Параметр key
sorted(iterable, key=None, reverse=False)
Параметр key
Итерируемый объект можно также отсортировать по
функции, указанной в параметре key.
Это может быть:
• Встроенная функция,
• Определенная пользователем функция,
• Лямбда-функция,
• itemgetter,
• attrgetter.
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
17

18.

Функция sorted(). Встроенная функция len()
sorted(iterable, key=None, reverse=False)
• len()— посчитает длину объекта. Если указать len в виде параметра key, то сортировка будет
выполнена по длине.
# Сортировка словаря на основе функции len
l1 = {'carrot': 'vegetable', 'red': 'color', 'apple': 'fruit'}
# Возвращает список ключей, отсортированных по функции len
print(sorted(l1, key=len))
# Вывод: ['red', 'apple', 'carrot']
# Возвращает список значений, отсортированных на основе функции len
print(sorted(l1.values(), key=len))
# Вывод: ['fruit', 'color', 'vegetable']
['red', 'apple', 'carrot']
# Сортировка списка на основе функции len
l1 = ['blue', 'green', 'red', 'orange']
print(sorted(l1, key=len))
# Вывод: ['red', 'blue', 'green', 'orange']
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
['color', 'fruit', 'vegetable']
['red', 'blue', 'green', 'orange']
18

19.

Функция sorted(). Встроенная функция abs()
sorted(iterable, key=None, reverse=False)
• abs() вернет абсолютно значение числа. Если задать
abs для key, то сортировка будет основана на
абсолютном значении.
# Сортировка списка по абсолютному значению
l1 = [1, -4, 5, -7, 9, 2]
print(sorted(l1, key=abs))
# Вывод: [1, 2, -4, 5, -7, 9]
[1, 2, -4, 5, -7, 9]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
19

20.

Функция sorted(). Встроенная функция str.lower()
sorted(iterable, key=None, reverse=False)
str.lower() — конвертирует все символы в верхнем регистре в нижний регистр. В таком случае список будет
отсортирован так, будто бы все символы в нижнем регистре.
s1 = "Hello How are you"
# Разбивает строку и сортирует по словам
print(sorted(s1.split()))
# Вывод: ['Hello', 'How', 'are', 'you']
# Разбивает строку и сортирует после применения str.lower ко всем элементам
print(sorted(s1.split(), key=str.lower))
# Вывод: ['are', 'Hello', 'How', 'you']
d1 = {'apple': 1, 'Banana': 2, 'Pears': 3}
# Возвращает список ключей, отсортированный по значениям
print(sorted(d1))
['Hello', 'How', 'are', 'you']
['are', 'Hello', 'How', 'you']
['Banana', 'Pears', 'apple']
['apple', 'Banana', 'Pears']
# Вывод: ['Banana', 'Pears', 'apple']
# Возвращает список ключей, отсортированный после применения str.lower ко всем элементам
print(sorted(d1, key=str.lower))
# Вывод: ['apple', 'Banana', 'Pears']
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
20

21.

Функция sorted(). Дополнительные материалы
• Возможности и примеры функции sorted в Python
• https://pythonru.com/osnovy/vozmozhnosti-i-primeryfunkcii-sorted-v-python
• Функция sorted
• https://pyneng.readthedocs.io/ru/latest/book/10_useful_
functions/sorted.html
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
21

22.

Функция sort()
22

23.

Функция sort()
• Метод sort выполняет сортировку элементов списка в
восходящем или нисходящем направлении.
• Его синтаксис выглядит следующим образом:
• List.sort()
• [список].sort(key=None, reverse=False)
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
23

24.

Сортировка списка чисел в порядке возрастания
Natural_numbers = [1,4,23,3,2,1,0,9,7]
print(Natural_numbers)
Natural_numbers.sort()
print(Natural_numbers)
[1, 4, 23, 3, 2, 1, 0, 9, 7]
[0, 1, 1, 2, 3, 4, 7, 9, 23]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
24

25.

Сортировка списка чисел в порядке убывания
Natural_numbers = [1,23,4,25,22,3,4,5,9,
7,5]
print(Natural_numbers)
Natural_numbers.sort(reverse = True)
print(Natural_numbers)
[1, 23, 4, 25, 22, 3, 4, 5, 9, 7, 5]
[25, 23, 22, 9, 7, 5, 5, 4, 4, 3, 1]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
25

26.

Сортировка списка строк в порядке возрастания
Fruits = ["Apple", "Banana", "Tomato",
"Grapes"]
print(Fruits)
Fruits.sort()
print(Fruits)
['Apple', 'Banana', 'Tomato', 'Grapes']
['Apple', 'Banana', 'Grapes', 'Tomato']
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
26

27.

Сортировка списка строк по убыванию
Fruits = ["Apple", "Banana", "Tomato",
"Grapes"]
print(Fruits)
Fruits.sort(reverse = True)
print(Fruits)
['Apple', 'Banana', 'Tomato', 'Grapes']
['Tomato', 'Grapes', 'Banana', 'Apple']
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
27

28.

Сортировка списка с помощью функции (по
возрастанию)
# Сортируем на основе 2-го элемента
def keyFunc(item):
return item[1]
# Неупорядоченный список
unordered = [('b', 'b'), ('c', 'd’),
('d', 'a'), ('a', 'c')]
# Сортировка списка с помощью ключа
unordered.sort(key=keyFunc)
# Вывести отсортированный список
print('Ordered list:', unordered)
Ordered list: [('d', 'a'), ('b', 'b'), ('a', 'c'), ('c', 'd')]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
28

29.

Сортировка списка с помощью функции (по
убыванию)
def keyFunc(item):
return item[1]
unordered = [('b', 'b'), ('c', 'd’),
('d', 'a'), ('a', 'c')]
unordered.sort(key=keyFunc, reverse =
True)
print('Ordered list:', unordered)
Ordered list: [('c', 'd'), ('a', 'c'), ('b', 'b'), ('d', 'a')]
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
29

30.

Сортировка двумерного списка с выбором
a = [['петя',10,130,35],
['вася',11,135,39],
['женя',9,140,33],
['дима',10,128,30]]
n = input('Сортировать по имени (1), возрасту (2),
росту (3), весу (4): )
n = int(n)-1
t = input('По возрастанию (0), по убыванию (1): ')
t = int(t)
a.sort(key=lambda i: i[n], reverse=t)
for i in a:
print("%7s %3d %4d %3d"
% (i[0],i[1],i[2],i[3]))
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
30

31.

Алгоритмы сортировки
31

32.

Виды сортировок
1. Сортировка пузырьком (Bubble sort)
2. Сортировка вставками (Insertion sort)
3. Сортировка выбором (Selection sort)
4. Сортировка слиянием (Merge sort)
5. Быстрая сортировка (Quicksort)
6. Сортировка Шелла (Shell-sort)
7. Пирамидальная сортировка. HEAP-sort
8. Линейный поиск. LINEAR search
9. Двоичный поиск. BINARY search
10. Поиск с возвратом
11. и др.
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
32

33.

Пузырьковая сортировка (Bubble Sort)
Bubble-sort with Hungarian ("Csángó") folk dance
https://www.youtube.com/watch?v=lyZQPjUT5B4
Cортировка пузырьком (bubble sort). Фрагмент 7 лекции cs50
https://www.youtube.com/watch?v=oqpICiM165I
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
33

34.

Пузырьковая сортировка (Bubble Sort)
Сортировка пузырьком или сортировка простыми обменами – один из
простейших алгоритмов сортировки. Он применяется
для упорядочивания массивов небольших размеров.
Суть алгоритма в том, что совершается несколько проходов по массиву. При
каждом проходе попарно сравниваются два соседних элемента. Если они
находятся в верном порядке, то ничего не происходит, в противном случае
они меняются местами. В результате первого прохода максимальный
элемент окажется в конце, то есть всплывет словно пузырек. Затем все
повторяется до того момента пока весь массив не будет отсортирован.
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
34

35.

Реализация сортировки пузырьком
с помощью циклов for
from random import randint
N = 10
a = []
for i in range(N):
a.append(randint(1, 99))
print(a)
[36, 9, 27, 45, 82, 33, 39, 53, 49, 74]
[9, 27, 33, 36, 39, 45, 49, 53, 74, 82]
for i in range(N-1):
for j in range(N-i-1):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print(a)
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
35

36.

Реализация сортировки пузырьком
c помощью циклов while
from random import randint
N = 10
a = []
for i in range(N):
a.append(randint(1, 99))
print(a)
i = 0
while i < N - 1:
[99, 74, 27, 32, 38, 31, 59, 34, 9, 37]
[9, 27, 31, 32, 34, 37, 38, 59, 74, 99]
j = 0
while j < N - 1 - i:
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
j += 1
i += 1
print(a)
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
36

37.

Функция сортировки пузырьком
from random import randint
def bubble(array):
for i in range(N-1):
for j in range(N-i-1):
if array[j] > array[j+1]:
buff = array[j]
array[j] = array[j+1]
array[j+1] = buff
N = 10
a = []
for i in range(N):
a.append(randint(1, 99))
print(a)
bubble(a)
print(a)
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
37

38.

Функция сортировки пузырьком
def bubble_sort(nums):
# Устанавливаем swapped в True, чтобы цикл запустился хотя бы один раз
swapped = True
while swapped:
swapped = False
for i in range(len(nums) - 1):
if nums[i] > nums[i + 1]:
# Меняем элементы
nums[i], nums[i + 1] = nums[i + 1], nums[i]
# Устанавливаем swapped в True для следующей итерации
swapped = True
# Проверяем, что оно работает
random_list_of_nums = [5, 2, 1, 8, 4]
print(random_list_of_nums)
bubble_sort(random_list_of_nums)
print(random_list_of_nums)
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
[5, 2, 1, 8, 4]
[1, 2, 4, 5, 8]
38

39.

Анимация 8 видов сортировки
https://www.toptal.com/developers/sorting-algorithms/few-unique-keys
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
39

40.

15 алгоритмов сортировки за 6 минут
https://www.youtube.com/watch?v=kPRA0W1kECg
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
40

41.

Сортировка вставками (Insertion Sort)
Insert-sort with Romanian folk dance
https://www.youtube.com/watch?v=ROalU379l3U
Сортировка вставками (Insertion Sort). Фрагмент 7 лекции cs50
https://www.youtube.com/watch?v=dAAkElskMmU
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
41

42.

Сортировка выбором (Selection sort)
Select-sort with Gypsy folk dance
https://www.youtube.com/watch?v=Ns4TPTC8whw
Сортировка выбором (Selection sort). Фрагмент 7 лекции cs50
https://www.youtube.com/watch?v=8Y89DRq9Y3o
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
42

43.

Сортировка слиянием (Merge sort)
Merge-sort with Transylvanian-saxon (German) folk dance
https://www.youtube.com/watch?v=XaqR3G_NVoo
Основы программирования. Сортировка методом слияния
https://www.youtube.com/watch?v=BaY1a0VPIsE
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
43

44.

Быстрая сортировка (Quicksort)
Quick-sort with Hungarian (Küküllőmenti legényes) folk dance
https://www.youtube.com/watch?v=ywWBy6J5gz8
Гарвард. CS50 на русском. 1. Короткие видео. 7. Быстрая сортировка
https://www.youtube.com/watch?v=4s-aG6yGGLU
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
44

45.

Сортировка Шелла (Shell-sort)
Shell-sort with Hungarian (Székely) folk dance
https://www.youtube.com/watch?v=CmPA7zE8mx0
Сортировка Шелла. Shell sort. Python
https://www.youtube.com/watch?v=ITX39XdCtJ0
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
45

46.

Пирамидальная сортировка. HEAP-sort
HEAP-sort with Hungarian (MEZŐSÉGI) folk dance
https://www.youtube.com/watch?v=Xw2D9aJRBY4
Сортировка кучей (heap sort)
https://www.youtube.com/watch?v=R6x7OuF_dYM
Пирамидальная сортировка
https://www.youtube.com/watch?v=BrmGRKsEyps
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
46

47.

Линейный поиск. LINEAR search
LINEAR search with FLAMENCO dance
https://www.youtube.com/watch?v=-PuqKbu9K3U
Гарвард CS50 на русском. 1. Короткие видео. 2. Линейный поиск
https://www.youtube.com/watch?v=bmhWdD0hK7s
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
47

48.

Двоичный поиск. BINARY search
BINARY search with FLAMENCO dance
https://www.youtube.com/watch?v=iP897Z5Nerk
Гарвард CS50 на русском. 1. Короткие видео. 3. Бинарный поиск
https://www.youtube.com/watch?v=aFoaeA2tsVQ
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
48

49.

Поиск с возвратом
BACKTRACKING ballet choreography (The Four Queens)
https://www.youtube.com/watch?v=R8bM6pxlrLY
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
49

50.

Дополнительные материалы
• Топ-5 алгоритмов сортировки на Python. Примеры.
(Bubble Sort (пузырьковая сортировка) / Selection Sort
(сортировка выбором) / Insertion Sort (сортировка
вставками) / Merge Sort (сортировка слиянием) /Quick
Sort (быстрая сортировка)
https://pythonru.com/osnovy/top-5-algoritmov-sortirovkina-python
• Объяснение алгоритмов сортировки с примерами на
Python
• https://techrocks.ru/2019/05/14/sorting-algorithmsexplanation/
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
50

51.

Белорусско-Российский университет
Кафедра «Программное обеспечение информационных технологий»
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы
сортировки.
Благодарю
за внимание
КУТУЗОВ Виктор Владимирович
Белорусско-Российский университет, Республика Беларусь, Могилев, 2021
51

52.

Список использованных источников
1.
Python
https://www.python.org/
2.
Google Colaboratory
https://colab.research.google.com/
3.
Сортировка по произвольным элементам вложенных списков
https://younglinux.info/python/feature/sort-list
4.
Docs » II. Повторное использование кода » 10. Полезные функции » Функция sorted
https://pyneng.readthedocs.io/ru/latest/book/10_useful_functions/sorted.html
5.
Разница между sort () и sorted () в python [duplicate]
https://legkovopros.ru/questions/3686/raznicza-mezhdu-z-ort-i-z-orted-v-python-duplicate
6.
sorted(iterable, *, key=None, reverse=False)
https://docs.python.org/3/library/functions.html?highlight=sorted#sorted
7.
Возможности и примеры функции sorted в Python
https://pythonru.com/osnovy/vozmozhnosti-i-primery-funkcii-sorted-v-python
8.
Объяснение алгоритмов сортировки с примерами на Python
https://techrocks.ru/2019/05/14/sorting-algorithms-explanation/
9.
Метод List.sort в Python
https://dev-gang.ru/article/metod-listsort-v-python-b5gidv4ync/
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
52

53.

Список использованных источников
10. Лаборатория линуксоида. Сортировка пузырьком
https://younglinux.info/algorithm/bubble
11. Bubble-sort with Hungarian ("Csángó") folk dance
https://www.youtube.com/watch?v=lyZQPjUT5B4
12. Cортировка пузырьком (bubble sort). Фрагмент 7 лекции cs50
https://www.youtube.com/watch?v=oqpICiM165I
13. Сортировки в гифках: 8 самых популярных алгоритмов
https://proglib.io/p/sort-gif/
14. Анимация 8 видов сортировки // Animation, code, analysis, and discussion of 8 sorting algorithms on few
unique keys.
https://www.toptal.com/developers/sorting-algorithms/few-unique-keys
15. 15 алгоритмов сортировки за 6 минут // 15 Sorting Algorithms in 6 Minutes
https://www.youtube.com/watch?v=kPRA0W1kECg
16. Insert-sort with Romanian folk dance
https://www.youtube.com/watch?v=ROalU379l3U
17. Сортировка вставками (Insertion Sort). Фрагмент 7 лекции cs50
https://www.youtube.com/watch?v=dAAkElskMmU
18. Select-sort with Gypsy folk dance
https://www.youtube.com/watch?v=Ns4TPTC8whw
19. Сортировка выбором (Selection sort). Фрагмент 7 лекции cs50
https://www.youtube.com/watch?v=8Y89DRq9Y3o
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
53

54.

Список использованных источников
20. Merge-sort with Transylvanian-saxon (German) folk dance
https://www.youtube.com/watch?v=XaqR3G_NVoo
21. Основы программирования. Сортировка методом слияния
https://www.youtube.com/watch?v=BaY1a0VPIsE
22. Quick-sort with Hungarian (Küküllőmenti legényes) folk dance
https://www.youtube.com/watch?v=ywWBy6J5gz8
23. Гарвард. CS50 на русском. 1. Короткие видео. 7. Быстрая сортировка
https://www.youtube.com/watch?v=4s-aG6yGGLU
24. Shell-sort with Hungarian (Székely) folk dance
https://www.youtube.com/watch?v=CmPA7zE8mx0
25. Сортировка Шелла. Shell sort. Python
https://www.youtube.com/watch?v=ITX39XdCtJ0
26. HEAP-sort with Hungarian (MEZŐSÉGI) folk dance
https://www.youtube.com/watch?v=Xw2D9aJRBY4
27. Сортировка кучей (heap sort)
https://www.youtube.com/watch?v=R6x7OuF_dYM
28. Пирамидальная сортировка
https://www.youtube.com/watch?v=BrmGRKsEyps
29. LINEAR search with FLAMENCO dance
https://www.youtube.com/watch?v=-PuqKbu9K3U
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
54

55.

Список использованных источников
30. Гарвард CS50 на русском. 1. Короткие видео. 2. Линейный поиск
https://www.youtube.com/watch?v=bmhWdD0hK7s
31. BINARY search with FLAMENCO dance
https://www.youtube.com/watch?v=iP897Z5Nerk
32. Гарвард CS50 на русском. 1. Короткие видео. 3. Бинарный поиск
https://www.youtube.com/watch?v=aFoaeA2tsVQ
33. BACKTRACKING ballet choreography (The Four Queens)
https://www.youtube.com/watch?v=R8bM6pxlrLY
34. Лекции по алгоритмам и структурам данных. Бабичев С. Л. 16 октября 2020 г.
https://www.babichev.org/books/AlgoBook.pdf
Информатика. Программирование на Python
Тема: Python. Основы. Сортировка. Алгоритмы сортировки
55
English     Русский Rules