教材学习内容总结 本章学习了算法,了解了解决问题的流程,重点学习了递归,数组,排序,抽象和二分检索等内容。 重点的其实是有关排序的几种方法和二分检索。选择排序,冒泡排序,插入排序和快速排序。比较难理解的是快速排序。 教材学习中的问题和解决过程 其他(感悟、思考等) 感觉自己还有很多需要继续加油和努力 ...
分类:
其他好文 时间:
2019-12-01 21:19:05
阅读次数:
99
一、分治法 递归,找最大值最小值,整数相乘,归并排序,快速排序,线性时间选择,最近点对问题 二、动态规划 0-1背包问题 ,矩阵相乘问题,装配线调度问题,最长公共子序列,最优二分检索树,凸多边形最优三角剖分 三、贪心法 背包问题,活动选择问题,哈夫曼编码,最小生成树算法(Kruskal 和 Prim ...
分类:
编程语言 时间:
2019-08-12 23:38:19
阅读次数:
123
![](https://images2018.cnblogs.com/blog/1348769/201807/1348769-20180723210453983-1459121401.png) ``` int BinarySearch(int a[], const int &x, int lef, ... ...
分类:
其他好文 时间:
2018-07-23 22:02:08
阅读次数:
158
1.入门水题 2.初级 3.中级 4.高级 ...
分类:
其他好文 时间:
2018-02-09 14:50:07
阅读次数:
269
二分检索函数lower_bound()和upper_bound() 一、说明 头文件:<algorithm> 二分检索函数lower_bound()和upper_bound() lower_bound():找到大于等于某值的第一次出现upper_bound():找到大于某值的第一次出现必须从小到大排 ...
分类:
其他好文 时间:
2017-06-08 10:29:59
阅读次数:
155
对于时间复杂度,我一直搞不清楚是什么回事,或者说处于最简单的计算方式上: 常数阶O(1), 对数阶O(log2n), 线性阶O(n), 线性对数阶O(nlog2n), 平方阶O(n^2), 立方阶O(n^3),..., k次方阶O(n^k), 指数阶O(2^n) 。 ...
分类:
其他好文 时间:
2016-11-13 21:56:07
阅读次数:
280
From: http://blog.jobbole.com/73517/ 二分检索是查找有序数组最简单然而最有效的算法之一。现在的问题是,更复杂的算法能不能做的更好?我们先看一下其他方法。 有些情况下,散列整个数据集是不可行的,或者要求既查找位置,又查找数据本身。这个时候,用哈希表就不能实现O(1) ...
分类:
其他好文 时间:
2016-10-21 10:16:14
阅读次数:
197
上图是while循环 上图是带if/else的while循环 上图是递归概念演示 上图是递归代码演示 上图是递归求斐波那契 上图是递归求阶乘 上图是按值传递和按引用传递的区别 上图是二分检索树 上图是线性检索和二分检索求 1 的位置 上图是线性检索和二分检索求 23 的位置 ...
分类:
编程语言 时间:
2016-07-20 19:07:04
阅读次数:
219
其实,二分法真的不那么简单,尤其是二分法的各个变种。 最最简单的二分法,就是从一个排好序的数组之查找一个key值。 如下面的程序:int search(int *arr, int n, int key)
{
int left = 0, right = n-1;
while(left<=right) {
int mid = left + ((right - left)...
分类:
其他好文 时间:
2015-07-31 21:55:02
阅读次数:
126