首页 > 编程语言 >Python数据结构与算法05——归并排序

Python数据结构与算法05——归并排序

时间:2024-02-24 21:11:36浏览次数:34  
标签:aimlist 归并 排序 05 Python merge 数据结构

归并排序:

def merge_sort(aimlist):
    #归并排序 拆分-排序-合并 也就是merge_返回的是是一个已经排好序的列表
    n=len(aimlist)
    if n<=1:
        return aimlist
    mid=n//2
    aimlist_left=merge_sort(aimlist[:mid])
    aimlist_right=merge_sort(aimlist[mid:])
    lp,rp=0,0
    result=[]
    while lp<len(aimlist_left) and rp<len(aimlist_right):
        if aimlist_left[lp]<=aimlist_right[rp]:
            result.append(aimlist_left[lp])
            lp+=1
        else:
            result.append(aimlist_right[rp])
            rp+=1

    result.extend(aimlist_right[rp:])
    result.extend(aimlist_left[lp:])
    return result

li=[23,56,34,12,67,90]
print(merge_sort(li))

 

标签:aimlist,归并,排序,05,Python,merge,数据结构
From: https://www.cnblogs.com/yyyjw/p/18031584

相关文章

  • python list 动态数组
    list 对象是一种 容量自适应 的 线性容器 ,底层由 动态数组 实现。动态数组结构决定了 list 对象具有优秀的尾部操作性能,但头部操作性能却很差劲。容量调整当我们调用 append 、pop 、insert 等方法时,列表长度随之发生变化。当列表长度超过底层数组容量时,便需要......
  • 用python脚本跑套娃题
    importosimportzipfiledir="C://Users//32454//Desktop//4032"defjieya():foriinrange(4032,0,-1):#从4032开始,递减到1print(i)file_path=os.path.join(dir,str(i)+".zip")ifos.path.exists(file_path):#检查文件是否存在try:zpf=zip......
  • Python 潮流周刊第 39 期(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。周刊全文:https://pythoncat.top/posts/2024-02-24-weekly以下是本期摘要:......
  • 「笔记」Python 1
    感觉自己学的Python基本是翻译C++,开坑虽然标题带个1,但是不一定会有下集的样子(Python基础字符串Python里可以用+来拼接字符串,像这个样子:s1='me's2='w's3=s1+'o'+s2print(s3)#output:#meowPython里字符串可以单引号还可以双引号,用单引号的话打双......
  • oracle指定控制文件启动 ORA-00205: error in identifying control file, check aler
    SQL>startupORACLEinstancestarted.TotalSystemGlobalArea1068937216bytesFixedSize2220200bytesVariableSize708841304bytesDatabaseBuffers352321536bytesRedoBuffers5554176bytesORA-00205:......
  • Java基础05:类型转换
    类型转换1.由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换低------------------------------------------------->高byte,short,char--->int--->long--->float--->double强制转换:由高类型转换到低类型  自动......
  • 数据结构可视化网站(B-tree & B+tree)
    -网址:B-TreeVisualizationB+TreeVisualization(usfca.edu)  ......
  • IIS PUT请求.netcore6.0接口 报HTTP Error 405 - Method Not Allowed
    在新的服务器上部署了一个.netcore的项目,部分请求地址使用了put、delete方式,导致无法正常请求,报Error405-MethodNotAllowed。由于配置IIS时把“WebDAV发布”给勾选了,所以会导致拦截。服务器和IIS10配置如下图:解决方案服务器上删除“WebDAV发布”1、打开“控制面......
  • 基于Python的地图绘制教程
    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括rasterio、geopandas、cartopy等,可通过pip等方式安装。1示例代码1.1导入相关模块importrasterioimportgeopandasasgpdimportnumpyasnpimportcartopy.crsasccrsimportmatplotlib.pyplot......
  • 【数据结构】C语言实现图的相关操作
    图图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。术语无向图:每条边都是无方向的图有向图:每条边都是有方向的图完全图:任意两个点都有一条边相连的图边:无向图中的边弧:有向图中的边稀疏......