# Ищем элемент в списке
target_element = 5
result = search_unsorted_list(my_list, target_element)
if result:
print(f"Элемент {target_element} найден в списке.")
else:
print(f"Элемент {target_element} не найден в списке.")
```
В этом примере, функция `search_unsorted_list` принимает несортированный список `lst` и целевой элемент `target`. Она проходит по всем элементам списка и сравнивает их с целевым элементом. Если элемент найден, функция возвращает `True`, иначе `False`.
Временная сложность этого алгоритма – O(n), так как, в худшем случае, он должен пройти через весь список. В этом случае, список `my_list` содержит 8 элементов, и если мы ищем элемент, который находится в конце списка, то придется выполнить 8 сравнений.
Результат выполнения кода, приведенного выше, будет зависеть от того, присутствует ли целевой элемент в несортированном списке. Возможные результаты:
Предположим, целевой элемент `target_element` равен 5, и он присутствует в списке `my_list`. В этом случае, результат выполнения будет:
```
Элемент 5 найден в списке.
```
Если целевой элемент не присутствует в списке, результат выполнения будет:
```
Элемент 5 не найден в списке.
```
Помните, что это только пример демонстрации временной сложности O(n) для поиска элемента в несортированном списке. В реальных ситуациях, если у вас есть большие списки, и вам часто приходится выполнять поиск, возможно, вам следует рассмотреть более эффективные алгоритмы и структуры данных, чтобы улучшить производительность.
Пример 2: Сортировка пузырьком
Сортировка пузырьком – это один из простых алгоритмов сортировки, который используется для упорядочивания элементов в списке. Он получил свое название из-за того, что элементы "всплывают" вверх по списку, подобно пузырькам воды в бокале. Этот алгоритм применяется в различных сферах, где необходима сортировка данных, но важно понимать, что он не является оптимальным выбором для больших списков из-за своей квадратичной временной сложности.
Принцип работы сортировки пузырьком довольно прост:
1. Алгоритм начинает сравнивать пары соседних элементов списка и менять их местами, если они находятся в неправильном порядке (например, если один элемент больше другого).
2. Этот процесс продолжается до тех пор, пока не будет выполнено одно полное прохождение по списку без необходимых обменов элементов. Это означает, что самый большой элемент "всплывет" до конца списка после первой итерации.