查找算法总结备忘
来源:互联网 发布:netfits云墙 mac 编辑:程序博客网 时间:2024/05/17 09:31
## 查找算法
### 顺序查找/线性查找
+ 条件:有序+无序
+ 时间复杂度:O(n)
+ 空间复杂度:O(1)
+ 关键代码 `if (target == arry[i]) return i;`
### 二分查找/折半查找
+ 条件:有序
+ 时间复杂度:O(logN)
+ 空间复杂度:O(1)
+ 关键代码 `while (low_index <= high_index)` `low_index = mid_index + 1` `high_index = mid_index - 1`
### 插值查找
+ 条件:有序
+ 时间复杂度:O(logN)
+ 空间复杂度:O(1)
+ 关键代码:`mid_index = low_index + (high_index - low_index)*(targetValue - arry[low_index]) / (arry[high_index] - arry[low_index])`
### 哈希查找
+ 条件 :有序+无序,一个设计良好的哈希函数
+ 时间复杂度:O(1)
+ 空间复杂度:O(n)
+ 关键代码: `while (hash[hashAddress] != EMPTY_VALUE_IN_HASH && arry[hash[hashAddress]] != target) // nextHash()`
0 0
- 查找算法总结备忘
- 查找算法总结
- 查找算法总结
- 查找算法总结
- 查找算法的总结
- 查找算法总结
- 查找算法总结
- 查找算法总结
- 查找算法总结
- 查找算法总结
- 各类查找算法总结
- 查找算法总结
- 查找算法总结
- 常见查找算法总结
- 查找算法总结
- 查找算法数据结构总结
- 查找算法大总结
- 排序,查找算法 总结
- Linux内核访问外设I/O资源的方式-动态映射(ioremap)与静态映射(map_desc)方式
- reference counter 引用计数器
- fork的总结
- 编程珠玑之第三章习题3
- 大佬起床哪家早?库克每天4点半起床发邮件
- 查找算法总结备忘
- UDP协议/套接字
- 组合分区表创建索引之后最好收集索引的统计信息
- 多线程——创建新线程
- struts2和spring整合时,报异常
- Ubuntu安装nodeJS
- Discuz3.2 1225升级之后无法登陆UC的解决方案
- 2015:小米与反小米者的决战之年
- Java EE----struts2开发入门