随笔分类 - 数据结构与算法
摘要:1.快速排序 O(nlog(n)) 不稳定排序 选取第一个数为哨兵 将比哨兵小的数都交换到前面,比哨兵大的数都交换到后面 返回哨兵位置,根据哨兵位置划分左右区间重复第二步,直到各区间只有一个数。 int partition(vector<int> &nums, int left, int right
阅读全文
摘要:二分查找算法以及常见的边界细节问题 1. 基本的二分搜索 这个场景是最简单的,即二分搜索一个数,如果存在,返回其索引,否则返回 -1。 可以写出以下代码 int binarySearch(int[] nums, int target) { int left = 0; int right = nums
阅读全文