-
算法小白的入门日记(七)AVL树——能自平衡的二叉查找树
发布时间:2021-11-27 10:52上一节在介绍BST时说道BST可能发生因插入顺序而产生的的退化为单链表的问题,这会使得BST的查询复杂度退化为O(n),为了解决这个问题,具有自平衡树就出现了。其中 AVL树 是最
-
算法小白的入门日记(六)BST——能高效查找的二叉树
发布时间:2021-11-24 20:06·二叉查找树(BST) 二叉查找树(又称二叉搜索树,二叉排序树)在二叉树的基础上增加了以下特点: 1、左子树所有节点小于根节点,右子树的所有节点大于根节点。 2、左右子
-
算法小白的入门日记(五) 二叉堆和优先队列——会自动排序的队列
发布时间:2021-11-19 20:30· 二叉堆是什么 二叉堆从逻辑上来说是一个具有自动排序功能的二叉树(最大堆是栈顶为最大值,降序;最小堆是升序);从物理上来说本质是一个数组。 二叉堆具有以
-
算法小白的入门日记(四) 二叉树的遍历
发布时间:2021-11-19 19:56树是一种非线性的数据结构,一棵树在逻辑上具有一个唯一的根节点,一个树节点在逻辑上具有多个指向其子节点的指针。 · 二叉树 二叉树就是每个节点只有两个分支的
-
算法小白的入门日记(三) Hashmap——高效查找Key-Value的无序结构
发布时间:2021-11-19 09:49· hashMap的数据结构 hashMap(散列表/哈希表)是一种提供键值映射关系数据结构,能做到高效查询key对应的value。它的底层结构是数组+链表,或者数组+树。
-
算法小白的入门日记(二) 栈和队列——能记得先后进出顺序的线性结构
发布时间:2021-11-18 20:19栈是一种具有先进后出的线性数据结构,常见操作是入栈(push)和出栈(pop)。可以使用链表或数组实现。最早进入的元素存放的位置叫作栈底(bottom),最后进入的元素存放的位置叫作栈顶(top)。
-
算法小白的入门日记(一) 数组和链表——数据结构的老祖宗
发布时间:2021-11-18 14:17我们可以简单的把内存看成是一系列连续的以字节为单位的存储空间组成的大存储空间,每一个字节为单位的小存储空间都有一个32位或64位的内存地址。 当需要存储多项数据时,我们可以使用两种基本的数据结构
-
Mysql索引篇(四) 覆盖索引(Using index)、文件排序(Using filesort)和临时表(Using temporary)
发布时间:2020-11-02 09:59Using index 覆盖索引 概念:一个索引(B+树)中包含所有需要查询的字段的值,称为覆盖索引。覆盖索引的一个特点是无需回表。 覆盖索引不是一种索引类型,不是一个名词,而是一个动词。
-
Mysql索引篇(三) 善于explain分析sql语句
发布时间:2020-11-02 09:33explain命令的使用方式:explain+sql语句explain返回结果的字段解释:Id 用于表示查询中执行select子句或操作表的顺序3种情况:A. id相同执行顺序由上到下比如:看第一列和
-
Mysql索引篇(二) Myisam和Innodb的索引
发布时间:2020-11-02 08:44我们知道mysql的数据库和表是存放在mysql的data目录中。一个数据库对应一个目录,一个数据表对应一个或多个文件。 Myisam引擎的主键索引 Myisam的表对