数据结构
-Heisenberg-
这个作者很懒,什么都没留下…
展开
-
(数据结构)迷宫问题
(数据结构)迷宫问题迷宫有一个入口,一个出口。一个人从入口走进迷宫,目标是找到出口。阴影部分和迷宫的外框为墙,每一步走一格,每格有四个可走的方向,探索顺序为地图方向:南(下)、东(右)、北(上)、西(左)。输入:输入迷宫数组。第一行数据表示一个 n*n (n<=100)的迷宫;第二行开始的n行为迷宫数据。其中:0表示路,1表示墙,起点在左上角 <1,1> 的位置,终点在右下角 <n,n> 的位置。输出:若有解,输出从入口到出口的一条路径,否则输出 there is n原创 2020-07-23 13:26:24 · 3208 阅读 · 0 评论 -
(数据结构)图的广度优先遍历
(数据结构)图的广度优先遍历本实验实现邻接表表示下无向图的广度优先遍历。程序的输入是图的顶点序列和边序列(顶点序列以*为结束标志,边序列以-1,-1为结束标志)。程序的输出为图的邻接表和广度优先遍历序列。例如:程序输入为:abcdef*0,10,41,41,52,32,53,5-1,-1程序的输出为:the ALGraph isa 4 1b 5 4 0c 5 3d 5 2e 1 0f 3 2 1the Breadth-First-Seacrh list:原创 2020-07-23 13:19:40 · 619 阅读 · 0 评论 -
(数据结构)快速排序
(数据结构)快速排序要求根据给定输入,按照课堂给定的快速排序算法进行排序,输出排序结果和median3的返回值。注:1,cutoff值为5,不足cutoff使用插入排序。 2,输入、输出格式参见测试用例0。测试用例1:测试输入:41↵17↵34↵0↵19↵#↵期待的输出:After Sorting:↵0 17 19 34 41 ↵Median3 Value:↵none↵测试用例2:测试输入:61↵59↵82↵-10↵31↵-2↵-3↵10↵2↵原创 2020-07-23 13:16:14 · 783 阅读 · 0 评论 -
(数据结构)堆排序
(数据结构)堆排序实验要求:用堆排序算法按关键字递减的顺序排序。程序输入:待排序记录数(整数)和待排序记录(整数序列);程序输出:建堆结果和建堆后第一、第二次筛选结果。(注:待排序记录数大于等于3)测试用例1:测试输入:6↵11↵12↵16↵14↵15↵10↵期待的输出:16 15 11 14 12 10 ↵15 14 11 10 12 ↵14 12 11 10 ↵测试用例2:测试输入:9↵9↵8↵7↵6↵5↵4↵3↵2↵1↵期待的输出:9 8原创 2020-07-23 13:12:30 · 488 阅读 · 0 评论 -
(数据结构)计算WPL
(数据结构)计算WPLHuffman编码是通信系统中常用的一种不等长编码,它的特点是:能够使编码之后的电文长度最短。更多关于Huffman编码的内容参考教材第十章。输入:第一行为要编码的符号数量n第二行~第n+1行为每个符号出现的频率输出:对应哈夫曼树的带权路径长度WPL测试用例1:测试输入:5↵7↵5↵2↵4↵9↵期待的输出:WPL=60↵测试用例2:测试输入:5↵2↵4↵2↵3↵3↵期待的输出:WPL=32↵代码如下:#include<原创 2020-07-23 13:07:46 · 2297 阅读 · 1 评论 -
(数据结构)前缀码判定
(数据结构)前缀码判定前缀码:任何一个字符的编码都不是同一字符集中另一个字符的编码的前缀。请编写一个程序,判断输入的n个由1和0组成的编码是否为前缀码。如果这n个编码是前缀码,则输出"YES”;否则输出第一个与前面编码发生矛盾的编码。输入:第1行为n(表示下面有n行编码)第2~n+1行为n个由0或1组成的编码输出:判断结果例如,如果输入:5000110110111每一个字符均不是其他字符编码的前缀,所以,输出:YES再如,如果输入:500011011011编码11原创 2020-07-23 13:03:58 · 2889 阅读 · 0 评论 -
(数据结构)排序二叉树
(数据结构)排序二叉树建立并中序遍历一个排序二叉树排序二叉树是指左子树的所有节点的值均小于它根节点的值,右子树的所有节点的值均大于它根节点的值,如下图是一棵排序二叉树输入:输入有一行,表示若干个要排序的数,输入0时停止输出:二叉树的凹入表示和二叉树的中序遍历序列测试用例1:测试输入:42 168 35 101 270 125 79 259 263 165 6 246 182 62 192 296 243 28 37 0 ↵期待的输出:测试用例2:测试输入:147 106 29原创 2020-07-23 12:57:20 · 583 阅读 · 0 评论 -
(数据结构)二叉树遍历序列还原
(数据结构)二叉树遍历序列还原给出二叉树的中序遍历序列和后序遍历序列,编程还原该二叉树。输入:第1行为二叉树的中序遍历序列 第2行为二叉树的后序遍历序列输出:二叉树的按层遍历序列测试用例1:测试输入:badcfeg↵bdfgeca↵期待的输出:abcdefg↵测试用例2:测试输入:cbdafeg↵cbdfgea↵期待的输出:adebfgc↵测试用例3:测试输入:edcba↵edcba↵期待的输出:abcde↵测试用例4:测试输入:bdfgeca↵2.原创 2020-07-23 12:37:23 · 519 阅读 · 0 评论 -
(数据结构)二叉树的建立与基本操作
(数据结构)二叉树的建立与基本操作编写程序实现二叉树的如下操作:建立二叉链表二叉树的先序、中序、后序遍历求二叉树的叶子结点个数将二叉树中所有结点的左、右子树相互交换输入:按完全二叉树的层次关系给出二叉树的遍历序列(#表示虚结点,数据结点为单一字符)。输出:二叉树的凹入表示 二叉树的先序序列、中序序列、后序序列 二叉树叶子结点个数 左、右子树相互交换后的二叉树的凹入表示 左、右子树相互交换后的二叉树的先序序列、中序序列、后序序列。说明: 在输出凹入表示的二叉树时,先原创 2020-07-23 12:24:40 · 1222 阅读 · 0 评论 -
(数据结构)树的建立与基本操作
(数据结构)树的建立与基本操作:程序的输入是一个表示树结构的广义表。假设树的根为 root ,其子树森林 F = ( T1 , T2 , … , Tn ),设与该树对应的广义表为 L ,则 L =(原子,子表 1 ,子表 2 , … ,子表 n ),其中原子对应 root ,子表 i ( 1<i<=n )对应 Ti 。例如:广义表 (a,(b,©,(d)),(f,(g),(h ),(...原创 2020-05-08 15:56:10 · 1370 阅读 · 0 评论 -
(数据结构)从中缀向后缀转换表达式
(数据结构)从中缀向后缀转换表达式:问题描述中缀表达式就是我们通常所书写的数学表达式,后缀表达式也称为逆波兰表达式,在编译程序对我们书写的程序中的表达式进行语法检查时,往往就可以通过逆波兰表达式进行。我们所要设计并实现的程序就是将中缀表示的算术表达式转换成后缀表示,例如,将中缀表达式(A 一 (BC 十 D)E) / (F 十 G )转换为后缀表示为:ABCD十E–FG十/注意:为了简...原创 2020-05-08 15:51:29 · 334 阅读 · 0 评论 -
(数据结构)表达式求值(1)
(数据结构)表达式求值(1)背景:我们的教材中已经介绍了表达式求值的算法,现在我们将该算法的功能进行扩展,要求可以处理的运算符包括:+、-、*、/、%(整数取余)、^(乘方)、(、)。要求:采用算符优先算法,计算的中间结果只保留整数。输入:第一行为整数N。表示下面有N个表达式从第二行起的后面N行为N个由整数构成的表达式输出:共N行,每行为相应表达式的计算结果。如果判断出表达式有...原创 2020-05-08 15:45:53 · 2655 阅读 · 0 评论 -
(数据结构)一元多项式相乘
(数据结构)一元多项式相乘:题目说明:要求采用链表形式,求两个一元多项式的乘积:h3 = h1*h2。函数原型为:void multiplication( NODE * h1, NODE * h2, NODE * h3 )。输入:输入数据为两行,分别表示两个一元多项式。每个一元多项式以指数递增的顺序输入多项式各项的系数(整数)、指数(整数)。 例如:1+2x+x²表示为:<1,0...原创 2020-05-08 15:31:42 · 1621 阅读 · 0 评论 -
(数据结构)一元多项式相加
(数据结构)一元多项式相加:题目说明:编写一元多项式加法运算程序。要求用线性链表存储一元多项式(参照课本)。该程序有以下几个功能:多项式求和输入:输入三个多项式,建立三个多项式链表Pa、Pb、Pc(提示:调用CreatePolyn(polynomial &P,int m)。输出:显示三个输入多项式Pa、Pb、Pc、和多项式Pa+Pb、多项式Pa+Pb+Pc(提示:调用Ad...原创 2020-05-08 15:21:36 · 2565 阅读 · 0 评论 -
(数据结构) 综教楼后的那个坑
(数据结构) 综教楼后的那个坑:描述:在 LIT 综教楼后有一个深坑,关于这个坑的来历,有很多种不同的说法。其中一种说法是,在很多年以前,这个坑就已经在那里了。这种说法也被大多数人认可,这是因为该坑有一种特别的结构,想要人工建造是有相当困难的。 从横截面图来看,坑底成阶梯状,由从左至右的 1…N 个的平面构成(其中 1 ≤ N ≤ 100,000),如图: 每个平面 i 可以用两...原创 2020-05-08 15:09:59 · 800 阅读 · 0 评论 -
(数据结构)双向约瑟夫问题
(数据结构)双向约瑟夫问题:约瑟夫问题是一个经典的问题,我们不妨将这个经典问题进行扩展,变成一个双向的约瑟夫问题。 已知 n 个人(不妨分别以编号 1,2,3,…,n 代表 )围坐在一张圆桌周围,首先从编号为 k 的人从 1 开始顺时针报数,1, 2, 3, …,记下顺时针数到 m 的那个人,同时从编号为 k 的人开始逆时针报数,1, 2, 3, …,数到 m 后,两个人同时出列。然后从出列...原创 2020-05-08 14:56:53 · 789 阅读 · 0 评论 -
(数据结构)求循环小数
(数据结构)求循环小数:对于任意的真分数 N/M ( 0 < N < M ),均可以求出对应的小数。如果采用链表表示各个小数,对于循环节采用循环链表表示,则所有分数均可以表示为如下链表形式。输入: N M输出: 转换后的小数(不超过 50 )要求: 仅编写将分数转换为小数的函数 change( int n, int m, NODE * head ) 。预设代码前置代码/...原创 2020-05-08 14:43:57 · 1454 阅读 · 1 评论 -
(数据结构)验证表
(数据结构)验证表:应用中有时需要验证来自不同地方的两个表的信息是否一致。本实验编写具有如下功能的程序:输入两个学生记录表LIST1,LIST2,在表LIST2中找出所有没有在表LIST1中出现的学生记录(设表LIST1为基础数据表,非空)。每一个学生记录元素包含两个数据项:学号(整数),姓名;如果学生记录表LIST2中的记录都包含在LIST1中,则输出the records of LIST...原创 2020-05-08 14:35:30 · 647 阅读 · 0 评论