
Привести примеры алгоритмов на питоне


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

Ответ:1алгорим:
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]
bubble_sort(random_list_of_nums)
print(random_list_of_nums)
2 алгоритм :
def selection_sort(nums):
# Значение i соответствует кол-ву отсортированных значений
for i in range(len(nums)):
# Исходно считаем наименьшим первый элемент
lowest_value_index = i
# Этот цикл перебирает несортированные элементы
for j in range(i + 1, len(nums)):
if nums[j] < nums[lowest_value_index]:
lowest_value_index = j
# Самый маленький элемент меняем с первым в списке
nums[i], nums[lowest_value_index] = nums[lowest_value_index], nums[i]
# Проверяем, что оно работает
random_list_of_nums = [12, 8, 3, 20, 11]
selection_sort(random_list_of_nums)
print(random_list_of_nums)
3 алгоритм
def insertion_sort(nums):
# Сортировку начинаем со второго элемента, т.к. считается, что первый элемент уже отсортирован
for i in range(1, len(nums)):
item_to_insert = nums[i]
# Сохраняем ссылку на индекс предыдущего элемента
j = i - 1
# Элементы отсортированного сегмента перемещаем вперёд, если они больше
# элемента для вставки
while j >= 0 and nums[j] > item_to_insert:
nums[j + 1] = nums[j]
j -= 1
# Вставляем элемент
nums[j + 1] = item_to_insert
# Проверяем, что оно работает
random_list_of_nums = [9, 1, 15, 28, 6]
insertion_sort(random_list_of_nums)
print(random_list_of_nums)



Примеры алгоритмов на Python
Python является одним из самых популярных языков программирования, который широко используется для разработки алгоритмов. Вот несколько примеров алгоритмов на Python:
1. Сортировка пузырьком - это простой алгоритм сортировки, который проходит по списку несколько раз, сравнивая соседние элементы и меняя их местами, если они находятся в неправильном порядке. Процесс повторяется до тех пор, пока список не будет полностью отсортирован. Вот пример кода на Python для сортировки пузырьком:
```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr
# Пример использования arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = bubble_sort(arr) print(sorted_arr) ```
2. Бинарный поиск - это алгоритм поиска элемента в отсортированном списке путем деления списка пополам и сравнения искомого элемента с элементом в середине. Если элемент найден, алгоритм возвращает его индекс, в противном случае возвращает -1. Вот пример кода на Python для бинарного поиска:
```python def binary_search(arr, target): low = 0 high = len(arr) - 1
while low <= high: mid = (low + high) // 2 if arr[mid] == target: return mid elif arr[mid] < target: low = mid + 1 else: high = mid - 1
return -1
# Пример использования arr = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] target = 23 index = binary_search(arr, target) print(f"Индекс элемента {target}: {index}") ```
3. Алгоритм Евклида для нахождения наибольшего общего делителя (НОД) - это алгоритм, который находит наибольший общий делитель двух чисел. Он основан на принципе, что НОД(a, b) равен НОД(b, a % b), где % обозначает операцию взятия остатка от деления. Вот пример кода на Python для алгоритма Евклида:
```python def euclidean_algorithm(a, b): while b != 0: a, b = b, a % b return a
# Пример использования num1 = 48 num2 = 36 gcd = euclidean_algorithm(num1, num2) print(f"Наибольший общий делитель чисел {num1} и {num2}: {gcd}") ```
4. Алгоритм поиска наименьшего общего кратного (НОК) - это алгоритм, который находит наименьшее число, которое делится на оба числа без остатка. Он основан на свойстве, что НОК(a, b) равен (a * b) / НОД(a, b), где НОД(a, b) - наибольший общий делитель. Вот пример кода на Python для алгоритма поиска НОК:
```python def least_common_multiple(a, b): gcd = euclidean_algorithm(a, b) lcm = (a * b) // gcd return lcm
# Пример использования num1 = 12 num2 = 18 lcm = least_common_multiple(num1, num2) print(f"Наименьшее общее кратное чисел {num1} и {num2}: {lcm}") ```
Это лишь несколько примеров алгоритмов на Python. Я надеюсь, что эти примеры помогут вам лучше понять, как реализовать алгоритмы на этом языке программирования. Если у вас есть еще вопросы, не стесняйтесь задавать!


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








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