文章目录
- 快速排序
- 2011真题
- 2013真题
- 2018真题
- 2016真题
- 快速排序的划分思想
- 2016快速排序的最优解
- 二路归并排序
- 2011真题
- 链表
- 备考思路
- 基本功练习
- 图
- 图的数据定义-邻接矩阵
- 图的数据定义-邻接表
- 2021-邻接矩阵
- 2023-邻接矩阵
- 2021-邻接表
- 2023-邻接表
- 二叉树
- 常用思路
- 基本功练习
- 前中后序遍历
- 层序遍历
- 树的高度
- 树的宽度
- WPL计算
- 二叉排序树的判定
- 平衡二叉树的判定
- 完全二叉树的判定
快速排序
- 递归–乱序数组
- 关键思想:划分
int partition(int A[],int L,int R){
int mid=A[L];
while(L<R){
while(A[R]>=mid && L<R) R--;
A[L]=A[R];
while(A[L]<=mid && L<R) L++;
A[R]=A[L];
}
// 最后mid值的存储
A[L]=mid;
return L;
}
void QuickSort(int A[],int L,int R){
if(L>=R) return; //递归终止
int mid=partition(A,L,R);
QuickSort(A,L,M-1); //左半部分
QuickSort(A,L+1,R); //右半部分
}
2011真题
2013真题
2018真题