Python3 notes

简介: Python3 notes

Python 堆排序


堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。

实例

def heapify(arr, n, i):  

   largest = i  

   l = 2 * i + 1     # left = 2*i + 1  

   r = 2 * i + 2     # right = 2*i + 2  

 

   if l < n and arr[i] < arr[l]:  

       largest = l  

 

   if r < n and arr[largest] < arr[r]:  

       largest = r  

 

   if largest != i:  

       arr[i],arr[largest] = arr[largest],arr[i]  # 交换

 

       heapify(arr, n, largest)  

 

def heapSort(arr):  

   n = len(arr)  

 

   # Build a maxheap.  

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

       heapify(arr, n, i)  

 

   # 一个个交换元素

   for i in range(n-1, 0, -1):  

       arr[i], arr[0] = arr[0], arr[i]   # 交换

       heapify(arr, i, 0)  

 

arr = [ 12, 11, 13, 5, 6, 7]  

heapSort(arr)  

n = len(arr)  

print ("排序后")  

for i in range(n):  

   print ("%d" %arr[i]),


执行以上代码输出结果为:

排序后

5

6

7

11

12

13

相关文章
|
8月前
|
SQL 关系型数据库 数据库连接
Python3 notes
Python3 notes
|
6月前
|
Prometheus 运维 监控
kubevela可观测体系问题之KubeVela的用户在描述应用时加入可观测的配置的问题如何解决
kubevela可观测体系问题之KubeVela的用户在描述应用时加入可观测的配置的问题如何解决
|
7月前
|
SQL 数据可视化 数据库
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
41 0
|
JSON 前端开发 JavaScript
前后端分离必备的接口规范,十分接地气!
1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。
941 0
前后端分离必备的接口规范,十分接地气!
|
缓存 NoSQL MongoDB
Python编程:redis缓存数据库
Python编程:redis缓存数据库
195 0
|
存储 机器学习/深度学习 算法
【小Y学算法】⚡️每日LeetCode打卡⚡️——2.两数相加
🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻 🌲 每天打卡一道算法题,既是一个学习过程,又是一个分享的过程😜 🌲 提示:本专栏解题 编程语言一律使用 C# 和 Java 两种进行解题 🌲 要保持一个每天都在学习的状态,让我们一起努力成为算法大神吧🧐! 🌲 今天是力扣算法题持续打卡第2天🎈! 🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻🌻
|
监控 前端开发 .NET
ASP.N“.NET研究”ET MVC开发人员必备的五大工具
  1. Chirpy Zippy   下载地址:上海徐汇企业网站制作rget="_blank">http://chirpy.codeplex.com/   过去,在将JavaScript脚本和CSS文件部署到Web服务器之前,我习惯使用压缩工具进行压缩再部署,安装Chirpy后,你的脚本和CSS文件将会基于其名字自动压缩,例如,假设你有一个名叫myscript.js的脚步文件想要压缩,只要你将其重命名为myscript.yui.js,它就会调用YUI压缩程序自动压缩,压缩后的文件在解决方案资源管理器中显示为一个子项目,你可以继续查看和调试未经压缩的脚本。
1346 0
|
并行计算 异构计算 Python
|
12天前
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
201894 14
对话 | ECS如何构筑企业上云的第一道安全防线