数据结构
资深糖分大叔
自律给人自由
展开
-
数据结构专题之堆
堆(Heap)是一个可以被看成近似完全二叉树的数组。树上的每一个结点对应数组的一个元素。除了最底层外,该树是完全充满的,而且是从左到右填充。堆包括最大堆和最小堆:最大堆的每一个节点(除了根结点)的值不大于其父节点;最小堆的每一个节点(除了根结点)的值不小于其父节点。堆常见的操作:HEAPIFY 建堆:把一个乱序的数组变成堆结构的数组,时间复杂度为 O(n)。HEAPPUSH:把一个数值放...原创 2019-11-21 11:22:49 · 204 阅读 · 0 评论 -
数据结构专题之二分查找
介绍什么是二分查找二分查找是计算机科学中最基本、最有用的算法之一。 它描述了在有序集合中搜索特定值的过程。二分查找中使用的术语:目标 Target —— 你要查找的值索引 Index —— 你要查找的当前位置左、右指示符 Left,Right —— 我们用来维持查找空间的指标中间指示符 Mid —— 我们用来应用条件来确定我们应该向左查找还是向右查找的索引...原创 2019-11-14 17:56:41 · 233 阅读 · 0 评论 -
数据结构专题之哈希表
介绍原创 2019-11-14 15:52:48 · 390 阅读 · 0 评论 -
数据结构专题之数组和字符串
介绍数组是数据结构中的基本模块之一。因为字符串是由字符数组形成的,所以二者是相似的。数组简介数组是一种基本的数据结构,用于按顺序存储元素的集合。但是元素可以随机存取,因为数组中的每个元素都可以通过数组索引来识别。数组可以有一个或多个维度。这里我们从一维数组开始,它也被称为线性数组。...原创 2019-11-12 11:18:10 · 362 阅读 · 0 评论 -
数据结构专题之二叉树
介绍树 是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。树里的每一个节点有一个根植和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有 N 个节点和 N-1 条边的一个有向无环图。二叉树是一种更为典型的树树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。树的遍历前序遍历中序遍历后序遍历前序遍历...原创 2019-11-11 17:26:33 · 380 阅读 · 0 评论 -
数据结构专题之栈
介绍在数组中,可以通过索引访问随机元素。在队列和栈中,可以顺序处理数据栈:后入先出的数据结构后入先出的数据结构(LIFO)在 LIFO 数据结构中,将首先处理添加到队列中的最新元素。栈是一个 LIFO 数据结构通常,插入操作在栈中叫做入栈 push, 与队列类似,总是在堆栈的末尾添加一个新元素。但是删除操作,退栈 pop 将始终删除队列中相对于它的最后一个元素。入栈退栈栈...原创 2019-11-11 17:04:32 · 269 阅读 · 0 评论 -
数据结构专题之队列
介绍在数组中,可以通过索引访问随机元素。在队列和栈中,可以顺序处理数据队列:先入先出的数据结构先入先出的数据结构(FIFO)在先入先出数据结构中,将首先处理添加到队列中的第一个元素队列是典型的先入先出数据结构。插入操作也称为入队,新元素始终被添加在队列的末尾,删除操作也称为出队,只能移除第一个元素入队出队队列的实现动态数组和头索引为了实现队列,可以使用动态数组和指向队列...原创 2019-11-11 15:46:29 · 271 阅读 · 0 评论 -
数据结构专题之链表
链表专题与数组相似,链表也是一种线性数据结构链表中的每个元素其实为一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起原创 2019-11-08 17:11:11 · 404 阅读 · 0 评论