算法学习十六、哈希算法
发表评论
什么是哈希算法? 将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据 […]
什么是哈希算法? 将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据 […]
LRU 缓存淘汰算法 一个缓存(cache)系统主要包含下面这几个操作: 往缓存中添加一个数据 从缓存中删除一 […]
如何设计散列函数 散列函数的设计不能太复杂,过于复杂的散列函数,势必会消耗很多计算时间,也就间接的影响到散列表 […]
散列思想 散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可 […]
如何理解跳表 跳表是在有序链表的基础上发展起来的。我们先来看一个有序链表,如下图(最左侧的灰色节点表示一个空的 […]
二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩 […]
如何选择合适的排序算法 如果对小规模数据进行排序,可以选择时间复杂度是 O(n^2) 的算法;如果对大规模数据 […]
桶排序、计数排序、基数排序都是 O(n) 时间复杂度的排序算法,这三个算法是非基于比较的排序算法,都不涉及元素 […]
归并排序的原理 如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两 […]
一、如何分析一个排序算法 1.1 排序算法的执行效率 1.1.1 最好、最坏、平均时间复杂度 在分析排序算法的 […]