
数据结构
文章平均质量分 50
大百求知路
这个作者很懒,什么都没留下…
展开
-
数据结构之树的存储结构
大家可能都知道,存储结构有顺序存储结构和链式存储结构。很明显这两个结构不管哪一个,都不能很好的表达数这种数据结构,所以我们特此在这说一下数的存储结构用这个树作为例子:**树的存储结构分为以下几类一:双亲表示法言外之意就是以双亲作为索引的关键词的一种存储方式,我们假设以一组连续空间存储树的结点,同时在每个结点中,附加一个指示其双亲结点在数组中位置的元素代码如下:这个图想知道这个结点的孩子,要这么个结构,这个图给出答案下面这个图是表示他兄弟之间的表示方法二:孩子表示法根据树的度,声明原创 2022-04-28 22:00:53 · 1843 阅读 · 2 评论 -
KMP算法
一:首先大家初次看见kmp算法演示图会有点懵,觉得在讲什么啊,根本听不懂的好吧,但是,当你静下心来好好想想,就觉得通了1.1:KMP算法的next数组和K数组(其实他们两个数组意义是一样的),它们出现的条件是匹配字符串的前缀和后缀是否有相同的字母,如没有,那当匹配串和被匹配串出现不匹配的时候,就把匹配串往后移一位就行,如图所示:1.2:如果匹配相同,看前后缀有几个相同的字母,移的个数是相同字母个数加一,如图所示:还有人就会问了,怎么判读它的前后缀个数啊,在这里我给大家讲一下:就是当匹配字符串与被匹配字原创 2022-04-27 22:33:30 · 90 阅读 · 0 评论 -
队列数据结构详解
1.队列既可以用链表实现,也可以用顺序表实现。跟栈相反的是,栈一般用顺序表来实现,而队列我们常用链表来实现,称为链队列,它是后入前出(头结点进,尾结点出),头结点不存元素实现代码:typedef struct QNode//定义队列的链表结点{ElemType data;struct QNode *next; }QNode,*QueuePrt;typedef struct{QueuePrt front,rear;//队头,尾指针}LinkQueue;代码思路:队列数据结构的定义和原创 2022-03-30 20:33:09 · 2424 阅读 · 1 评论 -
栈的顺序存储结构以及栈的创建和入栈出栈
这里定义一个顺序存储的栈typedef struct{ElemType *base;ElemType *top;int stackSize;}sqStack;它包含三个元素:base,top,stackSize。其中base是指向栈底的指针变量,top是指向栈顶的指针变量,stackSize指示栈的当前可使用的最大容量。创建一个栈#define STACK_INIT_SIZE 100initStack(sqStack *s){s->base = (ElemType *)mall原创 2022-03-25 22:12:27 · 647 阅读 · 0 评论