栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习笔记第十五天

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习笔记第十五天

排序与搜索 排序是将一串数据依照特定顺序进行排列的算法 排序算法的稳定性:有相等键值的元素排序后不会改变排位 冒泡排序  天平自右向左依次比较两个数据的大小,若左边大则互换位置。重复操作直至排序完成。 最优时间复杂度O(n) 最差时间复杂度O(n^2) 具有稳定性 优化:如果每一次没有改变排序则提前跳出循环 选择排序 利用线性查找找到待排序数据中的最小值将其与序列第一个数据交换 时间复杂度O(n^2) 不稳定 插入排序 从未排序部分最左边元素插入研究排序完成部分的正确位置 希尔排序 插入排序的改进版 设置gap分为子序列进行插入排序 gap=4 -> gap=2 -> gap=1 最优时间复杂度取决于gap的选取 最差时间复杂度O(n^2) 快速排序 随机选择一个基准值,小于基准值的排在左边,大于基准值的排在右边。 再对基准值两侧区域重复上述操作。 最优时间复杂度O(n^2) 最差时间复杂度O(n^2) 归并排序算法 将序列分为长度相同的两个子序列,重复直至每个子序列只有一个数据,然后对子序列进行归并。合并时比较两个子序列的首位大小。

总结 常见排序算法效率比较

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990429.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号