数据结构知识点复习归纳(三)

本文深入讲解九种排序算法,包括直接插入排序、希尔排序、快速排序等,详细分析各自的时间和空间复杂度,以及稳定性特点。特别介绍了如何从1亿个数中选出前100个最大值的高效算法。

第八章.排序
1.直接插入排序:平均时间复杂度O(n^2)
若待排序列为接近有序,时间复杂度可以达到O(n)
2.希尔排序不稳定
3.快速排序
空间复杂度:最好O(logn),最坏O(n),平均O(logn)
时间复杂度:最坏O(n^2),序列基本有序或逆序
平均O(nlogn)

4.简单选择排序
比较次数与序列初始状态无关,始终为n*(n-1)/2次
不稳定

5.堆排序
(1)n个结点的完全二叉树,最后一个非终端结点 (n/2向下取整)
(2)建堆:从最后一个非终端结点开始,依次向下调整
插入:新结点放在堆的末端,然后该结点再向上调整
(3)从1亿个数中选前100个最大值
用一个大小为100的数组,读入前100个数,建立小根堆。
再依次读剩下的数,若小于堆顶元素则舍弃,否则代替原根
结点的数,再向下调整。待数据读取完毕,堆中100个数字为所求。
(4)
空间复杂度:O(1)
建堆时间:O(n),建堆后有n-1次向下调整过程
时间复杂度:O(nlog2n)
不稳定

6.归并排序
空间复杂度:O(n)
时间复杂度:共需要 (log2(n)向上取整 ) 趟,每趟O(n)
总时间复杂度 O(nlog2n)

7.基数排序
稳定

8.冒泡排序
平均 O(n^2)
最好 O(n)

9.外部排序
(1)外部排序:将待排序记录存储在外存上,排序时将数据一部分一部分地调入内存进行排序
(2)外部排序时间代价主要考虑磁盘访问次数(IO次数)
(3)减少IO次数:增大归并路数,从而减少归并趟数
(4)大致流程
1.内部排序,得到初始归并段
2.对初始归并段进行内部归并,依此类推,最终得到整个有序文件
(5)内部归并时间随着路数上升而上升,因此不能用常规的内部归并算法,而是引入了败者树
(6)若归并路数k过大,则输入缓冲区数量要变大,每个缓冲区容量减小,IO次数增大

代码下载地址: https://pan.quark.cn/s/b4a8e0160cfc 齿轮与轴系零件在机械设备中扮演着至关重要的角色,它们负责实现动力传输、调整运动形态以及承受工作载荷等核心功能。 在机械工程的设计实践中,齿轮和轴系的设计是一项关键的技术任务,其内容涵盖了材料选用、构造规划、承载能力分析等多个技术层面。 下面将系统性地介绍《齿轮及轴系零件结构设计指导书》中的核心知识点。 一、齿轮设计1. 齿轮种类:依据齿廓轮廓的不同,齿轮可划分为直齿齿轮、斜齿轮以及人字齿轮等类别,各类齿轮均具有特定的性能特点与适用工况,能够满足多样化的工作环境与载荷需求。 2. 齿轮规格参数:模数大小、压力角数值、齿数数量、分度圆尺寸等是齿轮设计的基础数据,这些参数直接决定了齿轮的物理尺寸与运行性能。 3. 齿轮材质选用:齿轮材料的确定需综合评估其耐磨损性能、硬度水平以及韧性表现,常用的材料包括铸铁、钢材、铝合金等。 4. 齿轮强度验证:需进行齿面接触应力分析与齿根弯曲应力分析,以确保齿轮在实际运行过程中不会出现过度磨损或结构破坏。 5. 齿轮加工工艺:涉及切削加工、滚齿加工、剃齿加工、淬火处理等工艺流程,工艺方案的选择将直接影响齿轮的加工精度与使用寿命。 二、轴设计1. 轴的分类方式:依据轴在机械装置中的功能定位与受力特点,可将轴划分为心轴、转轴以及传动轴等类型。 2. 轴的材料选择:通常采用钢材作为轴的材料,例如碳素结构钢或合金结构钢,特殊需求时可选用不锈钢材料或轻质合金材料。 3. 轴的构造规划:需详细考虑轴的轴向长度、截面直径、键槽布置、轴承安装位置等要素,以满足轴的强度要求、刚度要求以及稳定性要求。 4. 轴的强度验证:需进行轴的扭转强度分析与弯曲强度分析,以防止轴在运行过程中发生塑性变形...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值