
DataStructure
CCCCCCCYYY_
不会翻身的咸鱼一条
展开
-
数据结构学习笔记二:双向链表
数据结构学习笔记二:双向链表双向链表双向链表(双链表)是链表的一种。和单链表一样,双链表也是由节点组成,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。表头为空,表头的后继节点为"节点10"(数据为10的节点);“节点10"的后继节点是"节点20”(数据为10的节点),“节...原创 2019-05-01 17:39:58 · 136 阅读 · 0 评论 -
数据结构学习笔记三:栈
数据结构学习笔记三:栈和队列栈的介绍栈(stack),是一种线性存储结构,它有以下几个特点:(01) 栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。(02) 向栈中添加/删除数据时,只能从栈顶进行操作。栈通常包括的三种操作:push、peek、pop。push – 向栈中添加元素。peek – 返回栈顶元素。pop – 返回并删除栈顶元...原创 2019-05-01 17:56:22 · 153 阅读 · 0 评论 -
数据结构学习笔记四:队列
数据结构学习笔记四:队列队列的介绍队列(Queue),是一种线性存储结构。它有以下几个特点:(01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。(02) 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。队列通常包括的两种操作:入队列 和 出队列。1. 队列的示意图队列中有10,20,30共3个数据。2. 出队列...原创 2019-05-01 18:14:34 · 243 阅读 · 0 评论 -
数据结构学习笔记五:二叉查找树
数据结构学习笔记五:二叉查找树二叉查找树简介二叉查找树(Binary Search Tree),又被称为二叉搜索树。它是特殊的二叉树:对于二叉树,假设x为二叉树中的任意一个结点,x节点包含关键字key,节点x的key值记为key[x]。如果y是x的左子树中的一个结点,则key[y] <= key[x];如果y是x的右子树的一个结点,则key[y] >= key[x]。那么,这棵树...原创 2019-05-01 22:43:19 · 141 阅读 · 0 评论 -
数据结构学习笔记六:二叉堆
数据结构学习笔记六:二叉堆二叉堆的介绍二叉堆是完全二元树或者是近似完全二元树,按照数据的排列方式可以分为两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。二叉堆一般都通过"数组"来实现,下面是数组实现的最大堆和最小堆的示意图:二叉堆的图文解析图文解析是以"最大堆"来进行介绍的。最大堆的核心内容是"添加...转载 2019-05-02 15:10:11 · 160 阅读 · 0 评论 -
基础数据结构性能对比学习笔记
基础数据结构性能对比[1] array内存分配:在内存中分配一段连续的空间;特点:需要再定义时就知道分配空间的大小;使用:用于预先就已知需要的最大储存空间的情况;[2] vector内存分配:在内存中分配一段连续的空间;实现:内部实际通过管理一个数组指针实现;特点:插入的元素如果超出分配的内存空间,会自动划分一段更大的内存空间,将数据拷贝过去后,释放原空间;使用:对于C++而...原创 2019-05-02 15:27:58 · 137 阅读 · 0 评论 -
数据结构学习笔记一:单向链表
数据结构学习笔记一:单向链表线性结构线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本章先介绍线性表的几个基本组成部分:数组、单向链表、双向链表;随后给出双向链表的C、C++和Java三种语言的实现。内容包括:数组单向链表双向链表数组数组有上界和下界,数组的元素在上下界内是连续的。存储10,20,30,40,50的数组的示意图如下:数组的特点是:数据...原创 2019-04-30 16:43:57 · 209 阅读 · 0 评论