数据结构书面测试问题,问题1,多项选择问题1.以下哪种排序方法在时空上最适合123456798(): A.快速排序B.气泡排序C.插入排序D.堆排序2. 就排序算法使用的辅助空间而言,堆排序,快速排序和合并排序之间的关系为(2.)3.A. 堆排序合并排序>快速排序D.堆排序>快速排序>合并排序E. 以上答案都是错误的. 3.以某种遍历方式执行的二叉树顺序为A,B,C,D,E,F,G. 如果二叉树的根节点为E,则可能遍历为____ ,并且相应的后序遍历为____ A. ECBADFG,BDCAFGE C. ECBADGF,EACBDGF B. ECBADFG,EFACDBG D. EACBDGF,BDCAFGE4. (常见问题类型,给定遍历树的前序遍历和中间遍历,遍历中阶和后续遍历,引入二叉树)关于图和树,以下语句正确________ A.允许树和图图的深度遍历和广度遍历的结果可能是相同的C. 二进制树是每个节点都有一个带有两个子级D的树. 二进制的前遍历和后遍历的结果树肯定不同. 在双循环链表的节点p后面插入s的操作是(5.)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; 2.填写空白的问题1.对链表表示的数据进行简单的选择和排序,节点的域为数据域数据,指针域为下一个;链表的第一个指针是head,链表没有头节点.
selectsort(head)p = head;而(p(1)_______){q = p; r =(2)_______ while((3)______){if((4)_______)q = r; r =(5)_______; } tmp = q->数据; q->数据= p->数据; p->数据= tmp; p =(6)_______;} 2. 3.二叉树对称序列为ABCDEFG,其后的顺序为BDCAFGE,且该顺序为: _________填空: 实现二叉树排序需要递归方法,并且第二个参数s是要插入的新节点. typedef struct inode {Int数据; struct inode *左; struct inode *正确; } b_tree; b_tree * sort_b_tree(b_tree ** tree,b_tree s){if(NULL == * tree){* tree = s;}否则if(s-> data data){}否则if(s ->数据>(*树)->数据){}} 3.简短回答问题1. 2. 3. 4.数组和链表请详细说明.
什么是排序算法? 如何理解哈希表以及什么是哈希表请写以下算法的时间复杂度气泡排序方法插入排序方法堆排序方法快速排序方法5.二叉树排序方法希尔排序方法的数据结构,相关的二叉树知识c语言链表冒泡排序,开销量,为什么要使用二叉树等. 4.编程问题1. 2. 3.编写一个将整数的有序数组放入二叉树的程序. 在二进制搜索树中找到值的位置. 大于父节点的元素的二叉树在右子树中,小于父节点的元素在左子树中. 即,对二叉树进行排序并写入以插入节点或删除节点. 实现单向链表: 创建链表,插入链表,查询链表,删除特定序列号链表节点,并遍历其余的链结4.链结节点5. 6. 7. 8. 9 . 确定链表是否为删除链表的增量编程实现的编程实现列表中的重复节点仅遍历链表一次,而链表的相反顺序将两个有序链表A1,A2合并为有序链接列表A3. 已知的链表节点结构LNode {int iValue; LNode *下一个; };有序的链表,从小到大排列. 实现以下功能,以将数据插入链表并对其进行排序. 请实现以下功能: bool InsertLink(LinkList * p,int a){}; 10.编写一个链表,创建一个链表,添加一个链表节点,删除一个链表节点,找到一个链表节点,编写一个主函数,创建一个链表,在其中添加20个学生节点(节点包含名称和名称). 学生编号),然后删除其中任何一个,输出任何指定的节点,然后输出最后10个学生节点.
11. 将整数存储在test.txt文件中的顺序列表中,然后按顺序输出. 12. 找到单个链接列表的倒数第二个元素. 13.找到单个链接列表的中间元素. 14. 判断列表链表中的戒指?如何找到戒指的“起点”?如何知道戒指的长度? 15.两个单链表相交并计算交点16.使用两个堆栈来实现队列17.使用两个队列来实现堆栈18.请实现双向循环链表,包括添加,查询,插入,删除基本操作,例如null,打印输出等. 19.编写一个函数,以在两个链接列表的数据相同时删除节点. struct节点{Int数据;结构节点* front,next;}有两个链接列表,分别是结构节点* headA,* headB. 20.编写一个双向反向列表程序21.一个双向列表,交换两个连续的节点22.如何编写程序以将有序整数数组放入二叉树中23.在二叉搜索树中找到一个特定的位置的值是24. 在二叉树中c语言链表冒泡排序,大于父节点的元素在右子树中,而小于父节点的元素在左子树中. 即,对二叉树进行排序并写入以插入节点或删除节点. 25.如何判断二叉树是否是平衡的二叉树26.实现冒泡(图)27.找到字符串中最长的子字符串,要求该子字符串的所有字符都相同28.递归算法N! 29. 1 1 2 3 5 8 13 ??查找第32位数字的任何语言程序,递归实现30. 请编写一个升序排序函数31. 请编写冒泡排序,选择排序,快速排序32. 一种用于将洗牌的洗牌和存储在整数数组中的算法33. 更大的整数大于0,不带循环和局部变量,按n,2n,4n,8n的顺序递增,当值大于5000时,按指定顺序输出值.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-238194-1.html