软件设计师---数据结构下

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

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

静态查找

顺序查找

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
元素不需要有序

平均查找长度

顺序查找的平均查找长度
在这里插入图片描述
在这里插入图片描述


总结:
在这里插入图片描述

折半查找(二分查找)

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


在这里插入图片描述

在这里插入图片描述

1:
在这里插入图片描述
2:
在这里插入图片描述
在这里插入图片描述

3:

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

4:
在这里插入图片描述


总结步骤如下:
在这里插入图片描述

折半查找只适合顺序存储,且排列有序
在这里插入图片描述

折半查找补充

最多比较次数:
在这里插入图片描述
在这里插入图片描述
加上最后r=l的那次比较
就是:在这里插入图片描述


折半查找判定树的构造(一般都是下取整)
1:
在这里插入图片描述
在这里插入图片描述
2:
在这里插入图片描述
在这里插入图片描述
3:
在这里插入图片描述
在这里插入图片描述

4:
在这里插入图片描述

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

6:


总结:

在这里插入图片描述

树的深度和查找次数的关系:
在这里插入图片描述

平均查找长度

在这里插入图片描述

真题

在这里插入图片描述

c
在这里插入图片描述

在这里插入图片描述

d
记得下取整,最后加上1
一个demo(找14)
1.
在这里插入图片描述2.
在这里插入图片描述
3.在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

可以用折半查找排序树或者直接写出排序过程
d
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
(一般都是下取整)
如果下取整没有答案,改为上取整

在这里插入图片描述

b
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

b
在这里插入图片描述

在这里插入图片描述

B
最后一个值就是查找的元素,
在这里插入图片描述
对于A
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于b,取值不合理(不在区间内)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

b
在这里插入图片描述

在这里插入图片描述

(下取整不行就上取整)
B
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于D
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

获取选项中的key值
在这里插入图片描述
对于A
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于b
在这里插入图片描述
在这里插入图片描述
对于C
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

C

动态查找

哈希表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
通过哈希函数把一组关键字映射到一个有限的连续的地址区间中
在这里插入图片描述
在这里插入图片描述
冲突(不同关键字映射到了同一个位置)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

哈希表函数构造

在这里插入图片描述

在这里插入图片描述

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

一个例子:
在这里插入图片描述

哈希表解决冲突

在这里插入图片描述

在这里插入图片描述
一个例子如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二个例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关注对于12的分析
在这里插入图片描述

另外一种处理冲突的方法(二次探测在散列)

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

另外一种处理冲突的方法(链地址法)

在这里插入图片描述

哈希表装填因子

在这里插入图片描述

装填因子:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

真题

在这里插入图片描述

b

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

a

在这里插入图片描述

b
这里是指冲突的这一件事
在这里插入图片描述

在这里插入图片描述

b
在这里插入图片描述

在这里插入图片描述

d
在这里插入图片描述
同义词的定义:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小顶堆和大顶堆

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

建立小顶堆的大顶堆

在这里插入图片描述

总序列为:
在这里插入图片描述

从最下面的根节点开始调整


小根堆的构造
1
s
2
在这里插入图片描述
3
在这里插入图片描述
4
在这里插入图片描述

5
在这里插入图片描述
6
在这里插入图片描述
7
在这里插入图片描述
总序列为:
在这里插入图片描述

真题

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

c
在这里插入图片描述

排序

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

在这里插入图片描述

直接插入排序

在这里插入图片描述

从区间的最后面开始比较

第二步
在这里插入图片描述
在这里插入图片描述

第三步
在这里插入图片描述

第四步
在这里插入图片描述
第五步:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直接插入排序是局部有序的,之后每次插入进来还需要动态调整
在这里插入图片描述

在这里插入图片描述

希尔排序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
是不稳定排序
在这里插入图片描述

在这里插入图片描述

动画演示

动画

计数排序适合待排序的值处于0到9之间的情况

真题

在这里插入图片描述

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

在这里插入图片描述

a
b
在这里插入图片描述

在这里插入图片描述

a
d
在这里插入图片描述

