没有合适的资源?快使用搜索试试~ 我知道了~
数据结构C++考试题及答案.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
![preview](https://dl-preview.csdnimg.cn/87640593/0001-206f0a284b1d18741e2a161fc1ac9883_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
21页
。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/87640593/bg1.jpg)
数据结构试题一
一、单项选择题(每小题 3 分,共 30 分)
1、在有 n 个叶子结点的哈夫曼树中,其结点总数为( )。
A、不确定 B、2n C、2n+1 D、2n-1
2、下列序列中,( )是执行第一趟快速排序得到的序列(排序的关键字类 型是
字符串)。
A、[da,ax,eb,de,bb]ff[ha,gc] B、[cd,eb,ax,da]ff[ha,
gc,bb] C、[gc,ax,eb,cd,bb]ff[da,ha] D、[ax,bb,
cd,da]ff[eb,gc,ha]
3、若线性表最常用的操作是存取第 i 个元素及其前驱的值,则采用( ) 存储
方式节省时间。
A、单链表 B、双链表 C、单循环链表 D、顺序表
4、下列排序算法中,时间复杂度不受数据初始状态影响,恒为 O(nlogn)的是( )。
A、堆排序 B、冒泡排序 C、直接选择排序 D、快序排序
5、某二叉树的先序序列和后序序列正好相反,则该二叉树一定是( )的 二叉
树。
A、空或只有一个结点 B、高度等于其结点数
C、任意结点无左孩子 D、任意结点无右孩子
6、下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的 是
( )。
A、堆排序 B、冒泡排序 C、直接选择排序 D、快序排
序
7、快速排序算法在最好情况下的时间复杂度为( )。
A、O(n) B、O(n 2 ) C、O(nlogn) D、O(logn)
8、已知数据表 A 中每个元素距其最终位置不远,则采用( )排序算法最 省时
间。
A、堆排序 B、插入排序 C、直接选择排序 D、快序排
序
9、带权有向图 G 用邻接矩阵 A 存储,则顶点 i 的入度为 A 中( )。
A、第 i 行非∞的元素之和 B、第 i 列非∞的元素之和
C、第 i 行非∞且非 0 的元素之和 D、第 i 列非∞且非 0 的元素之和
10、在有 n 个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比 较
次数的数量级为( )。
A、O(n) B、O(n 2 ) C、O(nlogn) D、O(logn)
二、判断题 (认为对的在题后的括号内打“√”,错的打“ⅹ”,每小题1分,
共 10 分)
1.对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先搜索遍历可
访问该图的每个顶点。 ( )
2. 在索引顺序表上实现分快查找,在等概率查找情况下,其平均查找长度不仅
与表的个数有关,而且与每一块中的元素个数有关。 ( )
3、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。 ( )
4、图 G 的最小生成树的代价一定小于其他生成树的代价。 ( )
5、已知一棵树的先序序列和后序序列,一定能构造出该树。 ( )
6、对一个堆按层次遍历,不一定能得到一个有序序列。 ( )
![](https://csdnimg.cn/release/download_crawler_static/87640593/bg2.jpg)
7、设与一棵树 T 所对应的二叉树为 BT,则与 T 中的叶子结点所对应的 BT
中的结点也一定是叶子结点。 ( )
8、不管 ADT 栈是用数组实现,还是用链表的指针实现,POP(S)与 Push(x,S) 的
耗时均为 O(n)。 ( )
9、如果删除二叉排序树中一个结点,再按照二叉排序树的构造原则重新插入 上
去,一定能得到原来的二叉排序树。 ( )
10、快速排序是排序算法中最快的一种。 ( )
三、填空题(每小题 2 分,共 20 分)
1、在双向循环表中,在 p 所指的结点之后插入指针 f 所指的结点,其操作为 :
___ ______=p;f→next=p→next;_____=f; p→next=f。
2、在有序表 A[1…20]中,采用二分查找算法查找元素值等于 A[12]的元素,所
比较过的元素的下标依次为__________。
3、若某串的长度小于一个常数,则采用_________存储方式最节省空间。
4、在有 n 个顶点的有向图中,每个顶点的度最大可达_________。
5、已知二叉树中叶子数为 50,仅有一个孩子的结点数为 30,则总结点数为
__________。
6、设键值序列为{K1,K2,…,Kn},用筛选法建堆则必须从第_______个元 素
开始筛选。
7、在二叉链表中判断某指针 p 所指结点为叶子结点的条件是_________。
8、直接选择排序算法在最好情况下所作的交换元素的次数为___ _____。
9、有 n 个球队参加的足球联赛按主客场制进行比赛,共需进行_______比赛。
10、下列排序算法中, 占用辅助空间最多的是_________( 堆排序, 希尔排序,
快速排序,归并排序)。
四、简答题(每题 10 分,共 60 分)
1、在单链表、双链表和单循环链表中,若仅知道指针 p 指向某结点,不知道头
指针,能否将结点 p 从相应的链表中删去?若可以,其时间复杂度各为多少?
2、设有一组关键字(17,13,14,153,29,35)需插入到表长为 12 的散列表
中,请回答以下问题:
(1)设计一个适合该散列表的散列函数。
(2)用设计的散列函数将上述关键字插入到散列表中,并用线性探测法解决
冲突,画出其结构;并指出用线性探测法解决冲突时构造散列表的装填因子为多
少?
3、对 n 个顶点的无向图和有向图,采用邻接矩阵和邻接表表示时,如何判别下
列有关问
(1)图中有多少条边?
(2)任意两个顶点 i 和 j 是否有边相连?
(3)任意一个顶点的度是多少?
4、已知下面二叉排序树的各结点的值依次为 1…9,请标出各结点的值。
![](https://csdnimg.cn/release/download_crawler_static/87640593/bg3.jpg)
5、具有 3 个结点的树和具有 3 个结点的二叉树,它们的所有不同形态有哪些?
6、分析以下程序段中语句 x=x+y 的执行次数。
x=0; y=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
for(int k=1;k<=j;k++)
x=x+y;
五、算法设计题(每题 15 分,共 30 分)
说明:可以使用任何高级程序设计语言或伪(类)程序设计语言。
1、假设以二叉链表作为二叉树存储结构,其类型定义如下:
typedef struct node
{ char data;
struct node *lchild,*rchild;//左右孩子指针
}BinTNode,*BinTree;
写一函数,完成以下功能:
对二叉树中每个结点,如果其左孩子为空(右孩子不为空),则将其右孩子
设置为左孩子。
2、试设计将数组 A[0…n-1]中所有奇数移到所有偶数之前的算法。要求不另增
加存储空间且时间复杂度为 O(n)。
数据结构试题 1 参考答案
一、1——5:DADAB 6——10:CCBDD
二、1——5:ⅹ√ⅹⅹ√ 6——10:√ⅹⅹⅹⅹ
三、 1、①f→prior, ②p→next→prior 2、10 15 12 3、顺序压缩 4、2(n-1)
5、129 6、n/2 的最小整数 7、(p→lchild==NULL)&&(p→rchild==NULL)
8、0 9、n(n-1) 10、归并排序
四、1、 答案: 在单链表中不能删除,而在双链表和单循环链表中可以删除 p 结点。
双链表 的删除时间复杂度为 O(1),单循环链表删除 p 结点的时间复杂度为 O(n)。
2、答案:(1)由于散列表的长度为 12,则可选不超过表长的最大素数 11 作为除留余 数
法的模,则可得其散列函数为 h(k)=k%11。
(2)若用线性探测法解决冲突,则可构造出散列表如下:
13 14 35 17 29 153
0 1 2 3 4 5 6 7 8 9 10
11
此时,其装填因子为 6/12=1/2,若用链式法解决冲突,则其散列表为:
![](https://csdnimg.cn/release/download_crawler_static/87640593/bg4.jpg)
3、 答案:(1)无向图的邻接矩阵所有数值之和除以 2,为边数。有向图邻接矩阵各行 数
值之和为总边数。邻接表表示无向图内部顶点个数除以 2,有向图内部顶 点个数。
(2)无向图中 I 行和 J 列的交叉点的值是否为 1。有向图 I 行 J 列交叉点或 I 列和
J 行交叉点的值为 1。
(3)无向图顶点的度为每一行的数值之和;有向图顶点度为该行和该列数 值之和。
4 答案:
5、答案:具有 3 个结点的树的形态为:三个结点的两种树形态,无左右之分。
具有 3 个结点的二叉树的形态为:5 种形态,有左右之分。
6:答案:
五、1、 答案: void exchange(Bin Tree T)
{ if(T)
{ if(!T→lchild&&T→rchild)
{T→lchild= T→rchild;
T→rchild=NULL; }
exchange(T→lchild);
exchange(T→rchild); }}
2、 答案: int oddbefore(A,n)//将数组 A[0…n-1]中所有奇数移到所有偶数之前
int A[ ];
{ int c,i,j; i=0;j=n-1;//初始化 i、j
while(i<j)
{while((A[i]%2==1)&&(i<j)) //A[i]为奇数时,i 向右扫描
i++;
while((A[i]%2==0)&&(i<j)) // A[i]为偶数时,j 向右扫描
j--;
if(i<j) // A[i]与 A[j]进行交换,i 向右、j 向左扫描;
{c=A[i];
A[i]=A[j]; A[j]=c; i++;
j--; } }
return(1)
} //oddbefore
![](https://csdnimg.cn/release/download_crawler_static/87640593/bg5.jpg)
数据结构试题 2
一、单项选择题(每小题 3 分,共 30 分)
1、下列排序算法中,( )排序在每趟结束后,不一定能选出一个元素放到其排好序的最终
位置上。
A、选择 B、冒泡 C、归并 D、堆
2、若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则
采用( )存储方式最节省运算时间。
A、单链表 B、仅有头指针的单循环链表 C、双链表 D、仅有尾指针的单循环链表
3、串的长度是( )。
A、串中不同字符的个数 B、串中不同字母的个数
C、串中所含字符的个数且字符个数大于 0 D、串中所含字符的个数
4、有一个散列表,表长度 m 为 100,采用除余法构造散列函数,即 H(k)=k%P,(P 小于等
于 m),为使散列函数有较好的性能,P 的选择应是( )。
A、99 B、97 C、91 D、93
5、在包括 n 个键值的二叉排序树中查找一个键值,其平均比较的量级为( )。
A、O(n) B、O(logn) C、O(nlogn) D、O(n)
6、对有 14 个元素的有序表 A[1…14]作二分查找,查找 A[4]时的被比较元素依次为( )。
A、A[1],A[2],A[3],A[4] B、A[1],A[14],A[7],A[4]
C、A[7],A[3],A[5],A[4] D、A[7],A[5],A[3],A[4]
7、具有 65 个结点的完全二叉树其深度为( )。
A、8 B、7 C、6 D、5
8、带权有向图 G 用邻接矩阵 A 存储,则顶点 i 的入度等于 A 中( )。
A、第 i 行非无穷元素之和 B、第 i 列非无穷元素之和
C、第 i 行非零且非无穷元素个数 D、第 i 列非零且非无穷元素个数
9、队列操作的原则是( )。
A、先进先出 B、后进先出 C、只能进行插入 D、只能进行删除
10、若表 R 在排列前已按元素键值递增顺序排序,采用( )的比较次数少。
A、直接插入排序 B、快速排序 C、归并排序 D、选择排序
二、判断题 (认为对的,在题后的括号内打“√”,错的打“ⅹ”,每小题1 分,共10分)
1、在栈空的情况下,不能做退栈运算,否则产生下溢。 ( )
2、在快速排序算法中,取待排序的 n 个记录中的第一个的键值为基准,将所有记 录分为
两组,读记录就排在这两组的中间,这也是该记录的最终位置。 ( )
3、在索引顺序表查找方法中,对索引顺序表可以使用顺序表查找方法,也可以使 用二分查
找方法。 ( )
4、设有键值序列(k1,k2,…,kn),当 i>n/2 时,任何一个序列(k1,k2,…,kn)一定
是堆。 ( )
5、在向二叉排序树中插入一个新结点时,需要比较结点的次数可能大于此二叉树的高度h。
( )
6、在一个有向图的邻接表或逆邻接表中,如果某个顶点的链表为空,则该顶点的度一定为
零。 ( )
7、双循环链表中,任一结点的前驱指针均为不空。 ( )
8、线性表采用链式存储方式和顺序存储方式,执行插入、删除运算的算法时间复 杂度都是
O(n),因而两种存储方式的插入、删除运算所花费的时间相同。 ( )
9、如果有向图 G=(V,E)的拓扑序列不唯一,则图中必有两条弧<vi,vj>和<vj,vi> 存在。( )
剩余20页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- Allbule83522024-01-09资源很实用,对我启发很大,有很好的参考价值,内容详细。
- 2201_757616172023-06-13资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
![avatar](https://profile-avatar.csdnimg.cn/5727ece9c0874d7a8520d85db0052815_weixin_67271870.jpg!1)
若♡
- 粉丝: 6210
- 资源: 1万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- HC32F460智能台灯上位机
- HC32F460智能台灯 立创EDA专业版工程
- 基于Matlab的2Q-FSK移频键控通信系统仿真
- 基于Node.js+MySQL开发的开源微信小程序商城
- 基于Python实现GNU Radio上的OFDM通信系统仿真及实测
- CnWizards delphi插件 变量高亮 delphi工具
- 用K210进行垃圾识别,通过串口发送不同信号给stm32,控制步进电机进行分类,并且语音播报.zip
- 基于Matlab 实现单径瑞利信道下,交织与卷积编码对误码率影响仿真
- [金融、财务数据] Wrds RepRisk (RRI指标)数据集RepRisk
- 基于PCL的平面点云格网可视化程序代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)