摘要:
认识大O表示法 企业规模的概述: 公司可以按照规模分为:小型企业/中型企业/大型企业 在不说明具体员工人数或者占地面积的情况下,我们可以通过这样大概的概念来描述企业的规模 大O表示法: 在算法的描述中,我们也可以通过类似的快捷方式来描述计算机法的效率 在计算机中,这种粗略的度量被称作“大O”表示法 阅读全文
摘要:
什么是图? 在计算机程序设计中,图结构 也是一种非常常见的数据结构 但是,凸轮其实是一个非常大的话题 我们通过本章的学习来认识一下关于图的一些内容 - 图的抽象数据类型 - 一些算法实现 什么是图? 图结构是一种与树结构有些相似的数据结构 图论是数学的一个分支,并且,在数学的概念上,树是图的一种 它 阅读全文
摘要:
邂逅 红黑树 首先,红黑树很难,难到什么程度呢? 首先你跟别人聊数据结构的时候,他不会和你聊红黑树,因为它是数据结构中一个难点中的难点 数据结构的学习本来就比较难了,红黑树是又将难度上升一个档次的知识点 面试的时候经常出现这个场景: 面试管:你知道红黑树吗? 面试者:知道啦 面试管:知道原理吗? 面 阅读全文
摘要:
二叉树的概念 如果树中每个节点最多只能有两个字节点,这样的树就成为“二叉树” 前面,我们已经提过二叉树的重要性,不仅仅是因为简单,也因为几乎上所有的树都可以表示成二叉树的形式 二叉树的定义 二叉树可以为空,也就是没有节点 若不为空,则它是由根节点和称为其左子树TL和右子树TR的两个不相交的二叉树组成 阅读全文
摘要:
树结构 真实的树: 相信每个人对现实生活中的树都会非常熟悉 我们来看一下树有什么特点? 树通常有一个根,连接着根的是树干 树干到上面之后会进行分叉成树枝,数值还会分叉成更小的树枝 在树枝的最后是叶子 树的抽象: 专家们对树的结构进行了抽象,发现树可以模拟生活中的很多场景 模拟树结构 公司组织架构: 阅读全文
摘要:
哈希表介绍 哈希表是一种非常重要的数据结构,但是很多学习编程的人一直搞不懂哈希表到底是如何实现的 在这一章中,我们就一点点来实现一个自己的哈希表,通过实现来李杰哈希表背后的原理和它的优势 几乎所有的编程语言都有直接或者间接的应用这种数据结构, 哈希表通常是基于数组进行实现的,但是相对于数组,它也很多 阅读全文
摘要:
认识字典 数组-集合-字典是几乎编程语言都会默认提供的数据类型 在JavaScript中默认提供了数组,ES6中增加了集合和字典,在上一章中,我们自己通过对象实现了一下集合。 本章,我们还是基于对象实现一下字典。 生活中的字典 中文字典我们可以根据拼音去查找汉字,并且找到汉字对应的词以及解释 英文字 阅读全文
摘要:
集合结构 几乎几种编程语言中,都有集合结构 集合比较常见的实现方式是哈希表(后续会学习),我们这里来实现一个封装的集合类 集合通常是由一组无序的,不能重复的元素构成 和数学中的集合名词比较相似,但是数字中的集合范围更大一些,也允许集合中的元素重复 在计算机中,集合通常是表示的结构中元素是不允许重复的 阅读全文
摘要:
认识双向链表 回顾单向链表: 只能从头遍历到尾或者从尾遍历到头(一般从头到尾) 也就是链表相连的过程是单向的 实现的原理是上一个链表中有一个指向下一个的引用 单向链表有一个比较明显的缺点: 我们可以轻松的到达下一个节点,但是回到前一个节点是很难得。 但是,在实际开发中,经常会遇到需要回到上一个节点的 阅读全文