Простые методы сортировки
Download 33.28 Kb.
|
3-ïáí«ÓáÔ«Ó¡á´
- Bu sahifa navigatsiya:
- Сортировка выбором
- Сортировка пузырьком
- Входные данные
- Выходные данные
Чупанов Отажон 943-20 Лабораторная работа №3 Тема: Простые методы сортировки Алгоритм сортировки — это алгоритм для упорядочивания элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в остальных полях хранятся какие-либо данные, никак не влияющие на работу алгоритма. Сортировка выбором Идея метода состоит в том, чтобы создавать отсортированную последовательность путем присоединения к ней одного элемента за другим в правильном порядке. Будем строить готовую последовательность, начиная с левого конца массива. Алгоритм состоит из n последовательных шагов, начиная от нулевого и заканчивая (n-1)-м. Сортировка пузырьком Расположим массив сверху вниз, от нулевого элемента - к последнему. Идея метода: шаг сортировки состоит в проходе снизу вверх по массиву. По пути просматриваются пары соседних элементов. Если элементы некоторой пары находятся в неправильном порядке, то меняем их местами Задания 10 Ваня идет поздней ночью по прямолинейной улице длины l, которая освещается n фонарями. Введём систему координат, в которой начало улицы соответствует точке 0, а её конец — точке l. Тогда i-й фонарь находится в точке ai. Фонарь освещает все точки улицы, которые находятся от него на расстоянии не больше d, где d — некоторое положительное число, общее для всех фонарей. Входные данные В первой строке записаны два целых числа n, l (1 ≤ n ≤ 1000, 1 ≤ l ≤ 109) — количество фонарей и длина улицы соответственно. В следующей строке записано n целых чисел ai (0 ≤ ai ≤ l). Несколько фонарей могут находиться в одной точке. Фонари могут находиться в концах улицы. Выходные данные Выведите минимальный радиус освещения d, который необходим, чтобы осветить всю улицу. Ответ будет считаться правильным, если его абсолютная или относительная погрешность не превышает 10 - 9 n, l = map(int, input().split()) lights = list(set([0] + sorted([int(i) for i in input().split()]) + [1])) count = len(lights) average = [] for light in range(count - 1, 0, -1): average.append(lights[light] - lights[light - 1]) lig_max = max(average) lig_min = min(average) if lig_min < lig_max/2: print(lig_max/2) else: print(lig_min) Download 33.28 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling