当前位置: 首页 > news >正文

数据结构+算法分析与设计[15-18真题版]

2015年考试试题

一、给出数组A[3..8,2..6]0F integer,当它在内存中按行存放和按列存放时,分别写出元素A[i,j]的地址计算公式(设每个元素占两个存储单元)。(10分)

二、已知一棵二叉树的中序序列的结果是BDCEAFHG,后序序列的结果是DECBHGFA,试画出这棵二叉树。(10分)

三、对下图所示的二叉树分别求出其先序、中序、后序序列。(10分)

四、己知图G如下,给出从顶点V1出发的一个深度优先生成树;给出从顶点V1出发产生的一个广度优先生成树。(10分)

五、使用克鲁斯卡尔算法构造出如下图所示的图G的一棵最小生成树。(10分)

六、试证明有n0个叶子的哈夫曼树共有2n0-1个结点。(10分)

七、给出一组关键字(12,2,16,30,28,10,16,20,6,18),分别写出按下列各种排序方法进行排序时的变化过程: (15分)

(1)直接排序,每排序一次书写一个次序。

(2)快速排序,每划分一次书写一个次序。

(3)堆排序,先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。

八、设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:H(Key)=Key MOD 13采用开放地址法的二次探测再散列方法解决冲突,试在0~18的散列地址空间中对该关键字序列构造哈希表。(15分)

九、有一份电文中共使用5个字符:A、B、C、D、E,它们出现的频率依次为4、7、5、2、9。

试画出对应的哈夫曼树(按左子树根结点的权小于等于右子树根结点的权的次序构造)。并求出每个字符的哈夫曼编码和带权路径长度。(15分)

十、编一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。(15分)

十一、编写一个程序,用“起泡法”对输入的20个字符按由小到大顺序排序。(15分)

十二、有数组A[4][4],把1到16个整数分别按顺序放入A[0][0],…,A[0][3],A[1][0],…,

A[1][3],A[2][0],…,A[2][3]A[3][0],…,A[3][3]中,编写一个函数获取数据并求出两对角线元素的乘积。(15分)

2016年考试试题

一、设有二维数组A[6][8],每个元素占6个字节存储,实现存放,A[0][0]的起始地址为1000,计算: (10分)

(1)数组最后一个元素A[5][7]的起始地址;

(2)按行优先存放时,元素A[1][4]的起始地址;

(3)按列优先存放时,元素A[4][7]的起始地址。

二、若有一棵二叉树,左右子树均有三个结点,其左子树的前序序列与中序序列相同,右子树的中序序列与后序序列相同,试构造该树。 (10分)

三、首先将下图所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度优先遍历,广度优先遍历的结果。(10分)

四、已知一棵二叉树的前序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试画出这棵二叉树。(10分)

五、使用普里姆算法构造出如下图所示的图G的一棵最小生成树。(10分)

六、任意一个有n个结点的二叉树,已知它有m个叶子结点,试证明非叶子结点有(m-1)个度数为2,其余度数为1。(10分)

七、给出一组关键字(29,18,25,47,58,12,51,10),分别写出按下列各种排序方法进行排序时的变化过程:(15分)

(1)归并排序,每归并一次书写一个次序。

(2)快速排序,每划分一次书写一个次序。

(3)堆排序,先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。

八、对关键字序列7,4,1,14,100,30,5,9,20,134,设哈希函数为H(X)=X MOD 13。试给出表长为13的哈希表(用线性探测开放定址法处理冲突)。(15分)

九、假定用于通信的电文仅由8个字母cl,c2,c3,c4,c5,c6,c7,c8组成,各字母在电文中出现的频率分别为5,25,3,6,10,11,36,4。试为这8个字母设计不等长Huffman编码,并给出该电文的总码数。(15分)

十、试写一个双向冒泡排序的算法,即在排序过程中交替改变扫描方向。(15分)

十一、编写程序求1!+2!+3!+4!+…+30!之和。(15分)

十二、定义一个通讯录结构,成员包括:姓名(字符串)、电话(字符串)、生日(日期结构:年、月、日)。编写函数实现数据的输入、输出和按姓名查找。(15分)

2017年考试试题

一、设有一个10阶的对称矩阵A,采用以行优先的方式压缩存储。a11为第1个元素,其存储地址为1,每个元素占3个存储单元。问元素a85和a58的地址是多少?(10分)

二、已知二叉树的前序序列是A-B-D-G-C-E-F,中序序列是D-G-B-A-E-C-F,试画出这该棵二叉树。(10分)

三、己知图G如下,给出从顶点V1出发的一个深度优先生成树;给出从顶点V1出发产生的一个广度优先生成树。(10分)

四、已知一棵二叉树的中序序列为C-B-E-D-A-H-G-I-J-F,后序序列为C-E-D-B-H-J-I-G-F-A,试画出这棵二叉树的先序线索二叉树。(10分)

五、使用克鲁斯卡尔算法构造出如下图所示的图G的一棵最小生成树。(10分)

六、已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,…nm个度为m的结点,问该树中有多少个叶子结点。(10分)

七、设待排序的排序列为(12,2,16,30,28,10,16*,20,6,18),试分别写出按下列排序方法进行排序时的变化过程(即每趟排序后的结果)。(1)直接插入排序;(2)快速排序;(3)希尔排序。(15分)

八、设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:H(Key)=Key MOD 13采,用开放地址法的线性探测再散列方法解决冲突,试在0~18的散列地址空间中对该关键字序列构造哈希表。(15分)

九、有一份电文中共使用5个字符:A、B、C、D、E,它们出现的频率依次为4、7、5、2、9。试画出对应的哈夫曼树(按左子树根结点的权小于等于右子树根结点的权的次序构造)。并求出每个字符的哈夫曼编码和带权路径长度。(15分)

十、试编写将用二叉链表表示的完全二叉树转换为二叉树的顺序(数组)表示的算法。(15分)

十一、有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人。(15分)

十二、编写几个函数。(1)输入20个员工的姓名和员工号;(2)按员工号由小到大排序,姓名顺序也随之调整;(3)要求输入一个员工号,用折半查找法找出该员工的姓名。从主函数输入要查找的员工号,输入该项员工姓名。(15分)

2018年考试试题

一、设有一个二维数组A[m][n],假设A[0][0]存放位置在644,A[2][2]存放位置在676,每个元素占一个空间,问A[3][3]存放在什么位置。(10分)

二、已知一棵二叉树的前序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试画出这棵二叉树。(10分)

三、己知图G的邻接表如下所示,顶点V1为出发点,完成下列要求,请画出:(1)由深度优先搜索得到的一棵生成树;(2)由广度优先搜索得到的一棵生成树。(10分)

四、首先将下图G所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度优先遍历,广度优先遍历的结果。(10分)

五、使用普里姆算法构造出如下图所示的图G的一棵最小生成树。(10分)

六、如果一棵树有n1个度为1的结点,有n2个度为2的结点,…,nm个度为m的结点,试问,有多少个度为0的结点?试推导之。(10分)

七、分别写出按下列各种排序方法对已知序列进行排序时的每一趟结果:(15分)

(1)冒泡排序,已知序列{17,18,60,40,7,32,73,65,85}。

(2)希尔排序,已知序列{10,18,4,3,6,12,1,9,15,8}。

(3)归并排序,已知序列{10,18,4,3,6,12,1,9,15,8}。

八、将序列13,15,22,8,34,19,21插入到一个初始时是空的散列表中,散列函数采用H(X)=1+(X MOD 7)。使用步长为3的线性探测法解决冲突。(15分)

九、已知A、B、C、D、E、F等字符的出现概率分别为0.26、0.1、0.12、0.16、0.28、0.08,求其不等长Huffman编码和平均码长。(15分)

十、编写一个函数,利用二分查找算法在一个有序表中插入一个元素X,并保持表的有序性。(15分)

十一、已知有函数的定义如下:(15分)

{n+1 if m=0

akm(m,n)={akm(m-1,1) if m<>0 n=0

{akm(m-1,akm(m,n-1) if m<>0 n<>0

(1)写出递归算法程序。

(2)写出非递归算法程序。

十二、将100名员工的个人信息从键盘输入、然后送到磁盘文件worker.rec中保存。设员工信息包括员工号、姓名、工资,再从磁盘读入这些数据,并依次显示在屏幕上(要用fread()函数和fwrite()函数),试编写程序。(15分)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.lryc.cn/news/473847.html

相关文章:

  • 单链表OJ题(2):反转链表(三指针法)、找中间节点(快慢指针)
  • Rows 行
  • 十个常见的软件测试面试题,拿走不谢
  • windows 11 配置 kafka 使用SASL SCRAM-SHA-256 认证
  • Elasticsearch —— ES 环境搭建、概念、基本操作、文档操作、SpringBoot继承ES
  • ElSelect 组件的 onChange 和 onInput 事件的区别
  • 加密与数据提取:保护隐私的新途径
  • 博客摘录「 宋宝华:Linux文件读写(BIO)波澜壮阔的一生」2024年11月1日
  • 使用华为云数字人可以做什么
  • leetcode刷题记录——(十六)349. 两个数组的交集
  • vue3实现规则编辑器
  • 【快速上手】pyspark 集群环境下的搭建(Standalone模式)
  • 中文NLP地址要素解析【阿里云:天池比赛】
  • 使用AddressSanitizer内存检测
  • 11月1日星期五今日早报简报微语报早读
  • 实用篇:Postman历史版本下载
  • 微服务实战系列之玩转Docker(十七)
  • 操作系统-实验报告单(1)
  • rom定制系列------小米8青春版定制安卓14批量线刷固件 原生系统
  • CATIA许可证常见问题解答
  • PySpark Standalone 集群部署教程
  • 【源码+文档】基于SpringBoot+Vue旅游网站系统【提供源码+答辩PPT+参考文档+项目部署】
  • 9.排队模型-M/M/1
  • 【GO学习笔记 go基础】编译器下载安装+Go设置代理加速+项目调试+基础语法+go.mod项目配置+接口(interface)
  • 从0开始学习shell脚本
  • 官方工具重装Windows 11当前版本 /绕过硬件检查/免U盘
  • JavaEE初阶---网络原理/UDP服务器客户端程序
  • 每天10个vue面试题(六)
  • Qt:信号和槽
  • 可以免费商用的字体下载