摘要: 1.红黑树和自平衡二叉(查找)树区别 1、红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。 2、平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。AVL 阅读全文
posted @ 2021-06-04 13:16 abcdefghijklmnop 阅读(528) 评论(0) 推荐(0) 编辑
摘要: MYSQL的B+Tree索引树高度如何计算 前一段被问到一个平时没有关注到有关于MYSQL索引相关的问题点,被问到一个表有3000万记录,假如有一列占8位字节的字段,根据这一列建索引的话索引树的高度是多少? 这一问当时就被问蒙了,平时这也只关注MySQL索引一般都是都是用B+Tree来存储维护索引的 阅读全文
posted @ 2021-06-04 12:41 abcdefghijklmnop 阅读(344) 评论(0) 推荐(0) 编辑
摘要: Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数, 这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数 阅读全文
posted @ 2021-06-04 12:39 abcdefghijklmnop 阅读(2216) 评论(0) 推荐(0) 编辑
摘要: HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素超过8时,会自动转化成红黑树;若桶中元素小于等于6时,树结构还原成链表形式。 原因: 红黑树的平均查找长度是log(n),长度为8,查找长度为log(8)=3,链表的平均查找长度为n/2,当长度为8时,平均查找长度为8/2=4,这 阅读全文
posted @ 2021-06-04 12:23 abcdefghijklmnop 阅读(7183) 评论(0) 推荐(4) 编辑
摘要: 我经常会碰到一些耗时较长的任务,譬如更新5千万条表数据中的某个字段,代码中可以通过分页依次读取db,然后更新即可。但是耗时极长,那么能否通过将代码部署多个实例,譬如启动多个docker来并行执行任务,横向扩展,这样就能大幅减少耗时。 但是问题在于代码是相同的,假如采用的是分页读取,依次更新,那么不管 阅读全文
posted @ 2021-06-04 12:16 abcdefghijklmnop 阅读(186) 评论(0) 推荐(0) 编辑