一、单项选择题ABCBDACBDC二、简答题1.链式存储结构。
原因:线性表在处理过程中长度会动态地变化,说明对线性表的操作使以增加和删除数据为主。
而顺序存储结构在增加和删除数据的时候需要整体移动数据的位置,比较复杂,所以宜采用链式存储结构。
2.最少有73个,最多有235个。
3.(1)矩阵中不为0的元素的二分之一。
(2)矩阵中对应该顶点的行或列中非零元素的个数。
(3)矩阵中i对应的行和j对应的列的交点元素是否为0。
为0的话就不存在边,不为0则存在边。
4.①折半插入排序比较次数取决于每一趟的折半次数,而折半次数只取决于元素个数而与序列的初始状态无关。
②当排序序列元素个数较小时。
三、综合题1.交换双向链表中某个指定结点与其直接后继结点的位置。
2.三个。
如下图 6 2 3 4 5 5 1 1 1 1 1 1 1 1 1 1 3.前序:ABDEGCFH后序:DGEBHFCA4.深度优先:ACBDE广度优先:ACEBD四、算法设计题
2024/11/17 4:23:51 141.94MB 考研真题
1
实验内容1.二分查找又称为折半查找,它要求要查找的顺序表必须是有序表,即表中结点按关键字有序.并且要用顺序存储结构。
基本思想是:首先将给定值key与表中中间位置记录的关键字相比较,若二者相等,则查找成功,否则根据比较的结果确定下次查找的范围是在中间记录的前半部分还是后半部分,然后在新的查找范围内进行同样的查找,如此重复下去,直到在表中找到关键字与给定值相等的记录,或者确定表中没有这样的记录。
编写程序构造一个有序表La,从键盘接收一个关键字key,用二分查找法在La中查找key,若找到则提示查找成功并输出key所在的位置,否则提示没有找到信息。
2.编写程序实现Hash表的建立、删除、插入以及查找操作。
程序应包含的主要功能函数有:Hash():计算哈希地址InitialHash():初始化哈希表SearchHash():在哈希表中查找关键字InsertHash():向哈希表中插入关键字DeleteHash():删除哈希表中某一关键字PrintHash():打印输出哈希表
2024/8/23 7:52:55 43KB 二分查找 hash 数据结构 代码
1
(产品产品包:航空订票系统.rar开发说明书:航空订票系统开发说明书产品源代码名:航空订票系统.cpp开发文档:开发成员名单.xls帮助文档:帮助.xls)一.设计题目航空客运订票的业务活动包括:查询航线、客票预订和办理退票等运订票系统,以使上述业务可以借助计算机来完成。
二.需求分析(一) 功能描述(1)每条航线所涉及的够息有:终点站名、航班号、星期几、乘员定额、众票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票层);
(2)作为示意系统,全部数据可以只放在内存中;
(3)系统能实现的操作和功能如下:①查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额。
②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续.输出座位号;
若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补;
③承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求.则为他力、理订票手续,否则依次询问其它排队候补的客户。
(二) 实现提示两个客户名单可分别由线性表和队列实现。
为查找方便.已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。
由于预约人数无法预计,队列也应以链表作存储结构。
整个系统需汇总各条航线约情况登录在一张线性表上,由于航线基本不变.可采用顺序存储结构,并按航班有序或按终点站名有序。
每条航线是这张表上的—个记录,包含上述8个域,其中乘员名单域为指向乘员名单链表的头指针,等侯替补的客户名单域为分别指向队头和队尾的指针。
(三) 功能结构图(四) 模块划分1) 航班查询根据旅客提出的终点站名输出航班号、星期几飞行,最近一天航班的日期以及余票额情况。
2) 用户订票根据客户提出的要求查询该航班票额情况,若尚有余票,则为客户办理订票手续.输出座位号;
若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补。
3) 用户退票根据客户提出的要求查询该客户的订票情况,若情况属实则可确认退票。
4) 开发简介表明产品名及开发人员情况。





