看啥推荐读物
专栏名称: AI科技大本营
迎来到AI科技大本营。这里汇集了优秀的AI学习者,技术大咖和产业领袖;提供接地气的实战课程。在这里和优秀的人一起成长。
今天看啥  ›  专栏  ›  AI科技大本营

算法面试经常需要你手写的三个排序算法(Python语言)

AI科技大本营  · 公众号  · AI  · 2019-03-18 19:39
作者 | 程序员小吴来源 | 五分钟学算法(ID: CXYxiaowu)1. 归并排序1.1 算法步骤申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;设定两个指针,最初位置分别为两个已经排序序列的起始位置;比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;重复步骤 3 直到某一指针达到序列尾;将另一序列剩下的所有元素直接复制到合并序列尾。1.2 动画视频演示1.3 参考代码def mergeSort(arr):    import math    if(len(arr)2):        return arr    middle = math.floor(len(arr)/2)    left, right = arr[0:middle], arr[middle:]    return merge(mergeSort(left), mergeSort(right))def merge(left,right):    result = []    while left and right:     ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照