数据组构
文章平均质量分 77
一条叫做nemo的鱼
一枚孜孜不倦上下求索的程序员。主要关注领域:c/c ,数据结构算法,嵌入式,数据库,linux kernel.设计模式,lock free编程,异步IO.架构设计
展开
-
数据构结之数组总结
数据构结之数组总结原创 2022-03-16 22:09:09 · 379 阅读 · 0 评论 -
数据结构之跳表(skip list)
众所周之,二分查找依赖的是数组的随机仿问特性。如果是用链表去存储数据,二分查找就没法使用了吗?实际上,只要对链表稍加改造,就可以支持二分查找。对于一个单链表来讲,即使链表中存储的数据是有序的,如果我们要查找某个数据,也只能从头到尾遍历链表,这样查找效率就很低,时间复杂度就很高,是O(n).那么怎么提高查找效率呢?如果从原始链表中每两个结点中抽取一个作为一个索引,所有的索引组成一个索引层。如下图所示假如现在需要查找数据8,那么第一层索引的比较顺序为1,3,5,7,9. 发现7比8小,9比.原创 2022-02-17 00:21:49 · 1047 阅读 · 0 评论 -
数据结构之时间轮Timeingwheel以及timer实现
所谓时间轮就是一个循环数组,每过一个时钟周期,数组下标前进一格。每个数组的entry后面挂着一个list, 有点类似于哈希链表。哈希表链表node是因为散列冲突, 时间轮链表node是因为对数组size取模有相同的余数。比如有6个node: 1, 4,7, 10, 13, 16 。数组size = 6, 那么时间轮里的数据如下图所示因为:1,7,13对6做%运算结果都相同4,10, 16对6做%运算结果都相同那么怎么用时间轮去实现一个timer呢,算法如下:list node 存储.原创 2021-09-27 23:19:07 · 542 阅读 · 0 评论