![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
L&Li
这个作者很懒,什么都没留下…
展开
-
二叉树遍历(递归与非递归)
二叉树二叉树基本概念二叉树的遍历二叉树递归遍历求叶子结点数目求树的深度拷贝,释放二叉树二叉树非递归遍历二叉树基本概念定义:n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成基本特点:每个结点最多只有两棵子树(不存在度大于2的结点);左子树和右子树次序不能颠倒(有序树)。二叉树性质:性质1: 在二叉树的第i层上至多有2i-1个结点(i>0)性质2: 深度为k的二叉树至多有2k-1个结点(k>0)性质3: 对于任何一棵二叉树,若度为2原创 2020-08-05 15:03:18 · 276 阅读 · 0 评论 -
栈的应用_就近匹配_中缀后缀表达式
栈的应用栈的应用_就近匹配中缀表达式和后缀表达式中缀表达式转后缀表达式根据后缀表达式求解栈的应用_就近匹配检测括号是否匹配的能力算法思路 从第一个字符开始扫描 当遇见普通字符时忽略, 当遇见左符号时压入栈中 当遇见右符号时从栈中弹出栈顶符号,并进行匹配 匹配成功:继续读入下一个字符 匹配失败:立即停止,并报错 结束: 成功: 所有字符扫描完毕,且栈为空 失败:匹配失败或所有字符扫描完毕但栈非空//LinkStack.h#ifndef LINKSTACK_H#d原创 2020-08-05 15:01:47 · 107 阅读 · 0 评论 -
数据结构受限线性表
受限线性表栈的基本概念栈的顺序存储栈的链式存储队列基本概念队列的顺序存储队列的链式存储栈的基本概念概念:首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表而已。定义中说是在线性表的表尾进行插入和删除操作,这里表尾是指栈顶,而不是栈底。特性:它的特殊之处在于限制了这个线性表的插入和删除的位置,它始终只在栈顶进行。这也就使得:栈底是固定的,最先进栈的只能在栈底。先进后出栈的插入操作,叫做进栈,也成压栈。栈的删除操作,叫做出栈,也有的叫做弾栈,退栈栈的顺序原创 2020-08-05 15:01:24 · 447 阅读 · 0 评论 -
数据结构线性表
线性表线性表基本概念线性表的顺序存储线性表的链式存储线性表基本概念线性表是零个或者多个数据元素的有限序列。特性:数据元素之间是有顺序的.数据元素个数是有限的.数据元素的类型必须相同.性质:a0为线性表的第一个元素,只有一个后继。an为线性表的最后一个元素,只有一个前驱。除a0 和an外的其它元素ai,既有前驱,又有后继。线性表能够逐项访问和顺序存取。线性表的顺序存储线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。优点:无需为线性表中的逻辑关系增加额原创 2020-08-05 15:01:03 · 157 阅读 · 0 评论 -
C++几个常用的排序
C++排序冒泡排序排序目的:把无序的数据元素排成有序的数据元素排序的稳定性:如果在序列中有两个数据元素r[i]和r[j],它们的关键字k[i] ==k[j],且在排序之前,对象r[i]排在r[j]前面。如果在排序之后,对象r[i]仍在r[j]前面,则称这个排序方法是稳定的,否则称这个排序方法是不稳定的。即两个相等的数据元素原来在前面的,排序后还是在前面比较和交换是排序的基本操作多关键字排序与单关键字排序无本质区别排序的时间性能 是区分排序算法好坏的主要因素时间性能:关键性能差异体现在比较和原创 2020-07-11 16:58:05 · 260 阅读 · 0 评论