Python数据结构:插入排序
思考一下5和7数字调换的可能即可。。
5是手里的牌,7是拿出来准备插入的牌…
然后把四拿出来…
把四放在一个变量存起来,然后5,7往右边挪…四放进来
然后七往右边挪一下…
依次进行…
写代码怎么挪
我要摸多少次牌?
n-1次
插入排序,复杂度O(n平方)
初始时手里(有序区)只有一张牌
每次(从无序区)摸一张牌,插入到手里已有牌的正确位置
示例代码
def insert_sort(li):for i in range(1,len(li)):#i表示摸到的牌的下标tmp = li[i]j = i - 1 #j指的是手里的牌#循环就是找插入的位置while li[j] > tmp and j >= 0:li[j+1] = li[j]j -= 1li[j+1] = tmpprint(li)return li
测试
li = [3,4,5,6,1,7,2,8,9]
li = insert_sort(li)
print(li)
打印结果
[3, 4, 5, 6, 1, 7, 2, 8, 9]
[3, 4, 5, 6, 1, 7, 2, 8, 9]
[3, 4, 5, 6, 1, 7, 2, 8, 9]
[1, 3, 4, 5, 6, 7, 2, 8, 9]
[1, 3, 4, 5, 6, 7, 2, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Python数据结构:插入排序相关推荐
- python数据结构与算法总结
python常用的数据结构与算法就分享到此处,本月涉及数据结构与算法的内容有如下文章: <数据结构和算法对python意味着什么?> <顺序表数据结构在python中的应用> ...
- Python天天美味(32) - python数据结构与算法之堆排序
1. 选择排序 选择排序原理是先选出最小的数,与第一个数交换,然后从第二个数开始再选择最小的数与第二个数交换,-- def selection_sort(data): for i in ran ...
- python数据结构和算法讲解_【学习】python数据结构和算法
二.算法分析 2.2 什么是算法分析 大O表示法 image.png 2.3 python数据结构的性能 列表 image.png 字典 image.png 说一下list[index]的o(1)原理 ...
- python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 链表 递归 动态规划 排序和搜索 树 图
python数据结构和算法 参考 本文github 计算机科学是解决问题的研究.计算机科学使用抽象作为表示过程和数据的工具.抽象的数据类型允许程序员通过隐藏数据的细节来管理问题领域的复杂性.Pytho ...
- 视频教程-Python数据结构与算法面试(上)-Python
Python数据结构与算法面试(上) 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过1 ...
- python 数据结构与算法——排序
文章目录 排序的分类 排序的复杂度 python 实现 冒泡排序 选择排序 插入排序 希尔排序 归并排序 堆排序 快排 树排序 线性时间排序算法 计数排序 桶排序 桶排序的复杂度分析 基数排序 排序的 ...
- python数据结构教程_GitHub - Frank-Jing/python_data_structures_and_algorithms: Python 中文数据结构和算法教程...
Python 算法与数据结构视频教程 课程简介 数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛.目前关于 Python 算法和数据结构的系统中文资料比较欠缺, 笔者尝试录制视频 ...
- python3 namedtuple_你不能低估的Python数据结构Namedtuple(二)
上篇你不能低估的Python数据结构Namedtuple(一)讲了namedtuple的一些基本用法,本篇继续. namedtuples和数据类(Data Class)之间有什么区别? 功能 在Pyt ...
- python线性表和队列_[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列...
python数据结构之线性表 python内置了很多高级数据结构,list,dict,tuple,string,set等,在使用的时候十分舒心.但是,如果从一个初学者的角度利用python学习数据结构 ...
- python数据结构 树_python数据结构之二叉树的建立实例
先建立二叉树节点,有一个data数据域,left,right 两个指针域 复制代码 代码如下: # -*- coding: utf - 8 - *- class TreeNode(object): d ...
最新文章
- 收下这份来自GitHub的神器,一图搞定Matplotlib!
- 云平台架构实践中的微服务分解原则
- Docker的镜像导出与导入与拷贝
- linux下如何修改根口令
- linux系统管理命令,压缩命令
- Android Studio上手,基于VideoView的本地文件及流媒体播放器
- 短时能量法代码c语言,[蓝桥杯][算法提高]能量项链 (Python代码)
- ajax跨域服务器404,Ajax和跨域
- 【JS 逆向百例】反混淆入门,某鹏教育 JS 混淆还原
- 程序员锁死服务器导致公司倒闭,案件终于开庭了
- 在vue.js中如何导出Excel表格
- 计算机键盘无法识别,电脑插上键盘显示无法识别USB?
- 恶意点击软件测试简历,亲测百度竞价的恶意点击:60%广告费浪费
- wlop作品集_【图包】【wlop】作品合集
- istio-ingress/egress
- wordcloud的常用函数
- Caused by: java.io.IOException: APR error: -730053
- K8S ? K3S !
- 论文笔记(一):se(3)-TrackNet: Data-driven 6D Pose Tracking by ...... in Synthetic Domains
- 变革:区块链上的政府和企业应用
热门文章
- 遗传算法的c++语言程,C++实现简单遗传算法
- php中引入jquery文件_WP模板开发中,怎样给wordpress网站的文章,添加点赞功能?...
- 2017.10.22 方格染色 失败总结
- 【英语学习】【English L06】U05 Appointments L5 I'd like to make an appointment with Mr. Grant
- Intel Core Enhanced Core架构/微架构/流水线 (8) - 执行核
- Pentium Pro架构/流水线及其优化 (2) - 指令流水线 存储子系统详解
- activemq消息丢失_面试必问之消息中间件
- python opencv 教程_OpenCV-Python系列教程介绍
- Unity中的场景切换
- 地平线:发布线NavNet众包高精地图采集与定位方案,牵手韩国最大通讯企业 | CES 2019...