【我在Github上发现了一个好东西】因为每条数据都是32个字节 , 所以可以非常方便定位任意一条数据的位置:第n条数据的位置在32*(n-1)偏移处 。
通过改变数据的存储组织形式 , 我们可以把数据查找的时间复杂度从O(N)下降到O(LogN) 。
但如此一来 , 查找是变快了 , 但插入就麻烦了 。以前的时候 , 我们直接把数据塞到文件最后就拍拍屁股走人了 。但现在不行了 , 我们得把数据按照顺序 , 插入到合适的位置 。
最麻烦的是 , 我们的数据是一条一条挨个码在一起的 , 如果中间某个位置要插入数据 , 就得把那个位置及其以后的数据通通往后移动 , 这就涉及到大量的数据复制移动 , 开销非常大 。
要是每来一条insert操作就数据大量迁徙 , 那不得累得半死?
(其实不止插入 , 删除数据delete也同样如此麻烦)
就没有一种办法 , 可以同时插入快 , 查询也快吗?
推荐阅读
- 如何选择适合自己的掌上游戏机
- 华晨宇|明明自己没实力,还敢上台当导师、教人演戏,这些“老师”太尴尬
- 豆瓣|新剧推荐|上线三天,豆瓣榜单第一的台剧,为何如此受欢迎?
- |稀奇!世界上的这18种稀奇古怪的职业之终结篇
- 底妆|抄袭上瘾的“国货之光”,一半人骂无耻,一半人说真香
- 晚上明明困却总是睡不着是什么原因,很困但是睡不着是什么原因-
- 杨紫|网传杨紫新剧《199爱》招商书曝光,播放平台不是酷,或双台上星
- 火车带酒规定2019 火车上可以带白酒吗?
- |职场沟通:适当提出困难,没有问题
- 生活上的事情是什么,生活中还有什么事-
