数据结构
文章平均质量分 81
牧雷。
这个作者很懒,什么都没留下…
展开
-
数据结构之——二叉树(2)
一:二叉树的建立1:二叉链表的结点结构定义代码// 二叉树的二叉链表结点结构定义typedef struct BitNode{ TElemType data; // 结点数据 struct BitNode *lchild, *rchild // 左右孩子指针} BitNode, *BiTree;2:二叉树的建立的代码部分// 按前序遍历输入二叉树中结点的值(一个字符)// 若输入‘#’,则表示空树,构造二叉链表表示二叉树 Tvoid CreatBiTree(BiTree T){原创 2021-04-24 14:46:06 · 1144 阅读 · 0 评论 -
数据结构之——二叉树(1)
一:二叉树的定义 二叉树是 n(n >= 0) 个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一根节点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树构成。1:二叉树的特点1:每个结点的子树个数小于等于 2 ,所以二叉树中不存在度大于 2 的结点。2:左子树和右子树是有顺序的,次序不能任意颠倒。3:即使树中的某结点只有一棵子树,也要区分它是左子树还是右子树。二叉树的五种基本形态:1:空二叉树。2:只有一个根节点。3:根节点只有左子树。4:根节点既有左子树又原创 2021-04-17 16:29:18 · 1662 阅读 · 0 评论 -
数据结构串之——KMP算法
预说明: 下面给定的主串 S 为abcababca,副串 T 设为 abcabx一:串的模式匹配 即给定两个字符串S和T,一个设定为主串,一个设定为副串,我们要做的是在这个主串S中找到子串T的位置。二:朴素的模式匹配算法 这是最简单的,也是我们最容易想到的,即遍历主串的每一个字符,在哪个字符就在哪个字符停下来,从主串这个位置开始向后的字符串与副串相对比,如果途中遇到了一个不同的字符,则将主串的字符向后遍历一位并继续进行对比操作,如果主串中的某一段字符与副串的字符全依次相等,则子串在主串原创 2021-04-10 10:43:47 · 283 阅读 · 0 评论 -
数据结构之——队列
数据结构之——队列一:队列的定义队列是允许在一端进行插入操作,而在另一端进行删除操作的线性表,简称FIFO。(队列就像我们平时在超市买东西之后在收银台排队付钱一样,正在付钱的那一端即为队头,没付完一个人的钱这个人就会离开删除操作,然后在队伍的最后队尾还在源源不断的来人排队插入操作)队尾:允许插入的一端。队头:允许删除的一端。上面已经举了一个例子,再比如用键盘进行各种字母或数字的输入,到显示器上如记事本软件上的输入,都是队列的典型应用。二:队列的抽象数据类型ADT 队列(Queue)Data原创 2021-04-02 15:43:37 · 670 阅读 · 0 评论 -
数据结构之——栈
数据结构之——栈一:栈的定义:栈是限定是限定仅在表位进行插入和删除操作的线性表,栈又称为先进后出(Last In First Out)的线性表,简称LIFO结构。栈顶:允许插入和删除的一端称为栈顶。栈底:不可以进行插入和删除操作。空栈:不含任何数据元素的栈称为空栈。 理解栈的定义需要注意几点:1:它是一个线性表,即说明栈元素具有 线性关系,即 前驱后继 关系。只不 过它是一种特殊的线性表而已。2:定义中说在线性表的表的表尾进行插入和删除操作,注意这里表尾指的是原创 2021-03-27 15:09:56 · 7152 阅读 · 10 评论