算法
Aerkui
这个作者很懒,什么都没留下…
展开
-
算法(一)冒泡排序
def bubble_sort(alist): """冒泡排序""" n = len(alist) for j in range(n - 1): for i in range(n - j - 1): if alist[i] > alist[i + 1]: alist[i], alist[i+1] ...原创 2020-01-29 16:48:04 · 111 阅读 · 0 评论 -
算法练习(二)插入排序
插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。如图所示: def insert_sort(alist): n = len(alist) if n <= 1: return alist for i in range(1, n-1): for j in range(i, 0, -1):原创 2020-07-13 10:58:52 · 262 阅读 · 0 评论 -
使用二分法在一个有序列表中查找某个数在列表中的位置(Python和golang版本)
使用二分法在一个有序列表中查找某个数在列表中的位置 时间复杂度 时间复杂度:O(log(n)) 实现 def search(key, alist: list): left = 0 right = len(alist) - 1 while left <= right: mid = (left + right) >> 1 if key > alist[mid]: left = mid + 1原创 2020-07-07 09:52:31 · 1155 阅读 · 0 评论