一、说明
在这里对数据结构课进行回顾,以确保我们不会忘记我们所讨论的内容。对于没有上过课的人来说,这些笔记可能很难理解。这里用python实现,以提高python认知。
二、算法1:归并排序
在课堂上,我们编写了归并排序算法。它在维基百科上有很好的动画描述。在课堂上,我们写了类似下面的代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
def merge(left, right): result = [] i = 0 j = 0 while i < len(left) or j < len(right): if i == len(left): result.append(right[j]) j = j + 1 elif j == len(right): result.append(left[i]) i = i + 1 elif left[i] < right[j]: result.append(left[i]) i = i + 1 else: result.append(right[j]) j & |