Data Structure
文章平均质量分 52
Allen-Liu
君子终日乾乾,夕惕若,厉无咎。——自勉。
展开
-
二叉树的递归遍历
下面首先介绍下二叉树遍历的定义以及分类,然后介绍递归法实现二叉树遍历。二叉树的遍历指的是按照一定的搜索路径和规则对二叉树中的节点进行访问,使得每个节点被访问且仅被访问一次。(这里的一次访问可以理解成一次操作)对二叉树的遍历操作可以分为:层次遍历,先根(DLR)遍历,中根(LDR)遍历,后根(LRD)遍历。对应的定义及访问规则如下:1.层次遍历操作如果二叉树为空,则为空操作;否则先访原创 2017-06-03 11:56:48 · 1641 阅读 · 0 评论 -
二叉树的存储结构
二叉树的存储结构可以分为顺序存储结构和链式存储结构。二叉树的顺序存储结构:就是将二叉树中各个节点的值按照一定的顺序存放在一组地址连续的存储单元中。由于二叉树本身是非线性结构,所以首先要对二叉树中的节点进行排序,从而确定各个节点的逻辑关系。例如可以从根节点开始自上而下按层进行编号,如图所示:按照节点的排序规则决定了节点在存储单元中的相对位置,而且我们发现这种存储结构非常适合存原创 2017-06-03 10:57:29 · 4370 阅读 · 0 评论 -
二叉树及二叉树的相关性质
二叉树:是由n>=0个节点所构成的有限集合。当n=0时,此二叉树为空树;当n>0时,这个二叉树是由一个根节点和两个互不相交的分别称为左子树和右子树的二叉树构成。二叉树与树的区别:1.树中的每个节点可以有多于两个的子树,而二叉树每个节点至多有两个子树。2.树中的子树是不分顺序的,而二叉树中的子树有严格的左右之分。3.相同节点数所能组成的不同形态的树和二叉树的数目不同。下面介绍两种原创 2017-06-02 22:23:27 · 603 阅读 · 0 评论 -
学习树的概念和相关术语
下面将介绍有关树的概念以及常用的术语。树:树是由n>=0个结点组成的有限集合,当n=0时称为空树;当n>0的时候,结点需要满足:1.有且仅有一个称为“根”的节点,也就是说有且仅有一个节点没有前驱。2.其余节点可以分为m>=0个互不相交的有限集合,每个集合又组成一棵树。(这里使用了递归的定义方法,其实可以描述成其他节点有且仅有一个前驱,可以有多个后驱。)树的常用术语:1.节点:树原创 2017-06-02 21:16:09 · 1004 阅读 · 0 评论 -
表达式/如何将中缀表达式转化成后缀表达式
首先介绍下什么是中缀表达式,后缀表达式。表达式一般分为前缀表达式,中缀表达式和后缀表达式。其中我们最为熟悉的是中缀表达式,也就是书本上最常用的表示形式。中缀表达式是将运算符放在两个操作数的中间。前缀表达式是将运算符放在两个操作数之前。后缀表达式(又称逆波兰表达式)是将运算符放在两个操作数之后。例如:中缀表达式(A+(B-C/D)*E)对应的前缀表达式是(+A*-B/CDE)对应的后缀表达式原创 2017-05-27 21:24:03 · 7537 阅读 · 1 评论 -
栈与队列的异同
栈(Stack)和队列(Queue)是两种操作受限的线性表。(线性表:线性表是一种线性结构,它是一个含有n≥0个结点的有限序列,同一个线性表中的数据元素数据类型相同并且满足“一对一”的逻辑关系。“一对一”的逻辑关系指的是对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。)这种受限表现在原创 2017-05-26 20:46:52 · 77123 阅读 · 2 评论 -
存储结构的定义及其分类
下面首先介绍什么叫数据的存储结构,然后介绍四种存储方式。数据的存储结构:也称为数据的物理结构,是数据的逻辑结构在计算机中的实现。需要指出的是,数据的逻辑结构是从数据元素之间的逻辑关系来分析数据的,与数据的具体存储无关,是独立于计算机之外的。而数据的存储结构是依赖于计算机的,包括数据元素值在计算机中的存储表示和逻辑关系在计算机中的存储表示。数据元素之间逻辑关系在计算机中的存储表示分为以下原创 2017-05-22 19:53:01 · 29064 阅读 · 0 评论 -
逻辑结构定义及其分类
重新学习数据结构的相关知识,总结下什么是逻辑结构以及四类逻辑结构。逻辑结构:数据的逻辑结构是指数据元素之间的逻辑关系,是呈现在用户面前的、能感知到的数据元素的组织形式。这里可以对比存储结构比较记忆,存储结构的相关知识将在下篇博客中进行介绍。(数据元素也就是数据的基本组织单位)按照数据元素之间逻辑关系的特性,可以将数据结构归纳为:集合;线性结构;树形结构;图形结构。集合:集合是由这样一组原创 2017-05-22 19:29:48 · 20929 阅读 · 0 评论 -
链表详解
下面将从链表的定义、分类、特点对链表展开介绍。链表:链表是一种物理存储单元上非连续、非顺序的存储结构。它链表有一个“head”变量,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址(双向链表为三个部分,分别为前驱指针、数据、后驱指针)。因此,head指向第一个元素;第一个元素又指向第二个元素;……,直原创 2017-03-31 21:29:33 · 1002 阅读 · 0 评论