2024/8/22 17:07:12 1.97MB C C++
1
参考资料:《数据结构》(C语言版)严蔚敏&&吴伟民&&米宁著要求选用顺序存储结构和二叉链表存储结构实现抽象数据类型二叉树的基本操作。
有个亮点是利用字符在dos界面显示二叉树的结构形态。
里面包含了完整的源程序和实验报告文档。
实验报告包含了完整的步骤包括:一.抽象数据类型二叉树的定义二.存储结构定义(包括顺序存储和二叉链表)及各基本操作的实现三.测试方案。
包括详细的测试函数四.测试结果。
对所有操作的测试过程中二叉树的变化截图。
五.二叉树各基本操作时间复杂度与存储结构特点分析及对算法的改进设想。
六.实验总结和体会实现的基本操作如下:InitBiTree(&T)DestroyBiTree(&T)CreateBiTree(&T)ClearBiTree(&T)BiTreeEmpty(T)BiTreeDepth(T)Root(T)Value(T,e)Assign(T,&e,value)Parent(T,e)LeftChild(T,e)RightChild(T,e)LeftSibling(T,e)RightSibling(T,e)InsertChild(T,p,LR,c)DeleteChild(T,p,LR)PreOrderTraverse(T,Visit())InOrderTraverse(T,Visit())PostOrderTraverse(T,Visit())LevelOrderTraverse(T,Visit())下载清单:Base.h//全局常量、公共变量、公共函数等BiTree.h//二叉链表二叉树实现BiTree_Main.cpp//二叉链表二叉树测试程序SqBiTree.h//顺序存储二叉树实现SqBiTree_Main.cpp//顺序存储二叉树测试程序抽象数据类型实现-二叉树-实验报告.doc
1
 本设计基于DDS原理和FPGA技术按照顺序存储方式,将对正弦波、方波、三角波、锯齿波四种波形的取样数据依次全部存储在ROM波形表里,通过外接设备拨扭开关和键盘控制所需波形信号的输出,最终将波形信息显示在LCD液晶显示屏上。
各硬件模块之间的协调工作通过嵌入式软核处理器NiosⅡ用编程实现控制。
本设计所搭建的LCD12864控制器是通过编程实现的IP核。
1
摘要:文章详细介绍了IDT公司生产的新型先进先出异步CMOSFIFO存储寄存器芯片IDT7203的组成结构、功能原理和运行方式,分析了它的字长和字深的扩展方法。
给出了IDT7203芯片在虚拟示波器硬件系统设计中的应用方法。
  关键词:先进先出存储器单片机数据传输IDT7203在某些高速数据传输和实时显示控制领域中,往往需要对数据实现快速存储和发送。
