努力工作,争取早日随心所欲的不工作
- 消费订单过期的解决方案.md
- 重复提交问题解决方案.md
- 唯一订单号生成方案.md
- 核心热点数据更新如何保证准确性.md
- 如何解决消费订单重复支付问题.md
- 如何解决由于客户端网络差的原因导致的转化率差的问题.md
- Vertica数据清理.md
- mysql的mvcc多版本控制.md
- MySQL的锁.md
- [MySQL Innodb基于日志体系的数据安全方案.md](note/MySQL Innodb基于日志体系的数据安全方案.md)
- 冒泡排序(Bubble Sort)[BubbleSort.java]:通过重复遍历要排序的数列,比较每对相邻元素,如果顺序错误就交换它们。时间复杂度为 O(n^2)。
- 选择排序(Selection Sort)[SelectionSort.java]:从未排序序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)元素,以此类推。时间复杂度为 O(n^2)。
- 插入排序(Insertion Sort)[InsertionSort.java]:构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。时间复杂度为 O(n^2)。
- 归并排序(Merge Sort)[MergeSort.java]:采用分治法的一个非常典型的应用,将已有序的序列合并。时间复杂度为 O(n log n)。
- 快速排序(Quick Sort)[QuickSort.java]:通过一个基准值将数据分为两部分,一部分数据比基准值小,另一部分数据比基准值大,再递归地排序这两部分数据。时间复杂度为 O(n log n),但在最坏的情况下会退化到 O(n^2)。
- 堆排序(Heap Sort)[HeapSort.java]:利用了二叉堆的数据结构,通过构建最大堆或最小堆,将堆顶元素与末尾元素交换,然后重新调整堆结构。时间复杂度为 O(n log n)。
- 希尔排序(Shell Sort)[ShellSort.java]:是插入排序的一种更高效的改进版本,也使用分治策略,先将整个序列分为多个子序列,分别进行直接插入排序。时间复杂度介于 O(n) 和 O(n^2) 之间。
- 计数排序(Counting Sort)[CountingSort.java]:不是基于比较的排序算法,适用于一定范围内的整数排序。时间复杂度为 O(n+k),其中 k 是整数的范围。
- 桶排序(Bucket Sort)[BucketSort.java]:将数组分派到有限数量的桶里,每个桶再分别排序。时间复杂度为 O(n+k),其中 k 是桶的数量。
- 基数排序(Radix Sort)[RadixSort.java]:按照低位先排序,然后收集;再按照高位排序,然后再收集,以此类推,直到最高位。时间复杂度为 O(nk),其中 k 是最大的数位数。可以看做是计数排序或者桶排序的扩展
- 二分查找(Binary Search)[BinarySearch.java]:在有序数组中查找元素,通过每次比较中间元素将搜索范围缩小一半。
- 插值查找(Interpolation Search)[InterpolationSearch.java]:适用于有序且分布均匀的数据集,根据元素值在数组中的位置进行估算,核心的思想,在二分查找的基础上跳过某些值的判断,核心的公式为:pos=low+( arr[high]−arr[low] key−arr[low] )×(high−low)
- 指数查找(Exponential Search)[ExponentialSearch.java]:结合了指数计算、二分查找和线性查找,首先通过指数计算估计元素的位置,然后进行二分查找,如果查找不到,再进行线性查找。
- 分块查找(Block Search)[BlockSearch.java]:又称索引顺序查找,将数据分为多个块,每块内部有序,通过块索引快速定位到块,然后在块内进行线性查找。
| 是否完成 | 题目名称 | 难度 | 解题思路 | 题目描述 | 题解 |
|---|---|---|---|---|---|
| ☑ | 区分黑白球 | 中等 | 贪心 | https://leetcode.cn/problems/separate-black-and-white-balls/ | SeparateBlackAndWhiteBalls.java |
| ☑ | 相同数目的最大操作数I | 简单 | 暴力 | https://leetcode.cn/problems/maximum-number-of-operations-with-the-same-score-i/description/ | MaximumNumberOfOperationsWithTheSameScoreI.java |