写在前面 这是上一篇博客的续,这几天略闲,又往后看了几页。做一下总结。 "这里" 是上一篇博客 代码规范篇 OOP规约 1. 【强制】 避免通过一个类的对象引用访问此类的静态变量或静态方法,直接通过类名访问即可。 2. 【强制】 所有的覆写方法,必须加@Override注解 3. 【强制】 相同参数 ...
分类:
编程语言 时间:
2020-05-14 20:59:14
阅读次数:
88
静态查找 数据集合稳定,不需要添加,删除元素的查找 对于静态查找:可以用线性表结构组织数据,这样便可使用顺序查找算法,如果再对关键字进行排序,则可使用折半查找法或斐波那契查找法等来提高效率 动态查找 数据集合在查找的过程中需要同时添加或删除元素的查找 对于动态查找:可考虑使用二叉排序树的查找技术,另 ...
分类:
其他好文 时间:
2020-05-11 15:11:36
阅读次数:
82
mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参 ...
分类:
其他好文 时间:
2020-05-11 01:34:25
阅读次数:
79
一、数组简介 二、数组字面量 三、添加、删除元素的方法 四、数组的遍历 五、slice:获取指定元素 和 splice:删除指定元素并插入一些元素 六、concat()合并、join()转换、sort()排序 ...
分类:
编程语言 时间:
2020-05-11 01:18:12
阅读次数:
78
一、栈 栈(stack),有些地方称为堆栈,但是不能叫堆,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。 没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入 ...
分类:
编程语言 时间:
2020-05-11 01:13:09
阅读次数:
78
布隆过滤器(Bloom Filter)是一种基于Hash的高效查找数据结构,它能够快速答复“某个元素是否存在”的问题。布隆过滤器只能用于添加元素与查询元素,不能够用于删除元素。 在布隆过滤器之前,使用的是基于Hash的快速查找算法。Hash可以将一个元素进行哈希,然后根据哈希值映射到数组的某一个位置 ...
分类:
其他好文 时间:
2020-05-10 17:36:04
阅读次数:
63
微信抽奖小程序 1》点击参与抽奖加入集合 SADD key {userID} 2》查看参与抽奖所有用户 SMEMBERS key 3》抽取count名中奖者 SRANGEMEMBER key [count] #不会从原集合中删除元素,适合一次性抽取所有中奖用户 STOP key [count] #会 ...
分类:
其他好文 时间:
2020-05-09 17:28:11
阅读次数:
71
Iterator<String> it = list.iterator(); while(it.hasNext()){ String x = it.next(); if(x.equals("del")){ it.remove(); } } 注意:1、用for循环和增强for循环可能会导致list中含 ...
分类:
编程语言 时间:
2020-05-08 16:04:03
阅读次数:
57
何为跳表? 跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。 跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。 跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。 跳表详解 有序链表 考虑一个有序链表,我们要查找3、7、17这几个元素,我们只能从头开始遍 ...
分类:
其他好文 时间:
2020-05-06 13:52:50
阅读次数:
61