博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【 python 学习笔记 -- 数据结构与算法 】归并排序 Merge Sort
阅读量:6683 次
发布时间:2019-06-25

本文共 404 字,大约阅读时间需要 1 分钟。

【归并排序】这里我们利用递归算法不断地将列表一分为二,base case就是列表中没有元素或者只剩一个元素,因为此时这个子列表必然是正序的;然后再逐步把两个排序完成的子列表合并成一个新的正序列表,直到所有元素排序完毕。

 

【示意图】这是一个从下至上的过程(Bottom-Up)

  将列表不断从中间分成两个子列表,直到到达最底部,子列表中只有一个元素

 

  

  然后,从下至上不断合并两个子列表,将两个子列表的所有元素排序形成一个新的列表。

  

 

【 implementation of merge sort 】

  

  可以利用print查看每一步做了哪些操作。

 

【 performance analysis 】

  时间复杂度是O(n*log n);但是合并的过程需要多余的空间,空间复杂度为O(n)。

 

转载于:https://www.cnblogs.com/jade-91/p/8323780.html

你可能感兴趣的文章
Linux一键安装Aria2+Yaaw+FileManager实现BT磁力下载,并在线查看/观看
查看>>
安装wxPHP后,apache无法启动
查看>>
我的友情链接
查看>>
GitOSC和GitHub上传项目
查看>>
Linux学习记录-2015-08-20--常用命令1
查看>>
【动态规划】0-1背包问题原理和实现
查看>>
COMP9321/19T1/resources/22490
查看>>
在Word 2007文档表格中设置行高度和列宽度
查看>>
android:layout_gravity和android:gravity
查看>>
关于MYSQL的一些命令
查看>>
SCCM 2016 为客户端分发管理组件Configuration Manager(一)
查看>>
交换机SPAN功能配置
查看>>
Restful学习随笔
查看>>
CurrentRowColor 选中行 颜色改变
查看>>
内容溢出显示省略号
查看>>
更改matlab默认工作路径
查看>>
JavaScript 书籍推荐(转)
查看>>
Adobe:彻底解决Firefox与Flash插件卡顿
查看>>
凡客和锤子
查看>>
设计模式(5)--单例模式
查看>>