而要实现这种高速数据的传输,则必须对数据进行快速采集、顺序存储和传送,而传统的存储器(如RAM系列)却无法胜任。
IDT72XX系列是IDT公司新推出的先进先出(FIFO)存贮器芯片。
它具有双口输入输出、采集传送速度快和先进先出的特点,能满足高速数据传
2024/2/27 4:12:29 251KB
1
包括代码和所有的说明书,可以直接给老师的哟假设停在铁路调度站(如教科书中图3.1(b)所示)入口处的车厢序列的编号依次为1,2,3,…,n。
设计一个程序,求出所有可能由此输出的长度为n的车厢序列。
首先在教科书3.1.2节中提供的栈的顺序存储结构SqStack之上实现栈的基本操作,即实现栈类型。
程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本操作进行。
1
ntmain(intargc,char*argv[]){inte;SqStackl1;Linkstl2;Queuel3;LinkQueuel4;coutle;couta;coute;Push(l1,e);}while(le--){Pop(l1,e);coute;push(l2,e);}while(le--){pop(l2,e);coute;Push1(l3,e);}while(le--){Pop1(l3,e);coute;push1(l4,e);}while(le--){pop1(l4,e);cout<<e<<"";}break;}system("PAUSE");return0;}
2024/1/12 17:07:23 826B 入栈、出栈
1
1.一棵二叉树的顺序存储情况如下:树中,度为2的结点数为()。
A.1B.2C.3D.42.一棵“完全二叉树”结点数为25,高度为()。
A.4B.5C.6D.不确定3.下列说法中,()是正确的。
A.二叉树就是度为2的树B.二叉树中不存在度大于2的结点C.二叉树是有序树D.二叉树中每个结点的度均为24.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是()。
A.CABDEFGB.BCDAEFGC.DACEFBGD.ADBCFEG5.线索二叉树中的线索指的是()。
A.左孩子B.遍历C.指针D.标志6.建立线索二叉树的目的是()。
A.方便查找某结点的前驱或后继B.方便二叉树的插入与删除C.方便查找某结点的双亲D.使二叉树的遍历结果唯一7.有abc三个结点的右单枝二叉树的顺序存储结构应该用()示意。
A.abcB.ab^cC.ab^^cD.a^b^^^c8.一颗有2046个结点的完全二叉树的第10层上共有()个结点。
A.511B.512C.1023D.10249.一棵完全二叉树一定是一棵()。
A.平衡二叉树B.二叉排序树C.堆D.哈夫曼树10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子11.一棵二叉树的顺序存储情况如下:123456789101112131415ABCDE0F00GH000X结点D的左孩子结点为()。
A.EB.CC.FD.没有12.一棵“完全二叉树”结点数为25,高度为()。
A.4B.5C.6D.不确定二、填空题(每空3分,共18分)。
1.树的路径长度:是从树根到每个结点的路径长度之和。
对结点数相同的树来说,路径长度最短的是完全二叉树。
2.在有n个叶子结点的哈夫曼树中,总结点数是2n-1。
3.在有n个结点的二叉链表中,值为非空的链域的个数为n-1。
4.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是任一结点无左孩子的二叉树。
5.深度为k的二叉树最多有个结点,最少有k个结点。
三、综合题(共58分)。
1.假定字符集{a,b,c,d,e,f}中的字符在电码中出现的次数如下:字符abcdef频度9122023155构造一棵哈夫曼树(6分),给出每个字符的哈夫曼编码(4分),并计算哈夫曼树的加权路径长度WPL(2分)。
(符合WPL最小的均为哈夫曼树,答案不唯一)哈夫曼编码:2.假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字符构成,它们在电文中出现的频率分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。
要求:(1)为这7个字符设计哈夫曼树(6分)。
(2)据此哈夫曼树设计哈夫曼编码(4分)。
(3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?(4分)(1)为这7个字符设计哈夫曼树为(符合WPL最小的均为哈夫曼树,答案不唯一):(2)哈夫曼编码为:a:01;b:001;c:100;d:0001;e:101;f:11;g:0000(3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?采用等长码,100个字符需要300位二进制数,采用哈夫曼编码发送这100个字符需要261二进制位,压缩了30
1
线性表某软件公司大约有30名员工,每名员工有姓名、工号、职务等属性,每年都有员工离职和入职。
把所有员工按照顺序存储结构建立一个线性表,建立离职和入职函数,当有员工离职或入职时,修改线性表,并且打印最新的员工名单。
约瑟夫(Josephus)环问题:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。
一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,直到所有人全部出列为止。
建立n个人的单循环链表存储结构,运行结束后,输出依次出队的人的序号。
栈和队列某商场有一个100个车位的停车场,当车位未满时,等待的车辆可以进入并计时;
当车位已满时,必须有车辆离开,等待的车辆才能进入;
当车辆离开时计算停留的的时间,并且按照每小时1元收费。
汽车的输入信息格式可以是(进入/离开,车牌号,进入/离开时间),要求可以随时显示停车场内的车辆信息以及收费历史记录。
某银行营业厅共有6个营业窗口,设有排队系统广播叫号,该银行的业务分为公积金、银行卡、理财卡等三种。
公积金业务指定1号窗口,银行卡业务指定2、3、4号窗口,理财卡业务指定5、6号窗口。
但如果5、6号窗口全忙,而2、3、4号窗口有空闲时,理财卡业务也可以在空闲的2、3、4号窗口之一办理。
客户领号、业务完成可以作为输入信息,要求可以随时显示6个营业窗口的状态。
5、4阶斐波那契序列如下:f0=f1=f2=0,f3=1,…,fi=fi-1+fi-2+fi-3+fi-4,利用容量为k=4的循环队列,构造序列的前n+1项(f0,f1,f2,…fn),要求满足fn≤200而fn+1>200。
6、八皇后问题:设8皇后问题的解为(x1,x2,x3,…,x8),约束条件为:在8x8的棋盘上,其中任意两个xi和xj不能位于棋盘的同行、同列及同对角线。
要求用一位数组进行存储,输出所有可能的排列。
7、迷宫求解:用二维矩阵表示迷宫,自动生成或者直接输入迷宫的格局,确定迷宫是否能走通,如果能走通,输出行走路线。
8、英国人格思里于1852年提出四色问题(fourcolourproblem,亦称四色猜想),即在为一平面或一球面的地图着色时,假定每一个国家在地图上是一个连通域,并且有相邻边界线的两个国家必须用不同的颜色,问是否只要四种颜色就可完成着色。
现在给定一张地图,要求对这张地图上的国家用不超过四种的颜色进行染色。
要求建立地图的邻接矩阵存储结构,输入国家的个数和相邻情况,输出每个国家的颜色代码。
9、以下问题要求统一在一个大程序里解决。
从原四则表达式求得后缀式,后缀表达式求值,从原四则表达式求得中缀表达式,从原四则表达式求得前缀表达式,前缀表达式求值。
数组与广义表鞍点问题:若矩阵A中的某一元素A[i,j]是第i行中的最小值,而又是第j列中的最大值,则称A[i,j]是矩阵A中的一个鞍点。
写出一个可以确定鞍点位置的程序。
稀疏矩阵转置:输入稀疏矩阵中每个元素的行号、列号、值,建立稀疏矩阵的三元组存储结构,并将此矩阵转置,显示转置前后的三元组结构。
用头尾链表存储表示法建立广义表,输出广义表,求广义表的表头、广义表的表尾和广义表的深度。
树和二叉树以下问题要求统一在一个大程序里解决。
按先序遍历的扩展序列建立二叉树的存储结构二叉树先序、中序、后序遍历的递归算法二叉树中序遍历的非递归算法二叉树层次遍历的非递归算法求二叉树的深度(后序遍历)建立树的存储结构求树的深度图输入任意的一个网,用普里姆(Prim)算法构造最小生成树。
要求建立图的存储结构(邻接表或邻接矩阵),输入任意的一个图,显示图的深度优先搜索遍历路径。
要求建立图的存储结构(邻接表或邻接矩阵),输入任意的一个图,显示图的广度优先搜索遍历路径。
查找设计一个读入一串整数构成一颗二叉排序树的程序,从二叉排序树中删除一个结点,使该二叉树仍保持二叉排序树的特性。
24、设定哈希函数H(key)=keyMOD11(表长=11),输入一组关键字序列,根据线性探测再散列解决冲突的方法建立哈希表的存储结构,显示哈希表,任意输入关键字,判断是否在哈希表中。
排序以下问题要求统一在一个大程序里解决。
25、折半插入排序26、冒泡排序27、快速排序28、简单选择排序29、归并排序30、堆排序
2023/12/3 17:25:33 13KB 数据结构 课程设计 C++ 排序
1
共 25 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