算法是一组用于解决特定问题或执行特定任务的有序步骤或指令集。它是计算机科学和数学领域中的一个重要概念。算法可以描述为一种将输入转换为输出的过程,它可以被视为一种计算或问题解决的方法或过程。
本文主要将数据结构、算法技巧、常见算法进行汇总
算法
算法可以用来解决各种问题,例如排序、搜索、图形处理、数据分析、机器学习等。它们可以以各种形式存在,包括数学公式、伪代码、流程图或编程语言。
一个好的算法应该具有以下特点:
- 正确性:算法应该产生正确的输出结果,解决给定的问题。
- 可读性:算法应该易于理解和解释。
- 高效性:算法应该在合理的时间内完成执行,并且对于给定的输入数据大小,其执行时间应该是可接受的。
- 鲁棒性:算法应该能够处理各种输入情况,包括异常情况,并给出合理的输出或错误处理。
算法技巧
算法技巧-滑动窗口(sliding window)
算法技巧-前缀和
算法技巧-时间轮(一)
算法技巧-时间轮(二)
算法技巧-大小根堆(Max/Min Heap)
算法技巧-跳表(Skip List)(一):介绍、ConcurrentSkipListMap源码分析
算法技巧-跳表(Skip List)(二):应用场景和手撕代码实现
算法技巧-各种排序算法(一)
算法技巧-各种排序算法(二)
算法技巧-各种排序算法(三):JDK中排序算法经典使用
算法技巧-位操作
算法技巧-布隆过滤器
常见算法
算法系列-遗传算法和JAVA实现
算法系列-KMP算法和JAVA实现
算法系列-Boyer-Moore算法和JAVA实现
算法系列-Brian Kernighan算法和JAVA实现
算法系列-最短路径Dijkstra算法和JAVA实现
算法系列-最短路径Bellman-Ford算法和JAVA实现
数据结构
数据结构-栈以及经典应用
数据结构-队列以及经典应用
数据结构-双向队列以及经典应用
数据结构-数字编码
数据结构-字符编码