![](https://img-blog.csdnimg.cn/20200807103227945.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
主要记录一下自己空闲时间学习的一些数据结构和算法
泗水长流
克明俊德 格物致知
展开
-
再谈Redis的数据类型String
再谈Redis的数据类型String1.String不是万能的2.简单动态字符串(Simple Dynamic String—SDS)三级目录1.String不是万能的在我们日常使用Redis的过程中,String这个数据是最常用的,甚至我们会费尽心思的把一些比较别扭的数据,强制转换成String来存储在Redis中。为什么这么做呢?其实我觉得就是因为我们操作String简单、明了,还有就是,对Redis中的String不了解,只会用,别人这么用,我也这么用,反正也没见到出什么问题。那么我们下面考虑一个原创 2020-09-08 11:11:14 · 139 阅读 · 0 评论 -
深度解析单线程的Redis快的原理
单线程的Redis为什么这么快?前言Redis的数据结构1.此结构非彼结构2.Redis的底层数据结构三级目录前言对于我们开发同学来说,一说到Redis,第一反应肯定是说“快”;为什么要用Redis,因为它快。那为什么Redis这么快,况且它还是一个单线程的,这你能受的了么,哈哈。我们用了很多数据库,为什么Redis能有这么快的性能呢?我们先大体上猜测总结一下,当然这不是最终结论:Redis是个内存数据库,不论是读、写操作都是在内存上完成的,而内存的速度本身就是很快的(至于内存为什么快,自己查资料吧原创 2020-08-27 00:08:02 · 386 阅读 · 0 评论 -
从根上开始学习MySql索引(二)
我心目中的MySql索引(二)前言InnoDB存储引擎的索引1.怎么理解索引2.索引的三级目录前言上一篇博客,我们用一定的篇幅说了一下MySql(InnoDB)底层采用的数据结构为B+Tree。在 MySQL 中,索引是在存储引擎层实现的,由于 InnoDB 存储引擎在 MySQL 数据库中使用最为广泛,所以下面所说的索引,都是基于InnoDB这个存储引擎来说的,这一点还请注意。InnoDB存储引擎的索引1.怎么理解索引在InnoDB中,表都是根据主键的顺序以索引的方式来存在的,所有的数据都存放在原创 2020-08-10 21:37:23 · 107 阅读 · 0 评论 -
从根上开始学习MySql索引(一)
我心目的中MySql索引写在最最前面的话1.SQL查询语句的执行过程1. MySql的组成2.Server层写在最最前面的话要深入理解MySql的索引知识,那就首先也是必须要先完全理解关于“树”这种数据结构,要不然我们就是看一百遍文章也不明白所以然。所以,如果你还没有完全理解“树”,那么就请先看之前的三篇博客:[《(一)树(树、二叉树、满二叉树、完全二叉树、二叉搜索树、二叉平衡树、B-Tree、B+Tree)》]《漫画:什么是B-树?》《漫画:什么是B+树?》那么要理解到什么程度呢?了解树的原创 2020-08-09 12:16:13 · 161 阅读 · 0 评论 -
漫画:什么是B-树?
二叉查找树的结构: 第1次磁盘IO: ...转载 2020-08-08 18:16:49 · 130 阅读 · 0 评论 -
漫画:什么是B+树?
漫画:什么是B+树?一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。...转载 2020-08-08 17:43:54 · 119 阅读 · 0 评论 -
(一)树(树、二叉树、满二叉树、完全二叉树、二叉搜索树、二叉平衡树、B-Tree、B+Tree)
树(树、二叉树、满二叉树、完全二叉树、二叉搜索树、B-Tree、B+Tree)1.树1.概念2.相关术语1.树1.概念树结构简单来说,就是数据元素之间具有层次关系的非线性结构。它是从自然界中的树抽象而来的,有树根、从树根发源类似枝杈的分支关系以及作为分支重点的叶子等。下面我们给出树结构的完整定义:树(tree)是由n(n ≥0)个节点组成的有限集合。n=0的树称为空树;n >0 的树T的特点如下:有一个特殊的节点称为根节点(root),它只有直接后继节点,没有直接前驱节点。当n ≥1时,原创 2020-08-08 17:39:10 · 250 阅读 · 0 评论 -
二叉搜索树的构建、遍历及删除(JAVA版)
/** * @Description 二叉排序树 * @Author lvxinchun * @Date 2020-08-06 13:37 */public class BinarySortTree { public class TreeNode { int value; TreeNode left; TreeNode right; public TreeNode(int value) { this原创 2020-08-07 16:54:44 · 126 阅读 · 0 评论 -
二叉树的三种遍历方式(JAVA版)
/** * @Description * @Author lvxincun * @Date 2020-08-05 19:32 */public class TreeNode1 { private String data; private TreeNode1 left; private TreeNode1 right; public TreeNode1() { } public TreeNode1(String data) {原创 2020-08-07 16:34:27 · 169 阅读 · 0 评论