打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python|一览小顶堆

前言

堆排序是指利用堆这种数据结构所设计的一种排序算法。本节将以小堆顶为例来进行介绍。

问题描述

堆是一种完全二叉树(一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。)的结构。以本次所讲的小顶堆为例,小堆顶是指其任意父节点的数据值均不大于其左子节点和右子节点的值。以如数组[4,6,8,5,9]为例:


解决方案

再对上面的例子进行解释,以小顶堆为例,首先需要将无需序列构建成一个堆,根据升序降序需求选择为小顶堆,然后需要将最大元素"沉"到数组末端,以此类推,将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端。

结语

本文简单的介绍了堆排序中小顶堆的排序,并以一个数组作为例子进行讲解。下节我们会进一步介绍堆排序。

作者:文裕龙

实习编辑:衡辉

稿件来源:深度学习与文旅应用实验室(DLETA)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
排序算法一览(上):交换类、选择类和插入类排序
常见数据结构与算法整理总结(上)
跳表(SkipList)原理篇
数据结构:八大数据结构分类
介绍常用的数据结构:数组,栈,链表,队列,树,图,堆,散列表
一小时读完剑指offer(全题目精校版)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服