数据结构与算法第五套试卷小题

1.希尔排序

方法论: 增量为n,则分为n组
在这里插入图片描述

在这里插入图片描述

2.归并排序

注意题目,进行一趟归并排序后结果:->说明分为n个小块后,进行一次归并的结果
在这里插入图片描述
答案:
原序列共分成5段有序,第1段:25,50.第2段:15,35.第3段:80,85.第4段:20,40.第5段:36,70.第1段与第2段归并,结果为:15,25,35,50.第3段与第4段归并结果为:20,40,80,85.第5段落单了,则原样照抄.结果为A

3.字符串substr操作注意事项

首位比如5是T,但是需要多算前面那个字符(当作从1开始即可)
在这里插入图片描述

3.树

1.总结点数和边数的关系: n=e+1;
2.边数与指针数: e=指针数;
3.m叉树总指针数: N1+2*N2+…+mNm;
同时也等于N1+N2+…+Nm-1;
(关键:指针数边数顶点数-1)
在这里插入图片描述

4.树的DFS,BFS遍历:

在这里插入图片描述

在这里插入图片描述

5.共享栈

共享栈说明是环状的,所以栈满为:top1+1==top2
在这里插入图片描述请添加图片描述

6.图

在图的邻接表中用顺序存储结构存储表头结点的优点是:可以随机访问到任意一个顶点简单链表
邻接矩阵的为图的出度
邻接矩阵的为图入度

7.i,j到0,0的个数

在这里插入图片描述
中间有: i*(i+1)/2+j-1
**原因:*我们按行顺序存放元素,那么第i行从0开始计数)的元素个数为i+1个(包括对角线上的元素)。因此,前i行一共有1+2+…+i = i(i+1)/2个元素。

对于第i行的第j个元素 (i >= j),它是该行的第j+1个元素(因为是从0开始的),加上前面i行的元素个数,就得到了它在连续存储单元中的位置。

7.栈队列

栈为FILO表,队列为FIFO队列;

8.快排思想:

设一组初始记录关键字序列为(458055404285),则以第一个记录关键字45为基准
(A)404245558083
(B)424045808588
(C)424045558085
(D)424045855580
参考答案是:C

1.首先拿45作基准值,然后左右遍历——>2.右边找到42,覆盖左边left的45,然后left前进一位——>3.left前进后发现80>基准值45,将right所指的42覆盖,right往后退一次——>4.依次重复
在这里插入图片描述

9.堆

小根堆条件:ki<=k2i&&ki<=k2i+1(根节点小于它的左右子树节点)
大根堆条件:ki>=k2i&&ki>=k2i+1

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 02:38:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 02:38:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 02:38:02       87 阅读
  4. Python语言-面向对象

    2024-03-13 02:38:02       96 阅读

热门阅读

  1. c语言:一元二次方程(有实根)

    2024-03-13 02:38:02       38 阅读
  2. 备战蓝桥之搜索

    2024-03-13 02:38:02       40 阅读
  3. C语言分支和循环总结

    2024-03-13 02:38:02       45 阅读
  4. Github 2024-03-06 C开源项目日报 Top10

    2024-03-13 02:38:02       41 阅读
  5. 理解记忆相关

    2024-03-13 02:38:02       46 阅读
  6. (力扣题库)字符串相乘(C++)

    2024-03-13 02:38:02       50 阅读
  7. 动态规划 Leetcode 343 整数划分

    2024-03-13 02:38:02       44 阅读
  8. c++ primer中文版第五版作业第十六章

    2024-03-13 02:38:02       36 阅读
  9. 安卓kotlin面试题 71-80

    2024-03-13 02:38:02       41 阅读
  10. GO语言-切片底层探索(下)

    2024-03-13 02:38:02       50 阅读