内存与磁盘IO原理 一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,所以评价一个数据结构作为索引的优劣最重要的指标就是在查找过程中磁盘I/O操作次数的渐进复杂度 ...
分类:
编程语言 时间:
2021-03-30 13:25:10
阅读次数:
0
数据结构有几类:线性结构、链表、Hash散列 1.线性结构:在内存中存放的顺序是连续的可以节约空间,可以通过索引查找,优点:查询数据很快、缺点:每次修改删除都有内存的移动会慢。 2.链表:链表结构在内存中是不连续的,不可以通过索引查找,他在每块内存中除了存放值还存放了下块内存的索引,优点:增删快,缺 ...
分类:
Web程序 时间:
2020-07-28 00:24:34
阅读次数:
87
给定一个编码字符串 S。请你找出 解码字符串 并将其写入磁带。解码时,从编码字符串中 每次读取一个字符 ,并采取以下步骤: 如果所读的字符是字母,则将该字母写在磁带上。 如果所读的字符是数字(例如 d),则整个当前磁带总共会被重复写 d-1 次。 现在,对于给定的编码字符串 S 和索引 K,查找并返 ...
分类:
其他好文 时间:
2020-07-27 09:47:44
阅读次数:
65
最新在做仿网易云音乐的app,在歌手的页面是需要做像微信通讯录的那种字母索引查找内容 首先是这样的 然后点击哪个字母跳转到指定位置,若滑动时也可以停在正确的位置,这种效果应该都有接触过,本来是想着做个gif上传,无奈我不会啊,笑哭 首先说下数据格式,左侧的 1 的数据格式是这样的 <div clas ...
分类:
微信 时间:
2020-07-12 18:52:37
阅读次数:
131
一.二叉树 1.满二叉树 高度为h,由2的h次-1个节点构成的二叉树称为满二叉树 2.完全二叉树 高度为h,除第h层外,其它各层节点数都到达最大节点数。且第h层的节点都连续集中在最左边 二.二叉查找树 又称二叉排序树或二叉搜索树。左子树的所有节点值均小于根节点的值,右子树所有节点值均大于根节点的值。 ...
分类:
其他好文 时间:
2020-07-04 20:29:37
阅读次数:
48
继承,封装,多态? 封装:是对象和类概念的主要特性,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承:子类继承父类,它就可以使用父类的所有功能,并在无需编写父类的情况下对这些功能进行扩展。 多态:多态性是允许你将父对象设置成为一个或更多的 ...
分类:
其他好文 时间:
2020-06-28 20:19:12
阅读次数:
62
一、基本概念和专业术语: (1)查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 (2)查找算法分类: 1)静态查找和动态查找; 注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。 常见静态表:顺序查找、二分查找、插值查找、索引查找等 常见 ...
分类:
其他好文 时间:
2020-06-23 21:32:01
阅读次数:
165
# encoding=utf-8 ''' 所谓的可迭代对象指的是可以被for循环的对象 list 就是一个类 ;可迭代对象; 列表是有序的(可以通过索引查找元素) 补充说明:字符串一旦创建不能修改,可以通过索引查找值但不能修改值;列表可以通过索引查找值和修改值 1、列表是可变的,字符串是不可变的 2 ...
分类:
编程语言 时间:
2020-05-20 12:51:31
阅读次数:
56
mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参 ...
分类:
其他好文 时间:
2020-05-11 01:34:25
阅读次数:
79
索引的优缺点 首先说说索引的优点:最大的好处无疑就算提高查询效率。有的索引还能保证数据的唯一性,比如唯一索引。 而它的坏处很明显:索引也是文件,我们在创建索引时,也会创建额外的文件,所以会占用一些硬盘空间。其次,索引也需要维护,我们在增加删除数据的时候,索引也需要去变化维护。当一个表的索引多了以后, ...
分类:
数据库 时间:
2020-05-10 13:05:42
阅读次数:
75