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