pb62196676

Common mistakes in bubble sort

Nov 15th, 2026
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. Common mistakes in bubble sort
  2.  
  3. Каждая учебная задача таит пару-тройку грабель; вот они.
  4.  
  5. Задача
  6.  
  7. Отсортировать список чисел по возрастанию простейшим алгоритмом — сортировкой пузырьком.
  8.  
  9. Решение
  10.  
  11. ``python
  12. def bubble_sort(arr: list[int]) -> list[int]:
  13. a = arr[:]
  14. n = len(a)
  15. for i in range(n):
  16. for j in range(n - 1 - i):
  17. if a[j] > a[j + 1]:
  18. a[j], a[j + 1] = a[j + 1], a[j]
  19. return a
  20.  
  21. print(bubble_sort([5, 1, 4, 2, 8]))
  22. `
  23.  
  24. Как это работает
  25.  
  26. На каждом проходе самое большое из оставшихся элементов «всплывает» в конец. Внутренний цикл сокращается на i, ведь хвост уже отсортирован.
  27.  
  28. Пример работы
  29.  
  30. `text
  31. [1, 2, 4, 5, 8]
  32. ``
  33.  
  34. Сложность
  35.  
  36. O(n²) по времени, O(1) по памяти (без учёта копии).
  37.  
  38. Частые ошибки
  39.  
  40. 1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
  41. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
  42. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.
  43.  
  44. Если решение заработало с первого раза — всё равно сверьтесь со списком ошибок: половина багов рождается при доработках.
  45.  
  46. View Full Gallery → https://go.cbrop.com/prse
  47.  
  48. Related:
  49.  
  50. https://pastebin.com/zYSEnhbB
  51. https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/word-count-tests-mwe2yt35.md
  52. https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/is-prime-razbor-mwdxlox2.md
  53. https://kappa.lol/Uszgtt
  54. https://blogfreely.net/sarah-yakovlev/yengesini-sikiyor-turk
  55.  
Advertisement
Add Comment
Please, Sign In to add comment