python 实现堆排序
来源:互联网 发布:云和数据培训靠谱不 编辑:程序博客网 时间:2024/05/23 17:28
#原理:循环数组,依次构建最大堆,构建完以后第一个元素就为最大值 swap 到最后一个位置,#继续对 数组中 0~ last-1 这个新数组构建最大堆 依次类推 到最后构建完成arr = [55, 67, 89, 12, 4, 6, 2, 34, 33, 12]arrLen = int(len(arr))#调整三个元素堆def adjustThreeH(arr,p,length): l = 2*p+1 r = 2*p+2 maxV = arr[p] if l<=length and maxV<arr[l]: maxV = arr[l] arr[l] = arr[p] arr[p] = maxV if r <=length and maxV<arr[r]: maxV = arr[r] arr[r] = arr[p] arr[p] = maxV#调整最大堆def adjustMaxH(length): indexI =int(length/2)-1 while indexI>=0: adjustThreeH(arr,indexI,length-1) indexI-=1 temp = arr[length-1] arr[length-1] = arr[0] arr[0] = tempindexO = 0while indexO<arrLen: adjustMaxH(arrLen-indexO) indexO+=1print(arr)
0 0
- Python实现 [堆] [堆排序]
- 堆排序PYTHON实现
- Python实现堆排序
- 堆排序python实现
- Python实现堆排序
- python实现堆排序
- python 实现堆排序
- 堆排序python实现
- Python 实现堆排序
- 利用Python实现堆排序
- 堆排序的python实现
- 堆排序及python实现
- 堆排序python语言实现
- 堆排序算法实现 Python
- 排序算法C++ && Python实现---堆排序
- python 实现堆排序算法代码
- python算法--堆排序详细实现
- python算法实现系列-堆排序
- Webpack+React+Typescript开发环境
- 3.3引入布局那些事~
- Android 系统默认参数的修改之系列(一)
- BlueTooth: 蓝牙协议栈的原理和结构
- PHP在Windows下安装配置第一步
- python 实现堆排序
- 利用homebrew安装nginx端口的更改
- redis相关技能积累
- 摘抄-《失控》
- C#OpenGL(SharpGL)库文件下载与和环境搭建
- 颜色代码
- tomccat下 conf/Catalina/localhost 配置
- 在构造器参数很多的时候应该使用构建器
- Linux中文件查找技术大全