数据结构笔记
邵光亮
要为自己喜欢的事情不留余力
展开
-
图
图的相关概念和定义图的逻辑结构图的定义图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G=(V,E)G=(V,E)G=(V,E)GGG表示一个图,VVV是图GGG中顶点的集合,EEE是图GGG中顶点之间边的集合。基本概念无向边:顶点vi和vj之间的边没有方向,表示为(vi,vj)。(v_{i},v_{j})。(vi,vj)。无向图:顶点vi和vj之间的边没有方...原创 2019-12-10 09:12:40 · 144 阅读 · 0 评论 -
二叉树的实现
二叉树的存储结构及实现顺序存储结构二叉树的顺序存储结构就是用一维数组存储二叉树中的结点,并且结点的存储位置(下标)应能体现结点之间的逻辑关系——父子关系。前序遍历void Preorder(int root, char data[]){ if(data[root]!='\0'){ cout<<data[root] ; Preorder(2*root,data...原创 2019-12-10 08:57:43 · 355 阅读 · 4 评论 -
树和二叉树
树的定义树是n(n≥0)个结点的有限集合。当n=0时,称为空树。任意一棵非空树满足以下条件:有且仅有一个特定的称为根的结点;当n>1时,除根结点之外的其余结点被分成m(m>0)个互不相交的有限集合T1,T2,…,TmT_{1},T_{2},… ,T_{m}T1,T2,…,Tm,其中每个集合又是一棵树,并称为这个根结点的子树。树的定义是采用递归方法树的基本术语结...原创 2019-12-10 08:42:25 · 127 阅读 · 0 评论 -
字符串和多维数组
字符串的定义字符串是零个或多个组成的有限序列,只包含空格的串成为空格串。串中所包含的字符个数成为串的长度,长度为0的串为空串,记作“”,一个非空串通常该记作: S=“s1,s2…sn”字符串中任意个连续的字符组成的子序列称为该串的子串,相应地,包含子串的串称为主串,子串的第一个字符在主串的序号成为子串在主串的位置。字符串的比较当下列条件之一成立时,称X>Y。(1)n&l...原创 2019-11-06 21:19:53 · 692 阅读 · 0 评论 -
栈和队列
栈和队列都是通过动态集合来存储数据,在栈和队列中添加和删除数据都是预先设定的。在栈(Stack)中,被删除的元素是最近添加的元素,所以栈的实现方式是后进先出(Last-in, First-out);在队列中,被删除的元素是最开始添加的的元素,也就是在动态集合中存放时间最长的那个元素,所以队列的实现方式是先进先出(First-in,First-out)。栈在栈的数据结构中,添加元素的...原创 2019-11-06 21:03:13 · 175 阅读 · 0 评论 -
单链表的实现
描述定义单链表类,创建带头结点的单链表(节点类型为整型数据),要求包含以下成员函数:头插法创建单链表(利用构造函数实现)尾插法创建单链表(重载构造函数实现)链表的遍历按值删除一个节点按位置删除一个节点链表的析构输入输入一组数据,以尾插法的形式创建单链表(0表示输入结束)(构造第一个链表)输入一组数据,以头插法的形式创建单链表(0表示输入结束)(构造第二...原创 2019-09-11 17:56:43 · 1142 阅读 · 0 评论 -
有序的双链表的实现
描述定义有序的双链表类,链表中存储整型数据,创建带头结点的有序双链表,要求包含以下成员函数:双链表的构造函数(非空的链表,输入数据为0,表示输入结束)插入操作(将一个数据元素插入到有序的双链表中,插入之后链表仍然有序,输入数据为0表示插入操作结束)按值删除节点(考虑有重复值的情况)双链表的遍历操作双链表的析构输入输入链表中的元素,根据输入元素,创建有序双链表(非空...原创 2019-09-11 19:06:22 · 1046 阅读 · 0 评论 -
线性表的顺序存储
一、线性表简介 线性表是一种线性结构,它是由零个或多个数据元素构成的有限序列。线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一个直接前驱,有且只有一个直接后继,而序列头元素没有直接前驱,序列尾元素没有直接后继。 数据结构中常见的线性结构有数组、单链表、双链表、循环链表等。线性表中的元素为某种相同的抽象数据类型。可以是C语言的内置类型或结构体,也可以是C++自定义类型。线性...原创 2019-09-22 13:38:32 · 375 阅读 · 0 评论 -
线性表的链接储存结构及实现
单链表1 单链表的定义单链表是用一组任意的存储单元来存放线性表的元素。存储单元可以连续,也可以不连续为了正确的表示元素之间的逻辑关系,每个存储单元除了存储元素外 ,还需要存储后继元素的位置,这个地址信息用指针表示,称为指针;这两个元素组成了数据元素的存储映像,称为结点也就是说节点有两个部分组成的数据域 指针域2 单链表结点c++实现struct Node{ ...原创 2019-09-22 13:51:26 · 1265 阅读 · 1 评论