那些年我们学过的算法
来源:互联网 发布:背包问题 动态规划java 编辑:程序博客网 时间:2024/05/16 19:21
同我们学过的数据结构一样,大部分时候也不需我们发明算法,主要理解其原理和时间复杂度以及使用场景为主,大部分优化算法是以空间换时间。
查找
二分查找,查找数据需有序并且能够根据位置索引直接定位,比如ArrayList, java.util.Arrays.binarySearch
KMP,用于字符串高效查找
排序
选择排序
冒泡排序
希尔排序
快排,JDK中使用了优化的快排,java.util.Arrays.sort
堆排序
归并排序
基数排序
桶排
TimSort,归并排序的优化版,java中排序使用此方法
TOP—K
- 堆
- BFPRT,又称为”中位数的中位数算法”,该算法由Blum、Floyd、Pratt、Rivest、Tarjan提出,最坏时间复杂度为$O(n)
树
- 前序遍历
- 中序遍历
- 后续遍历
图
- 广度优先搜索BFS
- 深度优先搜索DFS
- 拓扑排序
- Dijkstra算法,有向图中查找单源最短路径,也即关键路径
- Floyd算法,有权图中查找任意两点间最短路径
- Prime算法,最小生成树
分治
贪心
递归
动态规划
基数估算
- LinerCount
- LogLogCount
- AdaptiveLogLogCount
- HyperLogLogCount
Hash算法
- MD5
- SHA,Secure Hash Algorithm
- MRUMRU
- CRC,循环冗余校验,Cyclic Redundancy Check
- adler
- good_fast_hash
加密算法
- AES,Advanced Encryption Standard
- DES,Data Encryption Standard
- RSA
- Base64
布隆算法
- BloomFilter, 判断一个元素是否在一个集合里,因哈希冲突可能误判
欧几里德算法
- 辗转相除法,求最大公约数
A*算法
- A*寻路算法,一种求最短有效路径的算法
阅读全文
0 0
- 那些年我们学过的算法
- 那些年,我们一起学过的算法。
- 那些年我们一起学过的“排序算法”
- 那些年我们一起学过的“排序算法”
- 那些年我们学过的排序算法
- 那些年我们学过的HTML
- 那些年我们学过的数据结构
- 那些年,我们没有一起学过的英语。
- 那些年,我们一起学过的linux
- 那些年,我们一起学过的编程语言
- 那些年,我们一起学过的R语言
- 那些年,我们一起学过的汇编----之子程序设计
- ~那些年,我们一起学过的网络通信~01~两台电脑的单向交流~
- NOIP 模拟赛 那些年,我们学过的文化课 --致已退役的fqk神犇.
- 那些年,我们一起学过的汇编----之伪指令
- 那些年,我们一起学过的汇编----之程序返回操作系统
- 那些年,我们一起学过的汇编----之跳转指令
- 那些年,我们一起学过的汇编----之顺序、分支与循环程序设计
- jdk1.8 HashMap源码分析
- Android中TextView显示不同颜色文本
- MT7601u-AP模式(hi3518e)
- 聊聊Unity里的嵌套Prefab
- 智能体路径规划
- 那些年我们学过的算法
- java设计模式之观察者模式
- 简单的淡入淡出动画
- Centos6.5添加swap空间
- ECMAScript 定义类或对象
- 判断101-200之间的素数
- 关于oracle数据库表空间自动增长
- [概述] SAP增强基本含义及分类
- PHP7.2 相关命令