在这里插入图片描述

a
a
在这里插入图片描述

简单选择排序

演示的视频
在这里插入图片描述
第一趟
在这里插入图片描述
在这里插入图片描述

一趟确定一个最小元素

第二趟
在这里插入图片描述
在这里插入图片描述

确定第二小的元素
在这里插入图片描述


第一趟
在这里插入图片描述
在这里插入图片描述

第二趟
在这里插入图片描述

在这里插入图片描述

第三趟
在这里插入图片描述

第四趟
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

堆排序

在这里插入图片描述

堆排序可以归位

真题

在这里插入图片描述

在这里插入图片描述
直接插入排序:
在这里插入图片描述
选择排序:
在这里插入图片描述

在这里插入图片描述

a
对于a
在这里插入图片描述
在这里插入图片描述

冒泡排序

在这里插入图片描述
第一轮:
1:
在这里插入图片描述
2:
在这里插入图片描述

在这里插入图片描述
n-1次
在这里插入图片描述

第二轮:
再从a2开始逐一比较。。。
(冒泡冒在最右边,每一次把最大的元素放到的最右边)

每趟排序就可以确定一个元素的最终位置:
在这里插入图片描述

也是稳定排序(同样的值,前后顺序不会改变)在这里插入图片描述
在这里插入图片描述


一个实际的例子:
第一轮:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
交换
在这里插入图片描述

在这里插入图片描述
再交换
在这里插入图片描述
在这里插入图片描述
再交换
在这里插入图片描述
在这里插入图片描述
再交换
在这里插入图片描述
第一趟结束(比较了n-1次)
在这里插入图片描述
第二趟只需要比较n-2次
第一次比较
在这里插入图片描述
第二次比较
在这里插入图片描述
交换位置
在这里插入图片描述
第三次比较
在这里插入图片描述
交换
在这里插入图片描述
第四次比较
在这里插入图片描述
第五次比较
在这里插入图片描述
交换
在这里插入图片描述
第二轮结束:
在这里插入图片描述
第三轮只需要比较n-3次

在这里插入图片描述

快速排序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
直到序列长度为1的时候,结束排序。

演示的视频

每次确定只是一个元素的位置,并且以后不会再变化,是归位的排序在这里插入图片描述
不是稳定的排序:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

真题

在这里插入图片描述

b
在这里插入图片描述
对于第二问,首先排除有序的序列2和3
对于a
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再分治去找。。
在这里插入图片描述
对于d选项:
在这里插入图片描述
在这里插入图片描述
再递归去排序左右子树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时候,左边的区间还是要排序。。
选A
在这里插入图片描述

在这里插入图片描述

D
A(涉及到递归,每次的时间复杂度为O(n)递归n次)(涉及到递归,每次的空间复杂度为O(1),递归n次)
在这里插入图片描述

在这里插入图片描述

A
D
在这里插入图片描述

在这里插入图片描述

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

归并排序在这里插入图片描述

归并排序演示

归并排序演示2

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

再进行归并:(第一次归并)
在这里插入图片描述
第二次归并:
在这里插入图片描述

第三次归并
在这里插入图片描述
当一边越界后,把另外一边直接放到末尾就行;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

真题

在这里插入图片描述

b

在这里插入图片描述

插入排序:
在这里插入图片描述
1
在这里插入图片描述
2
在这里插入图片描述
5
在这里插入图片描述
6
在这里插入图片描述
7
在这里插入图片描述
9
在这里插入图片描述
12
在这里插入图片描述
归并排序:
在这里插入图片描述
4
在这里插入图片描述
10
在这里插入图片描述
14
在这里插入图片描述
A
在这里插入图片描述

在这里插入图片描述

带入实际的数字来计算最方便:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

a
b
在这里插入图片描述
在这里插入图片描述
(注意D是书写方式是平方)

在这里插入图片描述

a
对于归并排序,基本有序的情况比较的次数较少
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一共三次(m次)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
比较3次(n次)
在这里插入图片描述

在这里插入图片描述

a
c
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值