![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言数据结构作业题目的记录
起当风萧
习于冷,志于成冰
展开
-
数据结构——部分题目和代码实现目录
数据结构学习中的例题代码实现例子:目录 1.顺序表删除和逆序 2.约瑟夫环问题 3.一元稀疏多项式 4.单项解决约瑟夫环 5.环形解决约瑟夫环(同第4题) 6.中缀多项式转换后缀并求值 7.递归输出杨辉三角 8.迷宫问题 9.队列输出杨辉三角 10.稀疏矩阵三元组 11.寻找鞍点 12.后序二叉树 13.中序二叉树判断相...原创 2021-04-12 16:27:30 · 2258 阅读 · 0 评论 -
数据结构——c语言 8种排序方法比较
在完善12.11.4参考源程序”的基础上,进行典型内部排序算法的比较。(1)随机产生整数样本,进行8种排序,并比较各种排序算法的执行时间,如执行时间均为0,可考虑增大样本,如加大至5000或10000。(2)设计方案,修改“12.11.4参考源程序”,对8种排序算法的数据元素比较次数和移动次数进行比较。(3)修改12.11.4参考源程序”,输出8种排序算法每一趟排序的输出结果。涉及到的8种排序方法:冒泡排序 ,选择排序, 直接插入排序, 希尔排序, 快速排序, 堆排序, 归并排序, 折半...原创 2021-04-12 12:22:51 · 2616 阅读 · 1 评论 -
数据结构——c语言 二叉排序树
二叉树采用二叉链表结构表示,按输入的关键字序列建立一棵二叉排序树,并删除该二叉排序树上的某个结点。直接上代码://二叉排序数(二叉搜索树,二叉查找树)#include<stdio.h>#include<stdlib.h>#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;#define end 32767 // 定义结束标志//结点结构typede..原创 2021-04-12 12:22:59 · 1025 阅读 · 0 评论 -
数据结构——c语言 哈希表
实现哈希表的构造和查找算法,要求:用除留余数法构造哈希函数,分别用一次探测再散列、二次探测再散列解决冲突。直接上代码:#include<stdio.h>#include<stdlib.h>#include<math.h>#define max 14#define casue 13#define DataType inttypedef struct Hash{ int findnum; DataType key;}Hash;void C..原创 2021-04-12 12:22:17 · 805 阅读 · 0 评论 -
数据结构——c语言 邻接表
设计并验证如下算法:带权图采用邻接表表示,实现无向图的广度优先搜索与有向图的深度优先搜索。直接上代码#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#define MAXVERTICES 100 //数组大小int visited[MAXVERTICES]; //访问标志数组typedef int QElemType; //队列数据类型typedef int ElemType.原创 2021-04-12 12:22:31 · 1296 阅读 · 0 评论 -
数据结构——c语言 邻接矩阵
设计并验证如下算法:图采用邻接矩阵表示,实现无向图的深度优先搜索与有向图的广度优先搜索。直接上代码:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <iostream>#define MAX_VERTICES 100 //假设图有100个顶点#define MAX_WEIGHT 32767 //加权图(网)不邻接时为10000,但输出为“∞..原创 2021-04-12 12:22:39 · 866 阅读 · 0 评论 -
数据结构——c语言 哈夫曼树编码及译码
哈夫曼编/译码器。要求根据给定的权值,构建哈夫曼树,并实现哈夫曼编码和译码。直接上代码:#include<stdio.h>#include<malloc.h>#define maxval 10000.0#define maxsize 100 //哈夫曼编码的最大位数typedef struct{ char ch;//值 float weight;//权重 int lchild,rchild,parent;}hufmtree;typedef ..转载 2021-04-12 12:21:47 · 6402 阅读 · 0 评论 -
数据结构——c语言 中序二叉树判断相等
设计并验证如下算法:按中序序列建立两棵二叉树的二叉链表结构,判断两棵二叉树是否相等。直接上代码:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h> #define OK 1#define ERROR 0 typedef int Status;typedef char TElemType;typedef struct BiTNode {..原创 2021-04-12 12:21:20 · 2089 阅读 · 0 评论 -
数据结构——c语言 广义表获取二叉树
设计并验证如下算法:输入一棵二叉树的广义表形式,建立该二叉树的二叉链表结构,并求其总结点数目。例如,对“12.7.4参考源程序”所示二叉树,按下列形式读入字符:C(E(I,J),F(,G(K,H)))#。直接上代码:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h> #define OK 1#define ERROR 0 type...原创 2021-04-12 12:21:58 · 1261 阅读 · 0 评论 -
数据结构——c语言 后序二叉树
在完善“12.6.4参考源程序”的前提下,设计并验证如下算法:按后序序列建立二叉树的二叉链表结构,求其单分支结点数目,双分支结点数目,并交换该二叉树直接上代码:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h> #define OK 1#define ERROR 0 typedef int Status;typedef char TEl..原创 2021-04-12 12:20:58 · 824 阅读 · 0 评论 -
数据结构——c语言 寻找鞍点
设计并验证以下算法:若矩阵采用三元组顺序表表示,设计并验证找出矩阵所有马鞍点的算法。直接上代码:#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAX 500#define M 100#define N 100 typedef int arr_type;//储存行 列 值 typedef struct { int row;//从1 开始 int ...原创 2021-04-11 16:13:35 · 1395 阅读 · 0 评论 -
数据结构——c语言 稀疏矩阵三元组
稀疏矩阵A、B均采用三元组顺序表表示,验证实现矩阵A快速转置算法,并设计、验证矩阵A、B相加得到矩阵c的算法。(1)从键盘输入矩阵的行数和列数,随机生成稀疏矩阵。(2)设计算法将随机生成的稀疏矩阵转换成三元组顺序表形式存储。(3)设计算法将快速转置得到的与相加得到的三元组顺序表分别转换成矩阵形式。(4)输出随机生成的稀疏矩阵A、B及其三元组顺序表、快速转置得到的与相加得到的三元组顺序表及其矩阵形式。直接上代码:#include <stdio.h>#include <..原创 2021-04-11 16:12:10 · 4361 阅读 · 1 评论 -
数据结构——c语言 队列杨辉三角
设计并验证以下算法:利用队列的基本操作输出图3.1所示的杨辉三角,并分析两种递归算法与采用队列算法的时间复杂度。直接上代码:#include <stdio.h>#define MAXSIZE 50typedef int Queue;typedef struct{ Queue element[MAXSIZE]; int front; int rear;}SeqQueue;void InitQueue(SeqQueue *Q){ ...原创 2021-04-11 16:09:25 · 3259 阅读 · 0 评论 -
数据结构——c语言 迷宫
题目:迷宫问题。假设迷宫由m行n列构成,有一个入口和一个出口,大口坐标为(1,1),出口坐标为(m,n),试设计并验证以下算法:找出一-条从入口通往出口的路径,或报告一个“无法通过”的信息。(1)用C语言实现顺序存储结构上队列的基本操作,然后利用该队列的基本操作找出迷宫的一条最短路径。(2)设计一个二维数组MZEZEl+2)o+]表示迷宫,数组元素为0表示该位置可以通过,数组元素为!表示该位置不可以通行。MAZEUIDMAZEIm]分别为迷宫的入口和出口。(3)输入建宫的大小m行和口列,...原创 2021-04-11 16:07:43 · 1432 阅读 · 0 评论 -
数据结构——c语言 递归输出杨辉三角
设计并验证输出杨辉三角的递归算法。(1)杨辉三角,又称贾宪三角形、帕斯卡三角形,是二项式系数在三角形中的一种几何排列,如图3.1所示。(2)要求从键盘输入行数n(n<=20),屏幕显示相应的杨辉三角。直接上代码:#include <stdio.h>#include <stdlib.h> //递归函数int Yangh(int m,int n){ if(n == 0 || n == m)//递归终止条件 return 1;...原创 2021-04-11 16:06:06 · 7988 阅读 · 3 评论 -
数据结构——c语言 中缀多项式转换后缀并求值
设计并验证以下算法:首先将一个中缀表达式转换成逆波兰式,然后对此逆波兰表达式求值。(1)表达式求值是程序设计语言编译中的一个最基本的问题。通常,表达式由运算符、操作数、界限符组成,算术表达式中最常见的表示法形式有中缀、前缀和后缀表示法。中缀表示法是书写表达式的常见方式,前缀和后缀表示法主要用于计算机科学领域。①中缀表达式:运算符在两操作数的中间。在运算中存在运算符的优先权与结合性的问题。例如运算a/b-(c+d)*f时,编译器即自左向右逐一检查,当检查到第一个运算符“/”时还无法知道是否执行;待检查到.原创 2021-04-11 16:04:50 · 1028 阅读 · 2 评论 -
数据结构——c语言 约瑟夫环问题(单向和环形)
5.分别以单向链表解决约瑟夫环问题(JosephusProblem),比较采用三种不同存储结构解决该问题的算法时间复杂度。具体要求与实验一的实验内容第5题类似。直接上代码:单项解决约瑟夫环#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0 ...原创 2021-04-11 16:02:30 · 781 阅读 · 0 评论 -
数据结构——c语言 一元稀疏多项式
设计并验证以下算法:一元稀疏多项式计算器。(1)设Pn(x)和Qm(x)分别为两个-元稀疏多项式,利用单链表存储Pn(x)和Qm(x)。(2)从键盘输入一元多项式的信息,建立一元稀疏多项式Pn(x)和Qm(x),并输出。(3)实现Pn(x)和Qm(x)相加,并输出两者的和Pn(x)+Qm(x)。(4)实现Pn(x)和Qm(x)相减,并输出两者的差Pn(x)-Qm(x)。(5)就地逆置两者的差Pn(x)-Qm(x)。直接上代码:#include <stdio.h...原创 2021-04-11 15:59:55 · 4572 阅读 · 1 评论 -
数据结构——c语言 约瑟夫环问题
约瑟夫环问题(选做):设计并验证以下算法:用线性表的顺序存储句结构模拟约瑟夫环淘汰过程,按出列顺序输出各人的编号,以及存活的最后一名玩家编号。(1)约瑟夫问题的一种描述是,编号未1、2、………、n的n个人按顺时针方向围坐成一个圈,每人持有一个密码,一开始选一个正整数作为报数上限值m,从第一个人开始以顺时针方向自1开始报数,报到m时停止,报到m的人出列,将他的密码作为新的m的值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直到所有人出列。(2)利用线性表的顺序存储结构模拟此过程,按出列...原创 2021-04-11 15:58:03 · 3415 阅读 · 1 评论 -
数据结构——C语言 顺序表删除和逆序
设计并验证以下算法:设顺序表中L中的数据元素为整数且非递增有序,删除其值相同的多余元素,即顺序表L中相同的元素只保留一个,并逆置删除后的顺序表L。(1)根据键盘输入的数据建立顺序表L。(2)输出顺序表L、删除值相同多余元素后的顺序表L、逆置的顺序表L。(3)假设顺序表L的长度为n,要求以O(n)的时间复杂度完成对值相同多余元素的删除。直接上代码:#include <stdio.h>#include <stdlib.h>#include <wi...原创 2021-04-11 15:53:01 · 1728 阅读 · 0 评论