![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
高阶数据结构学习(转载)
文章平均质量分 96
转载学习
炫酷的伊莉娜
C/C++领域新星创作者。荣获第十五届蓝桥杯全国软件和信息技术专业人才大赛广东赛区C/C++程序设计大学B组二等奖、2024团体程序设计天梯赛广东省团队三等奖、2024年度第五届全国大学生算法设计与编程挑战赛(春季赛)优秀奖、多次获得校级奖学金。大学本科在读,计算机科学与技术专业,致力于C/C++方向的学习。一步一个脚印,查漏补缺,努力提升自己,记录学习过程。
展开
-
epoll 详解
按照 man 手册的说法:是为处理大批量句柄而作了改进的 poll。当然,这不是 2.6 内核才有的,它是在 2.5.44 内核中被引进的 (epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为 Linux2.6 下性能最好的多路 I/O 就绪通知方法。二、epoll 的相关系统调用epoll 只有 epoll_create,epoll_ctl,epoll_wait 3 个系统调用。转载 2024-05-31 14:46:26 · 15 阅读 · 0 评论 -
高并发网络编程之 epoll 详解
在 Linux 没有实现 epoll 事件驱动机制之前,我们一般选择用 select 或者 poll 等 IO 多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select 和 poll 的用武之地越来越有限,风头已经被 epoll 占尽。本文便来介绍 epoll 的实现机制,并附带讲解一下 select 和 poll。通过对比其不同的实现机制,真正理解为何 epoll 能实现高并发。转载 2024-05-31 13:47:09 · 26 阅读 · 0 评论 -
Redis 内部数据结构详解 —— skiplist
skiplist 本质上也是一种查找结构,用于解决算法中的查找问题(Searching),即根据给定的 key,快速查到它所在的位置(或者对应的 value)。一般查找问题的解法分为两个大类:一个是基于各种平衡树,一个是基于哈希表。但 skiplist 却比较特殊,它没法归属到这两大类里面。这种数据结构是由 William Pugh 发明的,最早出现于他在 1990 年发表的论文《Skip Lists: A Probabilistic Alternative to Balanced Trees》。转载 2024-05-21 14:05:06 · 13 阅读 · 0 评论 -
MySQL 索引背后的数据结构及算法原理
本文以 MySQL 数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL 支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此 MySQL 数据库支持多种索引类型,如 BTree 索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于 BTree 索引,因为这是平常使用 MySQL 时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论 MySQL 数据库索引的数理基础。转载 2024-05-20 14:47:51 · 20 阅读 · 0 评论