![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
数据结构
Revival_S
这个作者很懒,什么都没留下…
展开
-
数据结构:不带权有向图的邻接矩阵和邻接表储存及求出入度实现
14.假设不带权有向图采用邻接矩阵G存储,设计实现以下功能的算法。(1) 求出图中每个顶点的入度。(2)求出图中每个顶点的出度。(3)求出图中出度为0的顶点数。15. 假设不带权有向图采用邻接表G存储,设计实现以下功能的算法。(1) 求出图中每个顶点的入度。(2)求出图中每个顶点的出度。(3)求出图中出度为0的顶点数。#include #include #de原创 2017-11-28 23:19:34 · 16536 阅读 · 0 评论 -
数据结构:由有序数列创建一棵高度最小的二叉排序树与判断一 个序列是否为该二叉排序树中的一个合法查找序列
编写一个程序,对于给定的一个有序的关键字序列,创建一棵高度最小的二叉排序树。并判断一个序列是否为该二叉排序树中的一个合法的查找序列#include#includetypedef struct node{ int data; struct node *lchild,*rchild;} BSTNode;int *A; //全局变量ABSTNode* CreateBS原创 2018-01-23 13:47:52 · 3314 阅读 · 0 评论 -
数据结构:简单算数表达式二叉树的构建和求值
内容:编写一个程序,先用二叉树来表示一个简单算术表达式,树的每一个结点包括一个运算符或者运算数。在简单算术表达式中只含+,-,*,/ 和一位正整数且格式正确(不包含括号),并且要先按照先乘除后加减的原则构造二叉树,然后由对应的二叉树计算该表达式的值。解:这里用非递归算法,根据对简单算数表达式的观察,如1+2*3-4/5 ,同一棵子树中+、- 号一定在*,/ 号的上层,而且在表达式中如果直原创 2017-11-23 21:56:56 · 19776 阅读 · 13 评论 -
数据结构:编写病人看病模拟程序(C/C 艹)
目的:掌握队列的算法设计。内容:(1)编写一个程序exp2-9.cpp,反映病人到医院排队看医生的情况。在病人排队过程中候诊.(2)护士从等待队列中国取出下一位病人的病历,该病人进入诊室就诊。#include#includetypedef struct pnode //节点结构体{ int medNum; struct pnode* n原创 2017-10-22 17:50:29 · 15681 阅读 · 6 评论 -
数据结构:设有一个不带头结点的单链表L,设计两个递归算法,del(L,x)删除单链表L中第一个值为x的节点,delall(L,x)删除单链表L中的最小节点值。
#include#includetypedef struct Lnode //单链表结构体{ int data; struct Lnode* next;} LinkNode;void DispList(LinkNode*L) //输出函数{ LinkNode*p=L; while(p!=NULL) { printf("%d ",p->data); p=p原创 2018-01-23 13:57:16 · 14746 阅读 · 3 评论 -
设定二维整数数组B[0..m-1,0..n-1]的数据在行,列方向上都按从小到大的顺序排序,且整形变量x中的数据在B中存在。设计一个算法,找出一对满足B[i][j]=x的I,j值,要求比较次数不超过m
#include#includevoid output(int a[5][6]){ for(int i=0;i<5;i++) { for(int j=0;j<6;j++) printf("%d ",a[i][j]); printf("\n"); }}void find(int a[5][6],int X){ int x=5,y=0; //从右上角原创 2018-01-23 13:54:50 · 4022 阅读 · 2 评论 -
数据结构:实现可变长字符串序列快速排序算法
某个待排序的序列式一个可变长的字符串序列,这些字符串一个接一个地存储于单个字符数组中,采用快速排序方法对这个字符串序列进行排序,并编写一个对以下数据进行排序的程序。#include#include#includetypedef struct{ int start; int length;} Node;char S[]={"whileifif-elsedo-whilefo原创 2018-01-23 13:41:27 · 927 阅读 · 0 评论 -
数据结构:有人设计以下算法用于删除整数顺序表L中所有值在[x,y]范围内的元素,该算法显然不是高效的,请设计一个同样功能的高效算法。
(题目的算法略)#include #include #define MaxSize 50typedef int ElemType; typedef struct { ElemType data[MaxSize]; //存放顺序表元素 int length; //存放顺序表的长度} SqList; //顺序表的类型void CreateList(Sq原创 2017-10-22 16:24:02 · 11626 阅读 · 0 评论 -
数据结构: 单链表排序
设有一个带头结点的单链表L,结点的结构为(data, next),其中data为整数元素,next为后继结点的指针。设计一个算法,首先按递减次序输出该单链表中各结点的数据元素,然后释放所有结点占用的存储空间,并要求算法的空间复杂度为O(1)。#include #includetypedef struct LNode{ int data; struct LNode原创 2017-10-22 16:52:40 · 4568 阅读 · 0 评论 -
数据结构:求两个多项式的相加运算
目的:掌握线性表的应用和有序单链表的二路归并算法设计。内容:编写一个程序exp2-9.cpp,用单链表储存一元多项式,并实现两个多项式的相加运算 #include<stdio.h>#include<stdlib.h> typedef struct LNode{ int data; struct LNode* next;} LinkNode;...原创 2017-10-22 16:40:33 · 18945 阅读 · 4 评论 -
数据结构:职工信息的综合运算
目的:深入掌握单链表应用的算法设计。内容:设有一个职工文件emp.dat,每个职工记录包含职工编号(no),姓名(name),部门号(depno),和工资数(salary)信息。这几一个程序完成以下功能(1)从emp.dat文件中读取出职工记录,并建立一个带头结点链表。(这点不作要求,从键盘录入即可)(2)输入一个职工记录。(3)显示所有职工记录。(4)按编号no对所有职工记录原创 2017-10-22 17:37:19 · 19292 阅读 · 6 评论 -
数据结构:求集合差集(c/c++)
用带头结点的单链表表示整数集合,完成以下算法并分析时间复杂度:(1)设计一个算法求两个集合A和B的差集运算,即C=A-B,要求算法的空间复杂度为O(1),并释放单链表A和B中不需要的结点。(2)假设集合中的元素按递增排列,设计一个高效算法求两个集合A和B的差集运算,即C=A-B,要求算法的空间复杂度为O(1),并释放单链表A和B中不需要的结点。#include#includety原创 2017-10-22 17:08:37 · 9691 阅读 · 2 评论 -
数据结构:求集合并集
用带头结点的单链表表示整数集合,完成以下算法并分析时间复杂度:(1)设计一个算法求两个集合A和B的并集运算,要求不破坏原有的单链表A和B.(2)假设集合中的元素递增排列,设计一个高效算法求两个集合A和B的并集运算,要求不破坏原有的单链表A和B。#include#includetypedef struct LNode{ int data; struct LNode*原创 2017-10-22 17:01:14 · 10653 阅读 · 0 评论