Python3 notes

简介: Python3 notes

Python 堆排序

堆排序有点像先二分法找极大值,再冒泡排序:

# 假定数组最后一位是根节点,其他部分平分为分支节点

# 经过一次OneHeapSort,找到最大值并放到根节点

defOneHeapSort(list, l, r):

   if r-l<=0:

       return

   if r-l==1and list[l]>list[r]:

       list[l],list[r]= list[r],list[l]

   else:

       middle = l +(r-l-1)//2

       OneHeapSort(list, l, middle)

       OneHeapSort(list, middle+1, r-1)

       if list[middle]>list[r]:

           list[middle],list[r]= list[r],list[middle]

       if list[r-1]>list[r]:

           list[r-1],list[r]= list[r],list[r-1]


# 依次将最大值放到数组的后面

def heapSort(list):

   for i in range(len(list)-1,0,-1):

       OneHeapSort(list,0, i)



list =[1,10,8,200,50,4]

heapSort(list)

print(list)# [1,4,8,10,50,200]



稍微改下有点像归并排序,只不过归并排序是给子序列排序,而这个是每轮循环找出最大值

defOneHeapSort(list, l, r):

   if r-l<=0:

       return

   else:

       middle = l +(r-l-1)//2

       OneHeapSort(list, l, middle)

       OneHeapSort(list, middle+1, r)

       if list[middle]>list[r]:

           list[middle],list[r]= list[r],list[middle]


# 依次将最大值放到数组的后面

def heapSort(list):

   for i in range(len(list)-1,0,-1):

       OneHeapSort(list,0, i)



list =[1,10,8,200,50,4]

heapSort(list)

print(list)# [1,4,8,10,50,200]

相关文章
[c++][记录]编译libusb-win32过程
[c++][记录]编译libusb-win32过程
518 0
|
机器学习/深度学习 人工智能 自然语言处理
AI大模型学习
本文概述了AI大模型学习的五个主要方向:理论基础、训练与优化、特定领域应用、伦理与社会影响,以及未来发展趋势与挑战。
476 1
|
消息中间件 人工智能 运维
|
计算机视觉 开发者 Python
OpenCV合并图像中加权和与覆盖的讲解与实战(附Python源码)
OpenCV合并图像中加权和与覆盖的讲解与实战(附Python源码)
556 0
|
机器学习/深度学习 自然语言处理 索引
AIGC:LLM大型语言模型是怎么交流的? ———分词
AIGC:LLM大型语言模型是怎么交流的? ———分词
|
监控 前端开发 NoSQL
基于jeecgboot的flowable复杂会签加用户选择流程实现
基于jeecgboot的flowable复杂会签加用户选择流程实现
421 2
|
JavaScript vr&ar 数据库
一篇文章讲明白JS获取当前日期
一篇文章讲明白JS获取当前日期
372 0
|
Web App开发 缓存 负载均衡
什么是HTTP代理?HTTP代理的作用?HTTP代理怎么设置?
HTTP代理是一种充当客户端和服务器之间的中间人的服务器。当客户端发起请求时,HTTP代理会拦截请求并将其转发给目标服务器。一旦目标服务器响应,HTTP代理会拦截响应并将其转发回客户端。HTTP代理可以被用于多种场景,例如加强安全、缓存内容以加速访问、访问受限资源等等。在这篇文章中,我们将会讨论HTTP代理的作用、类型以及如何设置它。
什么是HTTP代理?HTTP代理的作用?HTTP代理怎么设置?
|
数据采集 安全 JavaScript
​HTML代码混淆技术:原理、应用和实现方法详解
​HTML代码混淆技术:原理、应用和实现方法详解
549 0

热门文章

最新文章