数据结构
横济沧海
这个作者很懒,什么都没留下…
展开
-
数据结构之顺序队列(循环队列)
由于队列有元素出列,front就向后移动,所以队列前面的空间就空了出来。为了更合理的利用空间,人们想了一个办法:将队列的首尾相连接。这样当rear移动到LENGTH时,会再从0开始循环。那当什么时候队列满呢?当rear等于front的时候。可是队列为空的时候也是同样的条件,那不就没法判断了吗?又有人提出了这样的想法:牺牲一个存储空间,front前面不存数据,当rear在front前面的时候就是满了原创 2017-10-09 20:13:51 · 807 阅读 · 0 评论 -
数据结构之定长字符串的输入,比较,字符匹配
本文章写的是数据结构之定长字符串的实现定长字符串数据结构定义为#define maxsize 256typedef char SString[maxsize+1];s[0]保存串的长度#include#include#include#include#include#includeusing namespace std;#define OK 1#d原创 2017-10-27 23:58:21 · 2213 阅读 · 0 评论 -
静态链表
/*静态链表要点:mylist[]中第一个和最后一个不使用(即是不用来储存数据),mylist[0]储存备用链表第一个元素mylist[maxsize-1]储存备用链表第一个储存数据得结点,即是首结点然后静态表表最后一个结点的cur等于0*/#include#include#include#include#include#include#define OK 1#def原创 2017-10-15 16:36:43 · 174 阅读 · 0 评论 -
数据结构 顺序查找和二分查找
/*Sequential Search*/#include#include#include#include#include#include#includeusing namespace std;int Sequential_Search(int a[],int n,int key)//普通顺序查找{ int i; for(i=0; i<n; i++)原创 2017-11-11 20:36:00 · 1222 阅读 · 0 评论 -
图论 邻接表广搜
上一篇是邻接表dfs:点击打开链接所以bfs(&G,0)结果为0 2 1 3 4bfs(&G,1)结果为1 2 3 4bfs(&G,2)结果为2 3 4bfs(&G,3)结果为 3 4 bfs(&G,4)结果为4#include#include#include#include#includeusing namespace std;原创 2017-07-29 00:12:37 · 284 阅读 · 0 评论 -
数据结构 邻接矩阵+邻接表+bfs+dfs+prim+Kruskal综合
#include#include#include#include#include#include#define infinity 65535#define maxsize 50;using namespace std;typedef int VertexType;typedef int EdgeType;typedef struct{ EdgeType date;原创 2017-12-08 23:49:11 · 554 阅读 · 0 评论 -
图论 回顾最短路写法(Dijktra和Floyd)
下面是Dijkstra算法求最短路/*严格参照《数据结构(严蔚敏版)》2017.12.6by kk*/#include#include#include#include#include#define infinity 0x3f3f3f3f#define maxsize 100using namespace std;typedef int VertexType;typ原创 2017-12-08 23:59:01 · 195 阅读 · 0 评论 -
图论 迪杰斯特拉dijkstra求最短路径
这个测试用的是下面这个图:9 160 1 2 3 4 5 6 7 80 1 10 2 51 2 31 4 51 3 72 4 12 5 73 4 23 6 34 6 94 5 34 7 95 7 56 7 26 8 77 8 4运行结果如下:#include#inc原创 2017-07-30 20:36:22 · 665 阅读 · 0 评论 -
数据结构之链式栈
#include#include#include#include#include#includeusing namespace std;#define OK 1#define ERROR 0typedef int status;typedef int Elemtype;typedef struct stackNode{ Elemtype d原创 2017-09-27 15:10:46 · 193 阅读 · 0 评论 -
数据结构之顺序栈
#include#include#include#include#include#includeusing namespace std;#define OK 1#define ERROR 0#define stack_init_size 100#define stackIncrement 10typedef int status;typedef char Elemtype;原创 2017-09-25 19:39:08 · 259 阅读 · 0 评论 -
数据结构之链式线性表
带头结点的#include#include#include#include#include#includeusing namespace std;#define OK 1#define ERROR 0typedef int status;typedef struct LNODE{ int data; struct LNODE *ne原创 2017-09-19 21:46:33 · 386 阅读 · 0 评论 -
平衡二叉树
平衡二叉树这里停留了很久,费了很大功夫才弄懂。做个笔记比较好。参考以下两位大佬的博客写的:1: http://www.cnblogs.com/fornever/archive/2011/11/15/2249492.html2: http://blog.csdn.net/followmyinclinations/article/details/50426413新节点插入...原创 2017-08-25 16:51:55 · 198 阅读 · 0 评论 -
Floyd最短路
用邻接矩阵实现floyd找最短路算法测试所用图如下:#include#include#include#include#include#include#include#define inf 65535using namespace std;struct Graph//用邻接矩阵来保存图{int arc[100][100];int vertex[100];in原创 2017-08-14 14:52:38 · 186 阅读 · 0 评论 -
图论 邻接表建图+dfs
上一篇用的是邻接矩阵建图:点击打开链接所以dfs(&G,0)结果为0 2 3 4 1dfs(&G,1)结果为1 2 3 4dfs(&G,2)结果为2 3 4dfs(&G,3)结果为 3 4 dfs(&G,4)结果为4#include#include#include#includeusing namespace std;原创 2017-07-28 21:49:22 · 398 阅读 · 0 评论 -
图论 用广搜搜邻接矩阵
用广搜搜邻接矩阵只是从某一点开始搜,如果是遍历全图的话就每个顶点挨个搜一遍#include#include#include#include#include#include#define inf 65535using namespace std;typedef struct mygraph{ int ver[1000]; int arc[100][100];原创 2017-07-28 23:55:04 · 201 阅读 · 0 评论 -
邻接表拓扑排序
#include#include#include#include#include#include#include#define OK 1#define ERROR 0using namespace std;typedef struct NODE{int adjvex;int weight;NODE *next;}node;typedef struct {int i原创 2017-08-14 11:41:35 · 1466 阅读 · 0 评论 -
数据结构 斐波那契查找
#include#include#include#include#includeusing namespace std;int f[1005];void init(){ int i,j; f[0]=0; f[1]=1; for(i=2; i<1000; i++) f[i]=f[i-1]+f[i-2]; //以上进行斐波那契数原创 2017-08-20 14:02:55 · 334 阅读 · 0 评论 -
图论 关键路径
#include#include#include#include#include#includeusing namespace std;typedef struct NODE{int adjvex;int weight ;NODE *next;}Node;typedef struct {int im;int data;NODE *first;}nodeList;原创 2017-08-17 11:13:55 · 937 阅读 · 0 评论 -
图论 用prim法求最小生成树
我用的是邻接矩阵保存的图测试数据二所用的图如下:具体说明都在下面这段代码里(如果不嫌弃可以仔细阅读)#include#include#include#include#define inf 65535#includetypedef struct Graph{ int vertex[100]; int arc[100][100];原创 2017-07-29 16:46:24 · 326 阅读 · 0 评论 -
二叉树的查找
实际上跟我上一篇博文重了,这篇多加了查找上一篇文章#include#include#includeusing namespace std;typedef struct node{ struct node *leftchild; struct node *rightchild; char data;} bitreenode,*bitre原创 2017-07-25 16:52:54 · 252 阅读 · 0 评论 -
递归建立二叉树
第一次建立二叉树,终于实现了,之前一直看书,非常枯燥,看得想睡觉。现在有兴趣把刚刚落下的东西补起来了。#include#include#includeusing namespace std;typedef struct node{ struct node *leftchild; struct node *rightchild; char data;原创 2017-07-25 15:52:20 · 1376 阅读 · 0 评论 -
数据结构之顺序线性表
九层之台起于垒土,千里之行始于足下!数据结构 顺序线性表这个要注意的地方就是线性表中元素编号是从1开始的,但实际储存时却是用相当于数组的方式储存的,元素从0开始储存故可以边画图边理解,下图标上“(reason)”的地方均是这个原因#include#include#include#include#include#includeusing namesp原创 2017-09-14 11:44:48 · 223 阅读 · 0 评论