This commit is contained in:
ranwenjie
2021-11-27 02:32:30 +08:00
parent b0c67229b3
commit 0b2fb94f5a
2 changed files with 75 additions and 17 deletions
+63 -4
View File
@@ -24,7 +24,7 @@
## 刷题框架套路 ## 刷题框架套路
遍历 ### 遍历
``` ```
# 数组遍历框架 # 数组遍历框架
@@ -41,12 +41,21 @@ void traverse(ListNode head) {
} }
} }
``` void traverse(ListNode head) {
ListNode p = head;
递归 while(p.next != null)
...
p = p.next
}
``` ```
### 递归
```Java
# 链表递归 # 链表递归
void traverse(ListNode head) { void traverse(ListNode head) {
// 递归访问 head.val // 递归访问 head.val
@@ -71,6 +80,56 @@ void traverse(TreeNode root) {
``` ```
### 二分查找
```Java
public int bsearch(int[] nums, int target){
if(nums == null) {
return -1;
}
int low = 0;
int high = nums.length;
while(low < high){
middle = (high + low ) / 2;
if(nums[middle] < target){
low = middle;
} else if (nums[middle] == target) {
high = middle;//
} else {
high = middle;
}
}
return low;
}
```
### 滑动窗口
```Java
```
### 排序算法
[排序算法](../6%20Sort/README.md)
```Java
#快排 quickSort
#归并排序 mergeSort
```
+12 -13
View File
@@ -51,20 +51,19 @@
### [树](4%20Tree/README.md) ### [树](4%20Tree/README.md)
* 二叉树 * 二叉树 [快速排序](6%20Sort/README.md)就是个二叉树的前序遍历,归并排序就是个二叉树的后序遍历
* 二叉查找树 * [二叉查找树BST](4%20Tree/2-二叉查找树/二叉查找树.md) 有序的二叉树,中序遍历结果是递增的
* 伸展树(splay tree 分裂树) * [平衡二叉树 AVL树](4%20Tree/3-平衡树AVL/README.md) 绝对平衡二叉树;
* 平衡二叉树AVL * [红黑树](4%20Tree/9-红黑树%20R-B%20tree/红黑树.md) 弱平衡二叉树;使用广泛
* 红黑树 * [B树](4%20Tree/7-B树/B树.md)
* B树,B+,B* * [B+树](4%20Tree/7-B树/B+树.md) mysql 索引使用 B+树 的数据结构
* R树 * [字典树trie](4%20Tree/4-字典树Trie/README.md) 字典树也叫前缀树,单词查找树
* Trie树(前缀树) * [二叉堆](4%20Tree/8-堆/堆.md)
* 后缀树 * [伸展树](4%20Tree/5-伸展树/伸展树.md)
* 最优二叉树(赫夫曼树) * [后缀树](4%20Tree/6-后缀树/后缀树.md)
* 二叉堆 (大根堆,小根堆)
* 二项树
* 二项堆
* 斐波那契堆(Fibonacci Heap) * 斐波那契堆(Fibonacci Heap)
* 最优二叉树(赫夫曼树)
### [图的算法](5%20Graph/README.md) ### [图的算法](5%20Graph/README.md)