Содержание
- 2. Программирование на языке Python § 62. Массивы
- 3. Что такое массив? Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних
- 4. Что такое массив? A массив 2 15 НОМЕР элемента массива (ИНДЕКС) A[0] A[1] A[2] A[3] A[4]
- 5. Массивы в Python: списки A = [1, 3, 4, 23, 5] A = [1, 3] +
- 6. Генераторы списков A =[ i for i in range(10) ] [0, 1, 2, 3, 4, 5,
- 7. Как обработать все элементы массива? Создание массива: Обработка: N = 5 A = [0]*N # обработать
- 8. Как обработать все элементы массива? Обработка с переменной: i = 0; # обработать A[i] i +=
- 9. Ввод массива с клавиатуры Создание массива: Ввод с клавиатуры: N = 10 A = [0]*N for
- 10. Ввод массива с клавиатуры Ввод без подсказок: Ввод в одной строке: A = [ int(input()) for
- 11. Вывод массива на экран Как список: print ( A ) [1, 2, 3, 4, 5] В
- 12. Заполнение случайными числами from random import randint N = 10 A = [ randint(20,100) for x
- 13. Перебор элементов Общая схема (можно изменять A[i]): for i in range(N): ... # сделать что-то с
- 14. Подсчёт нужных элементов Задача. В массиве записаны данные о росте баскетболистов. Сколько из них имеет рост
- 15. Перебор элементов Сумма: summa = 0 for x in A: if 180 summa += x print
- 16. Перебор элементов Среднее арифметическое: count = 0 summa = 0 for x in A: if 180
- 17. Задачи «A»: Заполните массив случайными числами в интервале [0,100] и найдите среднее арифметическое его значений. Пример:
- 18. Задачи «C»: Заполните массив из N элементов случайными числами в интервале [1,N] так, чтобы в массив
- 19. Программирование на языке Python § 63. Алгоритмы обработки массивов
- 20. Поиск в массиве Найти элемент, равный X: i = 0 while A[i] != X: i +=
- 21. Поиск в массиве nX = -1 for i in range ( N ): if A[i] ==
- 22. for i in range ( N ): if A[i] == X: print ( "A[", i, "]=",
- 23. Задачи «A»: Заполните массив случайными числами в интервале [0,5]. Введите число X и найдите все значения,
- 24. Задачи «B»: Заполните массив случайными числами в интервале [0,5]. Определить, есть ли в нем элементы с
- 25. Задачи «C»: Заполните массив случайными числами. Определить, есть ли в нем элементы с одинаковыми значениями, не
- 26. Максимальный элемент M = A[0] for i in range(1,N): if A[i] > M: M = A[i]
- 27. Максимальный элемент и его номер
- 28. Максимальный элемент и его номер M = max(A) nMax = A.index(M) print ( "A[", nMax, "]=",
- 29. Задачи «A»: Заполнить массив случайными числами и найти минимальный и максимальный элементы массива и их номера.
- 30. Задачи «C»: Введите массив с клавиатуры и найдите (за один проход) количество элементов, имеющих максимальное значение.
- 31. Реверс массива «Простое» решение: for i in range( N ): поменять местами A[i] и A[N-1-i] N//2
- 32. Реверс массива for i in range(N//2): c = A[i] A[i] = A[N-1-i] A[N-1-i] = c Варианты
- 33. Циклический сдвиг элементов «Простое» решение: c = A[0] for i in range(N-1): A[i] = A[i+1] A[N-1]
- 34. Срезы в Python A[1:3] [12, 5] A[2:3] [5] A[:3] [7, 12, 5] A[0:3] с начала A[3:N-2]
- 35. Срезы в Python – отрицательные индексы A[1:-1] [12,5,8,…,18,34,40] разрезы A[1:N-1] A[-4:-2] [18, 34] A[N-4:N-2]
- 36. Срезы в Python – шаг A[1:6:2] [12, 8, 18] разрезы A[::3] [7, 8, 34] A[8:2:-2] [23,
- 37. Задачи «A»: Заполнить массив случайными числами и выполнить циклический сдвиг элементов массива вправо на 1 элемент.
- 38. Задачи «C»: Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные
- 39. Отбор нужных элементов Простое решение: Задача. Отобрать элементы массива A, удовлетворяющие некоторому условию, в массив B.
- 40. Отбор нужных элементов Решение в стиле Python: Задача. Отобрать элементы массива A, удовлетворяющие некоторому условию, в
- 41. Задачи «A»: Заполнить массив случайными числами в интервале [-10,10] и отобрать в другой массив все чётные
- 42. Задачи «C»: Заполнить массив случайными числами и отобрать в другой массив все числа Фибоначчи. Используйте логическую
- 43. Особенности работы со списками A = [1, 2, 3] B = A [1, 2, 3] A
- 44. Копирование списков «Поверхностное» копирование: import copy A = [1, 2, 3] B = copy.copy(A) A =
- 45. Программирование на языке Python § 64. Сортировка
- 46. Что такое сортировка? Сортировка – это расстановка элементов массива в заданном порядке. …по возрастанию, убыванию, последней
- 47. Метод пузырька (сортировка обменами) Идея: пузырек воздуха в стакане воды поднимается со дна вверх. Для массивов
- 48. Метод пузырька 2-й проход: 3-й проход: 4-й проход:
- 49. Метод пузырька 1-й проход: сделать для j от N-2 до 0 шаг -1 если A[j+1] #
- 50. Метод пузырька 1-й проход: for j in range(N-2, -1 ,-1): if A[j+1] # поменять местами A[j]
- 51. Метод пузырька for i in range(N-1): for j in range(N-2, i-1 ,-1): if A[j+1] A[j], A[j+1]
- 52. Задачи «A»: Напишите программу, в которой сортировка выполняется «методом камня» – самый «тяжёлый» элемент опускается в
- 53. Метод выбора (минимального элемента) Идея: найти минимальный элемент и поставить его на первое место. for i
- 54. Метод выбора (минимального элемента) for i in range(N-1): if i!= nMin: A[i], A[nMin] = A[nMin], A[i]
- 55. Задачи «A»: Массив содержит четное количество элементов. Напишите программу, которая сортирует первую половину массива по возрастанию,
- 56. Задачи «B»: Напишите программу, которая сортирует массив и находит количество различных чисел в нем. Пример: Массив:
- 57. Быстрая сортировка (QuickSort) Идея: выгоднее переставлять элементы, который находятся дальше друг от друга.
- 58. Быстрая сортировка Шаг 2: переставить элементы так: при сортировке элементы не покидают « свою область»! Шаг
- 59. Быстрая сортировка Разделение: выбрать любой элемент массива (X=67) установить L = 1, R = N увеличивая
- 60. Быстрая сортировка
- 61. Быстрая сортировка N = 7 A = [0]*N # заполнить массив qSort( A, 0, N-1 )
- 62. Быстрая сортировка def qSort ( A, nStart, nEnd ): if nStart >= nEnd: return L =
- 63. Быстрая сортировка Случайный выбор элемента-разделителя: from random import randint def qSort ( A, nStart, nEnd ):
- 64. Быстрая сортировка В стиле Python: from random import choice def qSort ( A ): if len(A)
- 65. Быстрая сортировка Сортировка массива случайных значений:
- 66. Сортировка в Python B = sorted( A ) алгоритм Timsort По возрастанию: B = sorted( A,
- 67. Сортировка в Python – на месте A.sort() По возрастанию: A.sort ( reverse = True ) По
- 68. Задачи «A»: Массив содержит четное количество элементов. Напишите программу, которая сортирует по возрастанию отдельно элементы первой
- 69. Задачи «B»: Напишите программу, которая сортирует массив и находит количество различных чисел в нем. Используйте алгоритм
- 70. Задачи «C»: Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и
- 71. Программирование на языке Python § 65. Двоичный поиск
- 72. Двоичный поиск X = 7 X 8 4 X > 4 6 X > 6 Выбрать
- 73. Двоичный поиск X = 44
- 74. Двоичный поиск L = 0; R = N # начальный отрезок while L c = (L+R)
- 75. Двоичный поиск скорость выше, чем при линейном поиске нужна предварительная сортировка Число сравнений:
- 76. Задачи «A»: Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный поиск, определить,
- 77. Задачи «B»: Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный поиск, определить,
- 79. Скачать презентацию