资讯详情

北京化工大学历年真题整理:没考上,换了个学校,但还是在北京~哈哈

文章目录

  • 一、历年选择题真题 总结
    • 1、2008(12.1日一天)
    • 2、2012
    • 3、2013
    • 4、2014
    • 5、2015(12.2日二天)
    • 6、2016
    • 7、2017(12.3日三天)
    • 8、2018
    • 9、2019
    • 10、2020(12.4日四天)
    • 11、2021
    • 12、22
  • 二、历年算法真题题 总结
    • 1、 文本
    • 2、表格
  • 三、历年算法真题
    • 1、Fibonacci 08/13/14/17√
      • i 递归
      • ii 非递归
    • 2、折半查找 12/18/19/20√
      • i 非递归
      • ii 递归
    • 3、数组合并 12/14/19
    • 4、***扩展(真题):单链组合 第24T。
    • 五、二叉树结点数 13/15/19
    • 6、快速排序 13/16/18年
    • 7.堆排序的堆调整 15/17/20
    • 8.中缀表达式括号下标17/18
    • 9.中缀表达式括号匹配吗? 19
    • 10、==***判断无环图(拓扑排序) 20/21==
    • 11、回文数组 08 12
    • 12.数组在当地逆转,***==单链表逆转==13 14
    • 13二叉排序树,插入13 17
      • i 非递归查找
      • ii 递归查找
      • iii 插入新节点
    • 14、==***快速转移三元组 14 17 (第25特殊)==
    • 15、逆序数 15 17
    • 16.删除零元素,删除重复元素15 16 21
    • 17.插入顺序表 18 20
    • 18.二叉叶结点数 18 20
    • 19、***==还原带空节点#的前序遍历序列== 21
      • i 官方答案(是的 bug)
      • ii 网上正确答案(背这个)
    • 20、==二维数组压缩成三元组== 21
    • 21.归并排序算法 21
    • 22.单链表删除结点 20
    • 23单链表交换指定结点 18
    • 24、***==单链表合并去重== 17
    • 25、***==一维数组中的非压缩矩阵压缩到三元组== 19
    • 26、==暴力破解== 19
    • 27、汉诺塔 19
    • 28、图的DFS 18
    • 29、==图中算法题:要求最远距离== 12
    • 30、最短路径==Floyd== 13
    • 31.数组移动所有偶数 18
    • 32.序列最值差 14
    • 33.数组中最多的相同元素 12
    • 34.(背)判断二叉树是否相同(内容结构) 17
    • 三五、二叉树交换子树 16
    • 36.(背)二叉树深度 12
    • 三七二叉树根结点平衡因子 15
    • 三八、二叉树K层结点数 08
    • 39判断二叉树是否平衡 14
    • 40 、栈基本操作 16
    • 41.队列基本操作 15
  • 四、扩展必背
    • 确定二叉树
      • i 前序 中序
      • ii 中序 后序
    • 2、==最小生成树==(对于无向图,邻接矩阵)
      • i prim(普利姆算法) 针对顶点
      • ii 克鲁斯科尔(不太可能,因为有排名)
    • 3、==最短路径==(对于有向图,邻接矩阵)
      • i 迪杰斯特拉
      • ii Floyd 真题 13年,二、30
    • 4、==串的算法==
      • i 暴力破解法 二、26
      • ii kmp算法
      • iii 改进kmp算法
    • 5、汉诺塔(27T)、==约瑟夫环==(最后看)
    • 6、图的 DFS(28T)、==BFS广度优先遍历(层次遍历)==
    • 7、==二叉树的层次和深度 递归和非递归(03年前考过)==
      • i 二叉树的深度优先 非递归遍历
      • ii 前中后序 递归遍历
      • iii 二叉树广度优先遍历:层次遍历
    • 8、08年前的代码,需要看
      • i 两个单链表交叉合并 2003
  • 五、==大纲要求==
    • 1. 排序and 查找:==归并 希尔是重点==
      • i 直接插入排序
      • ii 冒泡排序
      • iii 简单选择排序
      • iv ==希尔排序== **
    • 2. 图 前面都有了
    • 3 二叉树:真题 以下北化数据
    • 4 线性表:真题为主
    • 5 串 矩阵:二维压缩成三元组,三元组转移,kpm,暴力。
  • 六、北化数据必背
    • 判断二叉树是否完全(理解二叉树) 背)
    • 2.判断是否是二叉排序树(理解) 背)
    • 3.在给定二叉排序树中要求指定结点的层次(easy)
    • 4.递归求二叉树高度 二、36

