HYPERLINK /feixuelove1009/p/6143539.html 基于python的七种经典排序算法
一、排序的基本概念和分类
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。
排序的稳定性:经过某种排序后,如果两个记录序号同等,且两者在原无序记录中的先后秩序依然保持不变,则称所使用的排序方法是稳定的,反之是不稳定的。
内排序和外排序内排序:排序过程中,待排序的所有记录全部放在内存中外排序:排序过程中,使用到了外部存储。通常讨论的都是内排序。
影响内排序算法性能的三个因素:
时间复杂度:即时间性能,高效率的排序算法应该是具有尽可能少的关键字比较次数和记录的移动次数
空间复杂度:主要是执行算法所需要的辅助空间,越少越好。
算法复杂性。主要是指代码的复杂性。
根据排序过程中借助的主要操作,可把内排序分为:
插入排序
交换排序
选择排序
归并排序
按照算法复杂度可分为两类:
简单算法:包括冒泡排序、简单选择排序和直接插入排序
改进算法:包括希尔排序、堆排序、归并排序和快速排序
以下的七种排序算法只是所有排序算法中最经典的几种,不代表全部。
二、 冒泡排序
冒泡排序(Bubble sort):时间复杂度O(n^2)交换排序的一种。其核心思想是:两两比较相邻记录的关键字,如果反序
您可能关注的文档
- 基础题库试题一(207).doc
- 基础物理实验研究性报告-密立根油滴实验分析.docx
- 基础英语词汇.docx
- 基础知识及顺序结构.doc
- 基地业务平台结算数据接口规范v1.0.doc
- 基尔霍夫定律和叠加原理的验证-实验报告.docx
- 基建工程初验报告.doc
- 基坑施工方案支护桩.doc
- 基坑水平位移和竖向位移监测日报表.doc
- 基坑支护、土方开挖施工方案.docx
- 2026年江西新余招聘公务员行政职业能力测验附答案试题及答案.doc
- 2026年江苏南京定向教师招聘公共基础知识含答案试题及答案.doc
- 2026年湖南株洲编制教师资格证学科知识与教学能力试题及答案.doc
- Unit 6 What do we like about small animals 单词讲解课件 2026沪教版英语三年级上册.ppt
- 2026年吉林选调事业单位笔试含答案解析试题及答案.doc
- 2026年湖南湘西紧缺教师招聘面试含详细解析试题及答案.doc
- 2026年江苏常州招聘高考数学试题及答案.doc
- 2026年历年湖南湘潭编制公务员面试试题及答案.doc
- Unit 7 What do we know about weather 单词讲解课件 2026沪教版英语三年级上册.ppt
- 2026年历年云南德宏定向教师招聘公共基础知识含答案解析试题及答案.doc
原创力文档

文档评论(0)