数据结构笔试题题目
更新时间:2023-10-08 01:34:01 阅读量: 综合文库 文档下载
数据结构笔试题题目
一、 选择题
1. 下面哪种排序法对123456798在空间和时间上最优( )
A. 快速排序 B. 冒泡排序 C. 插入排序 D. 堆排序
2. 2.就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是( ) A.堆排序〈 快速排序〈归并排序 B.堆排序〈 归并排序〈 快速排序 C.堆排序〉 归并排序 〉快速排序 D.堆排序 > 快速排序 > 归并排序 E.以上答案都不对
3. 3.一株二叉树的以某种遍历方式的序列为A、B、C、D、E、F、G,.若该二叉树的根结
点为E,则它的一种可能的前序遍历为____ ,相应的后序遍历为____
A. ECBADFG, BDCAFGE C. ECBADGF, EACBDGF
B. ECBADFG, EFACDBG D. EACBDGF, BDCAFGE
(常见题型,给出树的前序遍历和中序遍历,中序和后续遍历,推出二叉树) 4. 关于图和树,下面说法正确的是________
A. 树和图都允许有环
B. 图的深度遍历和广度遍历结果可能一样 C. 二叉树是每个节点都有两个孩子节点的树
D. 二叉树的前序遍历和后序遍历结果肯定不一样
5. 完成在双循环链表结点p之后插入s的操作是( )
A.p->next=s ; s->priou=p; p->next->priou=s ; s->next=p->next; B.p->next->priou=s; p->next=s; s->priou=p; s->next=p->next; C.s->priou=p; s->next=p->next; p->next=s; p->next->priou=s ; D.s->priou=p; s->next=p->next; p->next->priou=s ; p->next=s;
二、 填空题
1. 用链表表示的数据的简单选择排序,结点的域为数据域data ,指针域 next ;链表首
指针为head ,链表无头结点。
selectsort(head) p=head;
while (p(1)_______) {
q=p; r=(2)_______
while((3)______ )
{if ((4)_______ ) q=r;
r=(5)_______ ; }
tmp=q->data; q->data=p->data; p->data=tmp; p= (6)_______ ;
}
2. 二叉树对称序列为ABCDEFG, 后序序列为BDCAFGE,问前序序列为:_________ 3. 填空:要求用递归的方法实现二叉树排序, 第二个参数s为要插入的新结点。 typedef struct inode { Int data; struct inode *left; struct inode *right;
}b_tree;
b_tree *sort_b_tree(b_tree **tree, b_tree s) { if (NULL == *tree) { *tree = s;
} else if (s->data < (*tree)->data) { } else if (s->data > (*tree)->data) {
} }
三、 简答题
1. 数组和链表的区别,请详细解释。
2. 排序算法有哪些?< C语言总共有多少种排序法> 3. 怎么理解哈希表,哈希表是什么 4. 请写出以下算法的时间复杂度
冒泡排序法 插入排序法 堆排序法 快速排序法
二叉树排序法 希尔排序法
5. 数据结构,二叉树的相关知识,开销量,为何使用二叉树等。
四、 编程题
1. 编写一个程序,把一个有序整数数组放在二叉树中。 2. 在二叉查找树中查找某一个值所在的位置。
3. 二叉树,比父节点大的元素,都在右子树,比父节点小的元素都在左子树。也就是排序
二叉树,写出插入一个节点或者删除一个节点。 4. 实现单向链表:创建链表、插入链表、查询链表、删除特定序号链表节点、遍历剩余链
表节点
5. 编程实现判断一个链表是否是递增的 6. 编程实现删除链表中的重复节点 7. 只遍历一次链表,实现链表的倒序
8. 将两个有序链表A1,A2表合并为一个有序链表A3 9. 已知链表节点
struct LNode {
int iValue; LNode *next; };
已创建一个有序的链表,从小到大排列。实现以下函数,将数据插入到链表中,并且有序。请实现以下函数:
bool InsertLink(LinkList *p,int a){};
10. 写一个链表,实现创建链表,添加链表节点,删除链表节点,查找链表节点,写一个
main函数,创建一个链表,里面添加20个学生节点(节点含有姓名和学号),再删除其中任意一个节点,输出任意指定节点,输出最后10名学生节点。 11. 将test.txt文中的整数按顺序依次存入一个链表中,然后按顺序输出 12. 找出单链表的倒数第4个元素 13. 找出单链表的中间元素
14. 判断单链表是否有环?如何找到环的“起始”点?如何知道环的长度? 15. 两个单链表相交,计算相交点 16. 用两个栈实现队列 17. 用两个队列实现栈
18. 请实现一个双向循环链表,包含新增,查询,插入,删除,销毁等判断是否为空,打印
输出等基本操作 19. 写一个函数,当两个链表中元素data相同时,删除节点。
struct node { Int data;
Struct node* front, next;
}有两个链表struct node* headA, *headB。 20. 写一个双向列表倒序的程序
21. 一个双向链表,将两个连续的节点交换
22. 怎样编写一个程序,把一个有序整数数组放在二叉树中 23. 在二叉查找树中查找某一个值所在的位置
24. 二叉树,比父节点大的元素,都在右子树,比父节点小的元素都在左子树。也就是排序
二叉树,写出插入一个节点或者删除一个节点。 25. 如何判断一棵二叉树是否是平衡二叉树 26. 实现冒泡(图)
27. 找出字符串中的最长子串,要求子串的所有字符相同 28. 递归算法N!
29. 1 1 2 3 5 8 13 ?? 任意语言编程求出第32位数是多少,递归实现 30. 请写一个升序排序函数
31. 请写出冒泡排序,选择排序,快速排序
32. 给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里
33. 一个整数大于0,不用循环和本地变量,按照n、2n、4n、8n的顺序递增,当值大于5000
时,把值按照指定顺序输出来。
正在阅读:
数据结构笔试题题目10-08
统计学简答题答案09-15
课程设计报告 - 内部排序算法的性能分析12-19
林业建设项目可行性研究报告编制规定11-02
小学毕业生代表发言稿10-08
PPP项目资本金、明股实债和规范运作标准03-16
改进蚁群算法在车间作业调度中的应用研究04-25
毕业论文- 再度修改版10-10
风格美学人物九大风格09-04
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 试题
- 题目
- 小学“迎中秋,庆国庆”主题活动方案
- 沉淀池
- 四年级上册数学期中考试试卷分析总结
- 2016年漳州市继续教育公共课《专业技术人员创新能力培养与提高》完整答案
- 东华大学乒乓球题库
- 视频监控项目工程程序文件
- 电子标书-技术标4、安全管理体系与措施
- FIDIC复习题-汇总
- 金瓦红墙万重门 簌簌梅花庭院深
- 船舶电气及自动化 - 图文
- 2016年最新尔雅课程心理、行为与文化题库(答案)
- 110KV降压变电所电气部分的设计
- 羽毛球 试题 答案 复习
- 关于对北仑区新一轮土地利用总体规划
- 水峪矿
- 幼儿围棋入门教案
- 中外会计准则差异对上市公司业绩的影响
- 自考:公文写作与处理复习资料
- 2019年高速公路智能化行业现状及发展趋势分析 目录
- 2014庆六一活动方案一