2. 写算法 (1) 已知某二叉树(三叉链表)的根结点地址root,该树中各结点的左、右孩子指针域已正确填充,写一个算法将所有结点的双亲指针域正确填充。 3. 上机题 (1) 编写完整程序,用先序遍历法建立二叉树的二叉链表存储结构,要求结点data域值类型为int。输入的先序遍历整数序列用0表示NULL指针域,其它有效结点的data域值均不等0。定义三个算法函数,分别计算并输出二叉树中结点data域值的最大值、结点data域值之和以及data域值小于0的结点数。 (2) 从键盘输入n个数据建立n元完全二叉树顺序存储结构。实现该完全二叉树的先、中、后序遍历。
2022-01-14 16:02:19 39KB 西南交通大学数据结构作业
2. 写算法 (1) 二叉树的直径定义为从根结点至叶子的最大路径长度。编写算法,求二叉树(二叉链表)的直径。 (2) 已知二叉树(二叉链表)根结点指针bt,利用二叉树叶子结点的rchild指针域将所有叶子结点从左向右连接成一个单向链表。算法返回单向链表头结点指针(即最左边第1个叶子结点的地址)。 3. 上机题 (1) 用先序遍历法建立二叉树二叉链表存储结构(结点数据域类型为char,输入字符序列用字符'#'表示NULL),实现中序线索化,并用非递归算法输出中序遍历结果的正序和逆序序列 1. 简答题 1. 已知某无向图如下图所示。画出该图的多重邻接表存储结构示意图。根据该存储结构,写出从顶点v0出发,深度和宽度优先遍历顶点访问次序。 2. 写算法 1. 写一个算法,判断无向图是否有环。算法提要:深度优先遍历过程中,访问某顶点后,该顶点的邻接点中有已访问的顶点且该已访问邻接点不是该顶点的上一级递归出发顶点(即存在回边),则有环。 3. 上机题 1. 编程题: 建立无向图邻接表存储结构,输出深度和宽度优先遍历顶点访问次序。 2. 编程题:建立AOE网络存储结构,计算并输出ve[]和vl[]。
2022-01-14 16:02:18 135KB 西南交通大学数据结构作业
从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 从键盘实现数据输入与输出的格式自拟;要求完成两个同样功能的程序,一个程序采用顺序存储结构,另一个程序采用链表实现线性表的存储。其中链表实现时,要求利用两个升序链表的结点实现归并,即归并时不能新建结点,归并后原来两个升序链表的存储空间不在存在。
2022-01-14 16:02:17 184KB 西南交通大学数据结构实验作业
2. 算法题 (1) 算法设计题:已知n元顺序表a0, a1, … , an-1按关键字递增有序存储。给定关键字值key,编写算法用对分查找求下标i,满足ai-1
2022-01-11 09:04:54 1.3MB 西南交通大学数据结构作业
输入符号数(序号用英文字母A, B, C, …表示)以及各符号出现概率(要求符号数不小于10,建议用字符文件实现数据输入),建立Huffman二叉树存储结构,以字符串形式输出各符号对应的二进制哈夫曼编码(建议输出到屏幕和字符文件中以便检验正确性)。 从键盘以字符串形式输入字母组成的符号串,利用已经建立的Huffman编码表在屏幕上输出该符号串对应的二进制Huffman编码串然后对Huffman编码串进行译码并在屏幕上输出译码后的字母符号串(对比是否与原始符 5号串相同)。建议用菜单形式提供功能以实现可多次输入字母符号串及其编码译码结果。
2022-01-10 16:02:48 112KB 西南交通大学数据结构实验作业
swjtu】数据结构实验第一次作业,包含要提交的完整内容。 从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 从键盘实现数据输入与输出的格式自拟;要求完成两个同样功能的程序,一个程序采用顺序存储结构,另一个程序采用链表实现线性表的存储。其中链表实现时,要求利用两个升序链表的结点实现归并,即归并时不能新建结点,归并后原来两个升序链表的存储空间不在存在。
2021-12-20 21:02:27 184KB 数据结构
从键盘输入中缀表达式,建立操作数与运算符堆栈,计算并输出表达式的求值结果。 基本要求:实现 +, -, *, /四个二元运算符以及(); 操作数范围为0至9。 提高要求:实现+, -两个一元运算符(即正、负号); 操作数可为任意整型值(程序假定整数及运算范围不超过int型表示范围)。 若两个整数相除,结果只保留整数商(余数丢弃);每位同学可选择实现基本要求或者提高要求;程序可不处理表达式语法错误。
2021-12-20 21:02:27 55KB 数据结构
编程建立循环队列存储结构,对排队买票过程进行模拟。要求程序在控制台屏幕上显示字符菜单: 1. 排队——输入新到达的买票人姓名,加入买票队列中; 2. 售票——排队队列中最前面的人购票成功,显示信息并将其从队列中删除;   3. 查看队列——从队首到队尾依次列出所有正在排队买票人的姓名; 4. 结束——退出系统。 “排队”时,若队满,应提示等待(排队不成功); “售票”时,若队空,应提示无人排队(售票失败)。
2021-12-20 21:02:27 142KB 数据结构
从键盘输入主串s以及子串t1和t2。编写程序,将主串s中所有t1子串替换为t2子串,输出替换后得到的串以及t1被替换的次数。要求子串查找采用改进KMP算法。
2021-12-20 21:02:26 54KB 数据结构
编写程序,从字符文件读入三个正整数m, n, t以及t个三元组(i, j, e)建立稀疏矩阵的十字链表存储结构。其中,m、n分别表示矩阵行数和列数;i, j为非零元素行号和列号。编写算法,实现矩阵转置,输出转置后的三元组到另一字符文件中,检查你的转置结果是否正确。要求转置时不得新建元素结点(但允许新建行头/列头结点数组以及删除行头/列头结点数组,转置前后,总头结点不允许改变)。
2021-12-20 21:02:26 64KB 数据结构