邓俊辉数据结构与算法学习笔记-第二章

本文详细探讨了向量的概念与实现,包括接口设计、动态空间管理、可扩充向量的扩容策略及其分摊复杂度。接着,讲解了无序向量的操作,如插入、查找和删除,并探讨了有序向量的二分查找优化。最后,介绍了冒泡排序和归并排序的思想、改进及复杂度分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章 向量

day12

a 接口与实现

a1 接口与实现

在这里插入图片描述在这里插入图片描述

a2 向量ADT

在这里插入图片描述在这里插入图片描述

a3 操作实例

在这里插入图片描述search接口,如果未找到对应的数,返回向量中不超过这个数的最大的数的index,如果都超过了这个数,返回-1,如果这个数重复多次,返回一系列index中最大的。

a4 构造与析构

在这里插入图片描述在这里插入图片描述

a5 复制

在这里插入图片描述

b 可扩充向量

b1 可扩充向量

在这里插入图片描述

b2 动态空间管理

在这里插入图片描述在这里插入图片描述

b3 递增式扩容

在这里插入图片描述

b4 加倍式扩容

在这里插入图片描述在这里插入图片描述空间换取时间

day13

b5 分摊复杂度

在这里插入图片描述

c 无序向量

c1 无序向量

在这里插入图片描述

c2 循秩访问

在这里插入图片描述

c3 插入

在这里插入图片描述

c4 区间删除

在这里插入图片描述

c5 查找

在这里插入图片描述

c6 单元素删除

在这里插入图片描述

c7 唯一化

在这里插入图片描述在这里插入图片描述在这里插入图片描述

c8 遍历

在这里插入图片描述在这里插入图片描述

d 有序向量

d1-1 有序性

在这里插入图片描述

d1-2 唯一化(低效版)

在这里插入图片描述

d1-3 复杂度(低效版)

在这里插入图片描述

d1-4 唯一化(高效版)

在这里插入图片描述

d1-5 实例与分析(高效版)

在这里插入图片描述

d2 有序向量:二分查找

在这里插入图片描述

d2-2 接口

在这里插入图片描述

d2-3 语义

在这里插入图片描述

d2-4 原理

在这里插入图片描述

d2-5 实现

在这里插入图片描述

d2-6 实例

在这里插入图片描述

d2-7 查找长度

在这里插入图片描述

d3-1 fib查找构思

在这里插入图片描述

d3-2 fib查找实例长度

在这里插入图片描述

d3-3 fib查找实现

在这里插入图片描述

d3-4 fib查找最优

在这里插入图片描述

d4-1 二分查找改进构思

在这里插入图片描述

d4-2 二分改版本B

在这里插入图片描述

d4-3 二分改语义

在这里插入图片描述

d4-4 二分改版本C

在这里插入图片描述

d4-5 二分改正确性

在这里插入图片描述不断的压缩空间直到 lo==hi,区间长度为0时,则lo前面一项就是我们要找的

e冒泡排序

e1 冒泡排序构思

在这里插入图片描述在这里插入图片描述

e2 改进

在这里插入图片描述

e3 反例

在这里插入图片描述图中红色部分代表有序元素,绿色代表无序元素,如果能提前检测出红色部分是有序的,可以将时间复杂度降低到O(n).

e4 再改进

在这里插入图片描述在这里插入图片描述在这里插入图片描述
相应的复杂度的变化如上图

e5 综合评价

在这里插入图片描述

f归并排序

f1 归并排序思想

在这里插入图片描述C.B.A:基于比较的排序算法
在这里插入图片描述

f2 主算法

在这里插入图片描述

f3 二路归并-实例

在这里插入图片描述

f4 二路归并-实现

在这里插入图片描述

f5 二路归并-正确性

在这里插入图片描述在这里插入图片描述各种归并情况,不会出现数据遗漏或被覆盖

f6 二路归并-复杂度

在这里插入图片描述开始看第三章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值