一、历年选择题真题 总结

1、2008(12.1日一天)

  1. 图的广度优先搜索中邻接点的寻找 具有先进先出的特点。
  2. 8T,
  3. n哈弗曼树叶结点的总结点 2n-1。
    • 推导 n = n 0 n 1 n 2 , n 0 = n 2 1 , n 1 = 0 n = n_0 n_1 n_2, n_0 = n_2 1 , n_1 = 0 n= n0​+n1​+n2​,n0​=n2​+1,n1​=0 。
  4. 2.5T,大顶堆(降序堆)是根结点大于其他所有结点的完全二叉树。
  5. 2.7T,二叉链结构存储一颗n个结点的二叉树上,有n+1 个空链。
  6. 2.10T,递归的代码一定可以用非递归的形式来实现。
  7. 2.13T,二叉树中,具有两个子结点的结点,中序后继结点最多只可能有一个子结点。
  8. 2.14T,若一颗二叉树的左右子树都是平衡二叉树,则该二叉树为平衡二叉树。×
    • 少一个条件,左右子树高度之差小于等于1。

2、2012

  1. 6T,

    • 链式结构线性表的存储空间比顺序结构多,而且链表结点的存储空间利用率比顺序表稍低(存储密度不够大)。
    • 元素的物理顺序与逻辑顺序不一致,顺序存储结构的物理顺序和逻辑顺序一致。
  2. 7T,

  3. 13T,子链兄弟链法存储一颗树(孩子兄弟存储:即二叉链表),根结点右指针为空。

  4. 14T, 。下三角压缩存储方式,是**自然序列的求和**。

    • 三角行列式的求和是:
    • 注意矩阵从0开始,并且第一次存储地址为0。
  5. 16T,

    • B:图的广度优先搜索中邻接点的寻找具有“先进先出”的特征。
  6. 18T,排序算法:

  7. 25T,$\lceil log_2(n+1) \rceil $。

  8. 27T,m阶B-树是

    • 一颗m叉平衡排序树。√

    • A选项说 m叉排序树 ×,why,A就是原因

  9. 29T,最短路径求法,如何快速求呢。

  10. 39T,二叉树存的一个中缀表达式。前序遍历。

  11. 43T,$n_0 = 1 + n_2 + 2n_3 +3n_4… $

  12. 44T。

3、2013

  1. 2T。特例
  2. 6T,顺序表的物理顺序和逻辑顺序有关。
    • 链表的物理顺序和逻辑顺序无关。
  3. 12T,关键路径。
  4. 18T,,归并是O(n),快速排序是logn。
  5. 19T
  6. 22T,23T。
  7. 27T,m阶B-树的根结点最少有 1 个关键字。
  8. 32T,二叉树的中序遍历可以得到有序序列。
  9. 33T,归并操作。
  10. 35T,
  • 1、牺牲一个单元来区分队空和队满。
  • 2、类型中增设表示元素个数的数据成员Q.size。
  • 3、类型中增设tag数据成员,以区分是队满还是队空。
  • 2和3都是使用了操作标记,所以题目中使用的是牺牲一个单元的方法,所以最多可以连续执行n-1次入队操作。
  1. 36T,
    • 有向图的邻接表结构比邻接矩阵结构要节省空间。不一定,图为稀疏图,邻接表好,稠密图时,邻接矩阵好。
    • ==AOE(activity on edge)==网 是权值在弧上的带权图。 AOV(activity on vertex)
  2. 38T,
  3. 39T,二叉树的前序遍历序列和中序遍历序列相同的是:
    • 所有结点只有右子的二叉树。 √
    • 根结点没有左子的二叉树。× 因为仅根结点符合 是不可以的,还有右子树的所有左子树也得符合。
    • 只有根结点的二叉树。×,why。
  4. 40T、42T
  5. 43T,若一颗二叉树上 任一结点到根的路径上的结点关键字 均为有序排列,则二叉树为
    • 堆,√
    • 哈夫曼树,× 关键字只出现在叶结点上。

4、2014

  1. 8T,有点别扭

  2. 10T,最小生成树是图的极小连通图,包含图中所有顶点。

    • 最小生成树有n-1条边
  3. 20T,完全二叉树的层次遍历序列 与 结点间的 父子关系 存在对应关系

  4. 23T,大于100000的待排序序列为有序序列,效率最快的是 直接插入。

  5. 26T,存储矩阵的三元组表示法

    • 按照行列有序排列。
    • 矩阵计算速度更快。不需要进行查找。
    • 同行非零元素排列在一起。
  6. 29T,最小生成树的应用:城市之间道路问题

  7. 33T,哈夫曼树

      • 若允许对不同字符用不等长的二进制位表示,则称为可变长编码,哈夫曼编码属于变长编码
  8. 36T

    • A 快速排序的性能优于 归并排序。
    • Dijkstra 算法是求 有向带权图 中单源点到其余各顶点的最短路径,
    • 以0 为起点的最短弧 属于目标解集。
    • 最先求得的是目标解集中最短的最短路径。
  9. 40T,先根序列

  10. 45T ,散列表

    • 散列表采用顺序表作为容器

    • 通过散列函数来定位元素

    • 适合于 动态查找

    • 散列表的装载因子越大冲突几率越小。×,

5、2015(12.2日二天)

  1. 2T,是指元素顺序存放在 预先分配 的缓冲区中。

  2. 4T,

  3. 7T,

  4. 9T,

  5. 21T,:以起点为弧尾的权值最小的弧。

  6. 22T,图的邻接表存储结构上,顶点为n,弧边为e,**e>n,计算所有顶点入度最快的快速算法,时间复杂度**为:

    • O(e)
  7. 25T,

  8. 28T,

  9. 29T,

  10. 35T,题有问题,哪一种排序方法的排序躺数与初始序列有关?

  • BD是直接交换排序(起泡)和快速排序,而答案只选了B :直接交换排序。
  1. 38T,深度越小的二叉排序树平均查找性能最好

  2. 45T,消除递归形式不一定要通过栈,比如斐波那契数列 。

6、2016

  1. 1T,栈的操作性质。(注意,是操作性质)
  • 出栈序列与操作顺序有关。√
  1. 3T,二叉树性质细节题,
    • 二叉树的度为2。×,有五种形态。
    • 二叉树是**无向树。×,是有向树**
      • 1、有且仅有一个结点入度为0.
      • 2、除树根外的结点入度为1.
      • 3、从树根
    • 二叉树有且只有一个根结点。×。
  2. 4T,一般单链表中,数据元素将放在 动态分配 的结点中。
  3. 8T,图的论述
    • 无向图的边数等于顶点度数之和。×,还要再除2。
    • 有向图中的顶点入度之和等于顶点出度之和。√
    • 有向图是特殊的无向图。×,
      • 无向图可以看作每条边都有两个方向的有向图。所以,无向图是特殊的有向图。
    • 有向图中的弧在无向图中称为边。×,弧和边不可混淆。
      • 1、邻接矩阵是对称的
      • 2、矩阵 1 的个数 为图中总边数 的两倍。
      • 3、矩阵中 1行 或者 第 1列的元素之和即为 顶点 i 的度
      • 1、矩阵1 的个数 为 图中的边数。
      • 2、矩阵中 第 i 行的元素之和 即为顶点的出度,第 i 列的元素之和为顶点的入度。
  4. 15T,?
    • 就是求叶子结点。
    • n 1 = 0 n_1 = 0 n1​=0 。
    • n = 2 n 0 − 1 n = 2n_0 - 1 n=2n0​−1 。
  5. 20T,相比较而言,不适合应用顺序结构线性表来处理的是:数据规模不确定
    • B:支持随机存取。
    • C:只在表尾增删数据。
    • D:支持折半查找。
  6. 22T,
    • 因为边表的结点个数就是出度个数。
    • 入度个数的统计可以联想到 拓扑排序中 第一步 就是统计入度个数,进行遍历。
  7. 25T,
  8. 26T,挖字眼
  9. 29T,直接交换排序,就是冒泡排序
  • 稳定排序法的排序性更为稳定。×,
  1. 34T,堆排序。
  • 升序排序 需要 建立降序堆,也就是大顶堆。

  • 降序排序 需要 建立升序堆,也就是小顶堆。

  • 建堆过程就是建立一个完全二叉树。

  1. 41T,平衡二叉树。

    • 平衡二叉树是完全二叉树。×
    • 完全二叉树是平衡二叉树。×
    • 两颗平衡二叉树合并到根结点可得到一颗新的平衡二叉树。×(肯定错)
    • 平衡二叉树的左右子树肯定是平衡二叉树。
  2. 43T,折半查找一个存在的数。画判定树。

  3. 44T。

  4. 45T,图的邻接矩阵的下三角都是0,则图是

    • 有向无环图。

7、2017(12.3日三天)

  1. 6T,,为1。
    • 注意 上句话 中的 删除操作 确实为 O(1)。
    • 扩展:
  2. 10T,三元组描述
    • D:三元组表示法适合按行进行访问。
  3. 11T,D选型:缺少最多
  4. 16T。
  5. 18T,图的陈述。
    • 图根据 关系特征 可以分为有向图和无向图两大类。错,有无方向
    • **图的深度优先遍历和广度优先遍历可以确定该图。**错
    • 数据既可以部署在图的顶点上也可以部署在弧上。对
  6. 19T,如果 有向图的关系集合 满足 偏序关系 ,则称为:A
    • A有向无环图,拓扑排序,想想特性
    • B生成树
    • C无向图
    • D完全图。
      • ssss
  7. 27T,求 关键路径中 ve值。可看原题,深度思考一下。
    • i和j的位置可能互换了
  8. 28T,
    • 一条最短路径必是由另一条最短路径构成。错
    • 以V0为起点的最短的弧必为一条最短路径。对
    • 以V0为起点的最长的弧必不是一条最短路径,错
  9. 29T,不打字了,到时候回看吧。
  10. 32T,判定树。记得加1,这里当时忘加1了
  11. 33T。

8、2018

  1. 3T,A的复杂度是O(n),B的复杂度是O( n 2 n^2 n2)。选D。
    • A 算法A的速度 比算法 B快 ×
    • B 算法B的速度比算法 A快 ×
    • C 算法B比算法A更复杂 ×
    • D,以上都不对
      • 时间复杂度为O($ n^2 ) , 说 明 算 法 的 时 间 复 杂 度 T ( O ) 满 足 T ( n ) < = c ∗ ) ,说明算法的时间复杂度T(O) 满足 T(n) <= c* ),说明算法的时间复杂度T(O)满足T(n)<=c∗ n^2$
      • 问题规模 就是 n,时间复杂度T(O) 是关于问题规模 n 的函数。
    • D:串的存储结构 顺序存储结构。
    • A
  2. 5T,A**静态链表支持数组下标访问**。
    • D:。√
  3. 6T,回看题吧。
  4. 8T。循环队列的初始状态,head=tail。回看天勤资料。
  5. 10T。三元组陈述
    • 三元组表由非零元素值、行数、列数 组成。×,按定义来。
    • 三元组表中的非零元素要求按先行后列的顺序有序存储。√
    • 三元组表可以节省存储空间,但需要更多的矩阵计算时间。×。从时间复杂复杂度上来看,然而并没有需要更多时间
  6. 11T,坑题。BD,括号内外不一样。
  7. 14T,**一颗含有18个叶结点的二叉树,其深度(空树为0)最少为**6。
    • 试试,有趣
    • 第一步: n 0 = n 2 + 1 , 所 以 n 2 = 17 n_0 = n_2 + 1,所以n_2 = 17 n0​=n2​+1,所以n2​=17 。
    • 第二步:$ n = n_0 + n_1 + n_2, 因为求最少,所以 n_1 = 0, 则 n = 35$ 。、
    • 第三步:$\lfloor log_2(n+1) \rfloor $ 为6。
  8. 16T,B 二叉树是一种链式结构,×,应该是逻辑结构。
  9. 18T,A,哈夫曼树结果不唯一。
  10. 19T,有问题。。。。。。。。。。。。
  11. 22T,找强连通分量。最后看看吧。
  12. 26T,
  13. 27T,递归实现的快速排序法,递归深度取决于,,,
    • A,
    • B,
  14. 28T,先进排序法:是平均时间复杂度为 nlogn 的排序算法:快排、堆排序、归并排序。
    • 简单排序算法虽然排序速度较慢,但实现较为容易。×。(我觉得挺对的)
  15. 31T,C咋错了,

