type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: 一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 数据结构

跳表

定义

 

特点

 

思想

空间换时间,时间复杂度,O(logn)

B树

定义

 

特点

 

思想

空间换时间,对于IO次数减少作用

B+树

定义

 

特点

 

思想

空间换时间,对于IO次数减少作用,相比B树范围查询更好,查询复杂度更稳定

红黑树

定义

 

特点

不能范围查询

思想

时间换空间,解决快速查找元素的问题,时间复杂度是O(logn)

时间轮

定义

 

特点

 

思想

空间换时间,解决根据任务的轻重缓急分片(环形数组)执行任务,提高并发度的问题。它的加锁方式是对整个时间轮进行加锁,但是时间轮的处理速度是O(1)的时间复杂度来分配任务和修改任务。这样就使得加锁的时间很短来提高并发

LSM(log structured merge)树

定义

 

特点

 

思想

空间换时间,读多写少

👨🏻‍💻B树和B+树的区别

  1. B+树查询速度更稳定:B+所有关键字数据地址都存在叶子节点上,所以每次查找的次数都相同所以查询速度要比B树更稳定。
  1. B+树天然具备排序功能:B+树所有的叶子节点数据构成了一个有序链表,在查询大小区间的数据时候更方便,数据紧密性很高,缓存的命中率也会比B树高。
  1. B+树全节点遍历更快:B+树遍历整棵树只需要遍历所有的叶子节点即可,而不需要像B树一样需要对每一层进行遍历,这有利于数据库做全表扫描。
B树相对于B+树的优点是,如果经常访问的数据离根节点很近,而B树非叶子节点本身存有关键字和数据,所以在查询这种数据检索的时候会要比B+树快。

👨🏻‍💻红黑树和B树的区别

  1. 策略不一样,红黑树属于内排序,b树属于外排序,它们复杂度相同或者相近的排序方法虽然有很多种,但是这些排序方法依然是不同的排序算法;
  1. 红黑树是二叉树的变种, b树一个节点代表数据的集合或者范围;
  1. 从应用层面看,红黑树适合小数据范围内的快速查找,然而b树适合大范围数据查找。

并发度提高的方式


  1. 降低锁的粒度;
  1. 降低锁的持有时长;

📎 参考文章

 
💡
有关中间件数据结构的问题,欢迎您在底部评论区留言,一起交流~
3个思路,让你成为一个真正自律的人测试笔记

  • Giscus
  • Cusdis
Sheamus
Sheamus
I'm a geeker!
公告
type
status
date
slug
summary
tags
category
icon
password

📢📢📢 重磅更新 📢📢📢

首页添加了 ChatGPT 的入口,只要添加上你自己的 OpenAI API key 你就能轻松玩转 ChatGPT 了~~~
使用过程有任何问题请到留言区留言,感谢 👏🏻👏🏻👏🏻