多路查找树 虽然二叉树的效率很高,但是也存在一些问题!二叉树是需要加载进内存的,倘若结点少无所谓,若有一亿个结点,就会有海量数据,会对速度造成影响 1. 多叉树 在二叉树中,每个结点规定最多有两个子结点,若允许每个结点可以有更多的数据项和子结点,那么就是多叉树 多叉树通过重新组织结点,减少树的高度, ...
分类:
编程语言 时间:
2020-04-24 20:11:25
阅读次数:
64
归并排序的步骤如下: 思想:将数组分成两部分,两部分都是有序的时候,把两个数组合并。合并的方法就是双指针,i 指向左边的数组,j 指向右边的数组,比较 L[i] 和 R[j] 的大小,将其填入原数组,并且将 i 或 j 往后移。 步骤: 1.将数组分成两部分,直到其中只包含一个元素 2.当数组只包含 ...
分类:
编程语言 时间:
2020-04-24 20:06:48
阅读次数:
53
1 typedef char InfoType; 2 //图的邻接矩阵储存方法 3 4 //图的邻接矩阵表示是唯一的 5 //邻接矩阵适合储存边的数目比较多的稠密图 6 //无向图的邻接矩阵是一个对称矩阵 7 //对于无向图,第i行或者第i列非0,非INF元素的个数正好是顶点i的度 8 //对于有向 ...
分类:
编程语言 时间:
2020-04-24 17:32:51
阅读次数:
71
跳跃表 跳跃表是有一种有序的数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。大部分情况下,跳跃表的效率可以和平衡树媲美。 Redis使用跳跃表作为有序集合键的底层实现之 ...
分类:
其他好文 时间:
2020-04-24 01:52:51
阅读次数:
92
源码 setions信息 以下是原图: gdb peda:put@plt首探 结合.plt section信息 0x8048300就在.plt section,puts@plt是特殊符号名称 0x804a00c(指针)在.got.plt节这里 乍一看就得很奇怪,为什么要莫名其妙的跳到紧接着下一条指令 ...
分类:
其他好文 时间:
2020-04-23 21:33:24
阅读次数:
80
系统架构师之Java并发编程高阶技术+高性能并发框架+源码解析 ...
分类:
编程语言 时间:
2020-04-23 21:27:51
阅读次数:
64
单循环队列 q :用数组来记录数据 cap:代表数组的长度 len:代表元素的个数,取尾部元素可以根据头元素指针和这个值来进行计算 (queue head+queue len)%queue cap , 取余是为了在规定范围内循环使用有限空间 head:头元素的指针 出队:出头元素只需要将head往前 ...
分类:
其他好文 时间:
2020-04-23 21:07:34
阅读次数:
53
链表:真正的动态数据结构。 1最简单的动态数据结构。2也能帮助更深入的理解引用和指针。具有递归结构性质 数据存储在Node节点中, E存储元素,Next代表下一个元素节点。最后一个元素为NULL。 就像或者车厢之间链接一样 next负责链接。 优点:就是真正的动态,不需要处理固定容量的问题。 缺点: ...
分类:
其他好文 时间:
2020-04-23 20:46:58
阅读次数:
48
情况是这样的:字面值0是一个int类型而不是指针。如果C++发现一个0,在只能使用指针的上下文中,它会不情愿的把0解释为一个空指针,但是那是迫不得已的情况。C++的基本策略是0是一个int类型,而不是一个指针类型。 实际上,NULL的真实情况也是这样的。NUll的细节上有一些不确定性,因为各个实现被 ...
分类:
其他好文 时间:
2020-04-23 19:23:13
阅读次数:
53
从变量名开始看,一步步往外分析。 1. 定义了一个变量 ,前面的 表示 是一个指针,指向什么?指向一个 类型的数据。 2. 从变量名看,定义了一个变量 。注意, 的优先级比 高,所以 是一个数组。数组的每个元素是什么类型?前面的 表示每个元素都是指针。指向什么?指向一个 类型的数据。 3. 从变量名 ...
分类:
编程语言 时间:
2020-04-23 19:00:13
阅读次数:
63