9、2019

  1. 1T,

    • A,数据元素的数据项中可以有多个次关键字,只能有一个主关键字。×,

    • C,。√

    • D,数据元素是构成数据集合的数据对象,由多个数据项组成。×

      • 数据元素是数据的基本单位。
  2. 3T,

    • B, 逻辑结构决定了算法的设计,物理结构决定算法的实现。√
    • D,同一种物理结构可以用多种逻辑结构来实现。×,
      • 说反了。
  3. 5T,

    • A,素。× 空表
      • 这是性质,没有错,但是不能这样说,空表就没有。
    • B,线性表中,每个元素有且只有唯一的前驱和惟一的后继。×。空表。
  4. 13T,

  5. 15T

    • D,带行向量的三元组表上元素访问的最坏时间复杂度 是 O(m*n),×
      • 知道咧,三元组表数据结构为一元数组。存储的是稀疏数组,非零个数小于m*m。
    • n 0 = 1000 , 所 以 n 2 = 999 n_0 = 1000, 所以 n_2 = 999 n0​=1000,所以n2​=999。
    • n个结点的总链数为2n: n = n 0 + n 1 + n 2 = 1000 + n 1 + 999 n = n_0 + n_1 + n_2 = 1000 + n_1 + 999 n=n0​+n1​+n2​=1000+n1​+999 。
    • 所以 ( 2 n 2 + n 1 ) / 2 n = ( 2 ∗ 999 + n 1 ) / 2 ( 1999 + n 1 ) = 1 / 2 (2n_2 +n_1)/2n = (2*999+n_1)/2(1999+n_1) = 1/2 (2n2​+n1​)/2n=(2∗999+n1​)/2(1999+n1​)=1/2。
  6. 22T,23T,画图题.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  7. 24T

    • A,图的邻接表结构计算 所有顶点 的入度 只需要遍历一遍整个邻接表。√。
    • B,图的邻接表结构计算 指定顶点 的出度 只需要遍历一遍整个邻接表。×。只遍历边表即可
  8. 26T

    • B,有向图上的一条路径必属于某一个深度优先遍历序列。√
    • C,
      • 图包含连通图和连通分量。
  9. 27T,

  • A,如果一次深度优先遍历能遍历完所有的顶点,则该无向图为连通图。√
    • 和26T C 有点意思。
  • B,如果一次深度优先遍历完遍历完所有顶点,则该有向图为强连通图。×
  1. 31T,

    • A,Dijkstra和Floyd都利用了最短路径的局部最优特性。√
    • B,Dijkstra通过穷举起点和终点的所有路径来确定最短路径。×
      • 不是的。
    • C,Floyd改善了Dijkstra算法在最坏情况下的时间复杂特性。×
      • 改善额是Dijkstra不能求权值为负值的单源起点最短路径问题。
    • D,Dijkstra只适合于单源起点最短路径问题的求解。×
      • 任意两点间路径也可以。
  2. 34T,D选型

  3. 36T

    • B,。√
      • 为什么快速排序的平均性能最好?
    • C,先进排序法的平均时间复杂度优于简单排序法,是更快的排序算法。×
  4. 40T,考到了很少考的归并排序。

10、2020(12.4日四天)

  1. 1T,抠字眼,紧扣定义

    • A,数据元素是数据项中的数据内容,×,说反了,数据项是数据元素的数据内容。也就是B选项了
    • C,数据元素是不可再拆分的数据,×,数据元素由若干个数据项组成。
    • 数据项是不可再拆分的数据,×
      • 数据肯定可以拆分。课本定义:
  2. 2T,关键字是特殊的数据项

    • D,关键字是数据项的类型。×。
  3. 4T,定义细节题

    • A,物理结构是逻辑结构的代码表示,×,
      • 分清逻辑结构和物理结构的定义
    • B,逻辑结构与物理结构相互对应,×
    • C,逻辑结构决定了物理结构,× 物理结构和逻辑结构无关系。
    • D,。√。
  4. 5T,复杂度

    • A,。√
    • B,时间复杂度越高,算法执行时间越长。×
    • C,O(logn) 的阶高于 O(n),×
    • D,算法的时间复杂度只与问题规模有关,×
  5. 北化资料 13页5T。

  6. 6T,细节题,正确的是 A

    • A,。√
    • B,线性表的关系集合是全序关系。×
    • C,线性表中的每个元素都有唯一前驱。×,表头没有
    • D,线性表中的每个元素有唯一后继。×
  7. 7T,

  8. 8T,单链表的空间开销高于顺序表。×,目前我

标签: p119举升传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台