专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

堆排序算法实现原理,堆排序算法流程图解及代码

来源:小易整编  作者:小易  发布时间:2023-02-14 07:34
摘要:堆排序算法实现原理,堆排序算法流程图解及代码理解堆排序需要首先了解堆的特性,不熟悉的朋友可以参考我之前的文章《数据结构-堆》。堆排序就是利用堆这种数据结构的特性进行排序的算法。分为两种:1.升序排序,使用最大堆或者叫大顶堆。2.降序排序,使...

堆排序算法实现原理,堆排序算法流程图解及代码

堆排序在对元素逐个处理过程中需要不断的对堆进行调整,其平均时间复杂度为O(nlogn)。下面是堆排序算法的python代码实现。

import math

#define data array for sorting

A = [1, 6, 9, 12, 2, 7]

def heap_sorting(data, length, index):

for i in range(index, -1, -1):

right = 2*i+2

left = 2*i+1

mark = i

if right < length:

if data[i] < data[right]:

mark = right

if data[mark] < data[left]:

mark = left

data[i], data[mark] = data[mark], data[i]

data[length-1], data[0] = data[0], data[length-1]

def main():

#Ascending

length=len(A)

for i in range(length , 1, -1):

heap_sorting(A, i, math.floor(i/2 - 1 ))

print(A)

if __name__=='__main__':

main()

将上面的代码保存到一个文本文件,后缀名修改为.py。可以用python解释器执行一下,会输出如下结果:

堆排序算法实现原理,堆排序算法流程图解及代码

可以看到,排序正确。


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/903078_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!

共2页 1 2 当前是最后一页

网络知识
小编:小易整编
相关文章相关阅读
  • 计算机按工作原理可分为什么

    计算机按工作原理可分为什么

    计算机按工作原理可分为数字计算机和模拟计算机。数字式电子计算机是当今世界电子计算机行业中的主流,其内部处理的是一种称为符号信号或数字信号的电信号,它有着运算速度快、运算精度高、通用性强等特点。模拟计算机是根据相似原理,用一种连续变化的模拟量...

  • php怎么实现对字符串的排序

    php怎么实现对字符串的排序

    实现步骤:1、利用str_split()函数将字符串转为字符数组,语法“str_split(字符串)”;2、使用asort()或arsort()函数来对字符数组进行升序排序或降序排序,语法“asort(字符数组)”或“arsort(字符数组...

  • c语言运算符的优先级顺序怎么排序

    c语言运算符的优先级顺序怎么排序

    c语言运算符的优先级顺序是括号运算符>一元运算符>算术运算符>移位运算符>关系运算符>位运算符>逻辑运算符>赋值运算符>逗号运算符。理解并正确使用运算符的优先级是c语言编程的关键之一,它有助于......

  • 起动机的工作原理是什么

    起动机的工作原理是什么

    起动机是用于启动内燃机的装置,以下是起动机的工作原理:1、启动时,电源通过起动电路提供电流给起动机;2、当电流通过电动机时,开始旋转;3、电动机旋转,将电动机的转动力传递给发动机的曲轴;4、曲轴转动,带动活塞和气门等部件开始运动;5、汽油或...

  • 简单选择排序是什么

    简单选择排序是什么

    简单选择排序是一种直观的排序算法,在未排序的序列中,选出最小的元素和序列的首位元素交换,接下来在剩下的未排序序列中再选出最小元素与序列的第二位元素交换,依次类推,最后形成从小到大的已排序序列。简单选择排序简单选择排序(SimpleSele...

  • 玻璃硬盘原理

    玻璃硬盘原理

    玻璃硬盘的原理基于激光干涉和全息技术,利用激光束照射到玻璃基底上,通过干涉图案将数据编码为三维像素。这些像素以微米级别的尺寸在玻璃表面形成干涉图案,每个像素都包含数据的二进制信息。由于玻璃基底的稳定性和耐久性,可以使用光学显微镜对存储在其中...

  • 文件排序怎么设置

    文件排序怎么设置

    设置文件排序方式的方法:1、右键点击文件夹空白处,选择排序方式->修改日期 递增。2、单击菜单栏工具菜单项,下拉菜单选择单击文件夹选项。3、切换到查看选项卡,点击应用到文件夹,然后确定,弹出的提示对话框选择是。4、完成修改默认排序规则......

  • 交换机的工作原理是什么

    交换机的工作原理是什么

    交换机的工作原理包括:1、数据帧接收和解析;2、转发表的更新;3、数据帧的转发;4、泛洪处理;5、维护连接。详细介绍:1、数据帧接收和解析,当交换机接收到一个数据帧时,它会首先对数据帧进行解析,提取出其中的源mac地址和目的mac地址等信息...

  • 周排行
  • 月排行
  • 年排行

精彩推荐