![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
kodoshinichi
这个作者很懒,什么都没留下…
展开
-
【Leetcode】二叉树的遍历
从三个角度来讨论并实现二叉树的前序、中序以及后序遍历原创 2020-11-01 17:48:09 · 252 阅读 · 0 评论 -
数据结构(3):树(下)之二叉树与森林及其应用
一.树与森林树既可以采取顺序存储结构,也可以采取链式存储结构,无论采用何种存储方式,都要求能唯一地反映出树中各节点之间的逻辑关系。(一)树的存储结构双亲表示法采用一组连续空间来存储每个节点,同时在每个节点中增设一个伪指针,其中树根节点的伪指针域为-1。结点结构dataparent#define MAX_TREE_SIZE 100typedef struct{ ElemType data; int parent;}PTNode;原创 2020-06-28 10:04:28 · 660 阅读 · 0 评论 -
数据结构(3):树与二叉树(上)-二叉树
一.树的概念(一)树的基本概念树的定义树是n个节点的有限集合(n≥0),当n=0的时候称为空树,在任意一棵非空树中:①有且仅有一个特定的称为根的节点②当n>1的时候,其余节点可分为m个互不相交的有限集合T1,…,Tm,每个 集合本身也是一棵树,并且这些集合称为根节点的子树。特点:①树的根节点没有前驱节点,除了根节点以外,所有节点有且只有一个前驱节点②树中所有节点都可以有0个或多个后继节点③在具有n个节点的树中具有n-1条边基本术语族谱关系(可以在树中找到连接两个原创 2020-06-26 14:53:29 · 530 阅读 · 0 评论 -
数据结构(2):栈和队列
一.栈1.栈的逻辑结构与概念栈的定义栈:只允许在一端进行插入和删除操作的线性表特点:LIFO,后进先出的线性表相关概念:栈顶:线性表中允许进行插入和删除的那一端栈底:固定的,不允许进行插入和删除操作的那一端空栈:不含任何元素的空表基于栈的一些基本操作初始化 InitStack(&S)判空 StackEmpty(S)进栈 Push(&S,x)出栈 Pop(&S,&x)读栈顶 GetTop(S,&x)销毁栈 C原创 2020-06-24 11:19:44 · 382 阅读 · 0 评论 -
数据结构(1):线性表(下)
一.线性表的链式表示(一).单链表(*)1.单链表的定义单链表:线性表的链式存储;使用一组任意的存储单元来存储线性表中的数据元素,使用指向后继的指针表示元素之间的链式关系。相关术语:数据域——存放相关元素/指针域——存放后继节点的地址节点结构与程序定义datanexttypedef struct LNode{ ElemType data;//数据域 struct LNode *next;//指针域}LNode, *LinkList;原创 2020-06-23 10:55:24 · 279 阅读 · 0 评论 -
数据结构(1):线性表(上)
数据结构复习(1)线性表(上)一.线性表的定义和基本操作1.线性表的定义1)文字定义:具有相同数据类型的n(n>=0)个数据元素的有限序列。2)相关术语:n表长;n=0空表;a1表头元素;an表尾元素;除了表头元素,线性表中每个元素有且仅有一个直接前驱;除了表尾元素,线性表中每个元素有且仅有一个直接后继。3)代数表示:L = (a1,a2,…,an)4)特点:元素个数有限/元素具有逻辑上的顺序/表中每一个元素都是单一的数据元素/数据元素的数据类型都相同,占用相同大小的存储空间/元素具有抽原创 2020-06-21 12:02:24 · 600 阅读 · 0 评论