数据结构
技术项目经理
不忘初心,砥砺前行
展开
-
双向链表数据结构
一. 认识双向链表双向链表介绍 单向链表: 只能从头遍历到尾或者从尾遍历到头(一般从头到尾) 也就是链表相连的过程是单向的. 实现的原理是上一个链表中有一个指向下一个的引用. 单向链表有一个比较明显的缺点: 我们可以轻松的到达下一个节点, 但是回到钱一个节点是很难的. 但是, 在实际开发中, 经常会遇到需要回到上一个节点的情况 举个例子: 假设一个文本编辑用链表来存...原创 2020-02-27 15:20:50 · 338 阅读 · 1 评论 -
链表数据结构
一. 认识链表我们先来认识一下链表, 看一下它大概的机制和原理, 以及和数组的对比.链表和数组数组: 要存储多个元素,数组(或列表)可能是最常用的数据结构。 我们之前说过, 几乎每一种编程语言都有默认实现数组结构, 这种数据结构非常方便,提供了一个便利的[]语法来访问它的元素。 但是数组也有很多缺点: 数组的创建通常需要申请一段连续的内存空间(一整块的内存), 并且大...原创 2020-02-27 13:24:37 · 255 阅读 · 0 评论 -
队列数据结构
一. 认识队列我们也先来认识一下队列, 看看它的特点和应用场景等.队列结构 队列(Queue),它是一种运算受限的线性表,先进先出(FIFO First In First Out) 队列是一种受限的线性结构 受限之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作 生活中类似的队列结构 生活中类似队列的场景就是非常多了,...原创 2020-02-26 20:12:06 · 181 阅读 · 0 评论 -
栈数据结构
一. 认识栈结构我们先来简单认识一下栈结构, 它的特点和应用场景等.栈结构 数组 我们知道数组是一种线性结构, 并且可以在数组的任意位置插入和删除数据. 但是有时候, 我们为了实现某些功能, 必须对这种任意性加以限制. 而栈和队列就是比较常见的受限的线性结构, 我们先来学习栈结构. 栈(stack),它是一种运算受限的线性表,后进先出(LIFO) LIF...原创 2020-02-26 19:34:52 · 230 阅读 · 0 评论 -
数组数据结构
一. 数组的基本使用事实上, 如果你之前已经学习了JavaScript的基础知识, 那么数组这部分可以直接跳过.因为在基础知识中, 是要求我们灵活使用数组的, 所以大部分人应该对这部分没有问题, 但是这里我还是花费一些篇章来带着大家一起学习一下数组.因为数据结构中数组是其中很重要的一环, 直接跳过总觉得少点什么.为什么使用数组? 假如有这样一个需求:保存自己多个朋友的名字...原创 2020-02-26 19:12:57 · 207 阅读 · 0 评论 -
集合数据结构
一. 集合介绍我们先来简单认识一下集合的特点.集合的特点集合通常是由一组无序的, 不能重复的元素构成. 和数学中的集合名词比较相似, 但是数学中的集合范围更大一些, 也允许集合中的元素重复. 在计算机中, 集合通常表示的结构中元素是不允许重复的. 看成一种特殊的数组 其实集合你可以将它看成一种特殊的数组. 特殊之处在于里面的元素没有顺序, 也不能重复. 没有顺...原创 2020-02-26 17:28:27 · 131 阅读 · 0 评论 -
字典数据结构
一. 认识字典字典的介绍生活中的字典 中文字典我们可以根据拼音去查找汉字, 并且找到汉字对应的词以及解释. 英文字典也是类似, 根据英文字母找到对应的单词, 再查看其翻译和应用场景. 很多编程语言中都有字典的概念 字典有什么特点呢? 字典的主要特点是一一对应的关系. 比如保存一个人的信息, 在合适的情况下取出这些信息. 使用数组的方式: [18, "Coderwh...原创 2020-02-26 16:25:45 · 665 阅读 · 0 评论