BUAA数据结构2021春
文章平均质量分 80
如题
bouIevard
Coding and Loving
展开
-
BUAA 2021春数据结构 期中复习 2线性表
对于线性表的基本操作:1.创建2.求长度3.检索第i个元素4.查找位置5.存入元素6.插入元素7.删除元素8.排序9.销毁10.复制11.合并12.分解一.顺序表连续的内存单元,需要提前分配地址,不适合动态数据处理。顺序表(数组的查找算法):1.顺序查找时间复杂度O(n)int searchElem(ElemType list[],int n,ElemType item){ for(i=0;i<n;i++){原创 2021-04-26 21:33:51 · 1801 阅读 · 0 评论 -
BUAA 2021春数据结构 期中复习 1绪论
期中内容:绪论——线性表第一篇:绪论:复杂数据程序设计本章的内容有:1.递归:运用了栈应用:树的遍历,二分查找,快速排序,全排列等 汉诺塔(hanoi tower):有N个盘子在柱子1上,每次移动一个盘子,并且保证小的盘子在大的盘子上方,最终使得N个盘子都到了柱子3上面。 程序及注释如下:void hanoi(int n,int x,int y,int z){ //表示把n个盘子从x经过y移动到z if(n>0){ hanoi(n-1...原创 2021-04-22 22:01:00 · 1390 阅读 · 0 评论 -
2019数据结构期末考试·3·文件查找
题面如图:本题有四个步骤:建树、找出文件,排序,输出文件路径。1·建树树的类型如下:由于空间不限,所以直接把所有子节点的指针保存在父节点中。同时,由于后面需要用到层级排序,所以同时也要存储层级。typedef struct node_type{ char name[220]; char parent_name[220]; int type; char date[20]; int level; struct node_type *c原创 2021-06-26 20:11:49 · 322 阅读 · 0 评论 -
数据结构期末模拟·2·火车排号问题
题面问题描述某火车货场由A、B、C三段组成,见下图。现有一列货车停在A段上,由多个货物车厢组成,每节车厢信息包括编号和货物发往的目的地(车厢编号是唯一的,各节车厢发往的目的地可以相同,也可以不同)。当前停在A段的货车车厢发往目的地编组是乱的,需要按目的地由远至近进行重新编组,即车厢离车头越近其目的地越远,这样方便到达目的地时卸货(卸下相关车厢)。编组过程中车厢只能依次从A中移动至B或C中,或从B或C中移至A中,从B中不能直接移至C中,从C中也不能直接移至B中。编写一程序模拟货运车厢编组。假设A、B原创 2021-06-18 11:04:44 · 522 阅读 · 2 评论 -
数据结构期末复习·查找
一.顺序查找原理就是一个一个找= = 代码如下int order_search(char *p){ int i = 0; while(i<3367 && strcmp(p,word[i])>0){ i++; cnt++; } cnt++; //printf("%d\n",cnt); if(strcmp(p,word[i])==0) return 1; else return 0;}...原创 2021-06-12 20:26:29 · 334 阅读 · 1 评论 -
数据结构期末复习·第五次作业·第四题·打印机网络选择&&最短路径
(这个题貌似比第三题难,但是第三题属实折磨我更久)题面如下【问题描述】某单位信息网络结构呈树型结构,网络中节点可为交换机、计算机和打印机三种设备,计算机和打印机只能位于树的叶节点上。如要从一台计算机上打印文档,请为它选择最近(即经过交换机最少)的打印机。在该网络结构中,根交换机编号为0,其它设备编号可为任意有效正整数,每个交换机有8个端口(编号0-7)。当存在多个满足条件的打印机时,选择按树前序遍历序排在前面的打印机。【输入形式】首先从标准输入中输入两个整数,第一个整数表示当前网原创 2021-06-09 23:07:24 · 396 阅读 · 4 评论 -
数据结构第七次作业·第四题·北京地铁线路查询&Dijkstra算法
一.Dikjstra算法:(部分内容出自博客Dijkstra算法(迪杰斯特拉算法)_持之以恒2016-CSDN博客)原创 2021-06-11 11:01:56 · 8994 阅读 · 8 评论 -
数据结构期末复习·括号匹配
最近好像开始炒冷饭了0.0(因为自己太菜了洛谷写不明白一·题面【问题描述】编写一程序检查C源程序文件中{}、()等括号是否匹配,并输出第一个检测到的不匹配的括号及所对应括号所在的行号(程序中只有一个括号不匹配)。注意:1.除了括号可能不匹配外,输入的C源程序无其它语法错误。2.字符常量、字符串常量及注释中括号不应被处理,注释包括单行注释//和多行/* */注释3.字符常量和字符串常量中不包含转义字符\'和\";4.程序中出现有意义括号的个数不超过200个;不匹配判断规则:原创 2021-06-25 21:44:14 · 486 阅读 · 0 评论 -
数据结构期末复习·图的选择填空(没有代码)
接下来quan'shi一·最小生成树(Minispan Tree)的两种算法1.Prim算法prim算法优先考虑顶点:先指定一个原创 2021-06-15 21:20:08 · 194 阅读 · 0 评论 -
数据结构·第五次作业·树·第二题·词频统计&Trie字典树
第二题:词频统计 树实现【问题描述】编写程序统计一个英文文本文件中每个单词的出现次数(词频统计),并将统计结果按单词字典序输出到屏幕上。要求:程序应用二叉排序树(BST)来存储和统计读入的单词。注:在此单词为仅由字母组成的字符序列。包含大写字母的单词应将大写字母转换为小写字母后统计。在生成二叉排序树不做平衡处理。【输入形式】打开当前目录下文件article.txt,从中读取英文单词进行词频统计。【输出形式】程序应首先输出二叉排序树中根节点、根节点的右节点及根节点的右节点.原创 2021-06-08 10:47:54 · 1647 阅读 · 2 评论 -
数据结构期末复习·排序
零. 衡量一个排序算法的方法1.时间性能:排序过程中元素与元素的比较次数,一. 选择排序(Select Sort)原创 2021-06-14 10:05:40 · 246 阅读 · 1 评论 -
数据结构 树&二叉树
本博客写于2021年四月三十日 海棠咖啡馆常见的树结构:计算机储存树的特征:对于每个节点,只能由一个前驱(child node),可以有多个后继(parent node),且后继结点没有交集。没有前驱的成为根结点,没有后继的成为叶子节点。树的递归定义:任何一颗非空的树中,有一个特殊的结点t∈D,称为根节点。其余节点可分为m个不相交的子集,成为子树。基本名词术语: 1.结点的度:子树数目 2.树的度:max{结点的度} 3.分支节点:度非0的结点(非叶子节点)...原创 2021-04-30 17:13:32 · 651 阅读 · 0 评论 -
数据结构期末复习·第五次上机·第三题·表达式树
【问题描述】从标准输入中读入一个整数算术运算表达式,如24 / ( 1 + 2 + 36 / 6 / 2 - 2) * ( 12 / 2 / 2 )=,计算表达式结果,并输出。要求:1、表达式运算符只有+、-、*、/,表达式末尾的=字符表示表达式输入结束,表达式中可能会出现空格;2、表达式中会出现圆括号,括号可能嵌套,不会出现错误的表达式;3、出现除号/时,以整数相除进行运算,结果仍为整数,例如:5/3结果应为1。4、要求采用表达式树来实现表达式计算。表达式树(expression .原创 2021-06-09 22:25:34 · 1795 阅读 · 0 评论 -
2018数据结构期末考试·2·后缀表达式计算并且转化为中缀表达式
【问题描述】从控制台输入一合法的后缀表达式,其中的运算符只包括+、-、*、/,运算数都是 大于等于 0 的整数(除数不为零),按要求输出计算结果,或输出计算结果和相对 应的中缀表达式。输出中缀表达式时只包含最少数目的圆括号(即在生成的中缀表 达式中若去掉一对括号,则其将不能够转换回输入的后缀表达式)。输出计算结果时,小数点后保留两位,例如:10/3 的结果为 3.33。假如输入的后缀表达式为: 100 25 + 27 25 - / 248 + 201 - 其相对应的...原创 2021-06-26 23:25:13 · 702 阅读 · 0 评论 -
数据结构期末复习·网络打印机选择
【问题描述】某单位信息网络结构呈树型结构,网络中节点可为交换机、计算机和打印机三种设备,计算机和打印机只能位于树的叶节点上。如要从一台计算机上打印文档,请为它选择最近(即经过交换机最少)的打印机。在该网络结构中,根交换机编号为0,其它设备编号可为任意有效正整数,每个交换机有8个端口(编号0-7)。当存在多个满足条件的打印机时,选择按树前序遍历序排在前面的打印机。【输入形式】首先从标准输入中输入两个整数,第一个整数表示当前网络中设备数目,第二个整数表示需要打印文档的计算机编号。两整数间以.原创 2021-06-26 15:01:11 · 689 阅读 · 0 评论 -
数据结构期末复习·表达式树(重写)
表达式树(expression tree):我们已经知道了在计算机中用后缀表达式和栈来计算中缀表达式的值。在计算机中还有一种方式是利用表达式树来计算表达式的值。表达式树是这样一种树,其根节点为操作符,非根节点为操作数,对其进行后序遍历将计算表达式的值。由后缀表达式生成表达式树的方法如下:l读入一个符号:l如果是操作数,则建立一个单节点树并将指向他的指针推入栈中;l如果是运算符,就从栈中弹出指向两棵树T1和T2的指针(T1先弹出)并形成一棵新树,树根为该运算符,它的左、右子树分别指...原创 2021-06-25 17:46:09 · 387 阅读 · 0 评论