数据结构
柠檬有点酸
这个作者很懒,什么都没留下…
展开
-
B树、B+树、B*树
动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。但是有一个很现实的问题在大规...原创 2019-03-21 14:56:07 · 191 阅读 · 0 评论 -
python:numpy(文件存取)
savez()和load()NumPy专用的二进制格式保存数据,它们会自动处理元素类型和形状等信息 如果想将多个数组保存到一个文件中,可以使用savez() savez()的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起名 非关键字参数传递的数组会自动起名为arr_0、arr_1、...。 savez()输出的是一个扩展名为npz的压缩文件,其中每个文件...原创 2019-04-26 10:50:43 · 207 阅读 · 0 评论 -
【原理】解析一致性哈希算法
前言在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法就容易多了,也更能体现出一致性哈希算法的优点。那么,我们先来描述一下这个经典的分布式缓存的应用场景。应用场景假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在有三万张图片需要缓存,我们希望这些图片被均匀地缓存到这三台服务器上,以便它们...原创 2019-08-07 08:48:51 · 141 阅读 · 0 评论 -
树、森林与二叉树的转换
1、树转换为二叉树由于二叉树是有序的,为了避免混淆,对于无序树,我们约定树中的每个结点的孩子结点按从左到右的顺序进行编号。将树转换成二叉树的步骤是:(1)加线。就是在所有兄弟结点之间加一条连线;(2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点之间的连线;(3)旋转。就是以树的根结点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。...转载 2019-08-12 09:47:42 · 1122 阅读 · 1 评论