![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
聆回
吾是一个普通之门人
展开
-
二分查找
二分查找是一个基础的算法,也是面试中常考的一个知识点。二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键,就在左子数组继续查找;如果大于中间键,就在右子数组中查找,否则中间键就是要找的元素。(图片来自《算法-第4版》) /** * 二分查找,找到该值在数组中的下标,否则为-1 */staticint binarySerach(int[]array, int key) { ...转载 2018-07-13 14:29:42 · 233 阅读 · 0 评论 -
C++实现快速排序
快速排序的C++实现 int Partition(int a[], int low, int high){ int x = a[high];//将输入数组的最后一个数作为主元,用它来对数组进行划分 int i = low - 1;//i是最后一个小于主元的数的下标 for (int j = low; j < high; j++)//遍历下标由low到h...原创 2018-07-13 14:49:09 · 537 阅读 · 0 评论 -
DP(动态规划)进阶
一些非典型的动态规划串讲: •状态压缩进阶 •期望概率进阶 •数位DP •换根DP •基环树DP 主要是介绍思想,要提升必须靠练习状态压缩•什么是状态压缩呢•当一道题的状态很复杂,但是很少的时候,我们考虑暴力的状态表示出来•绝大部分状压 DP 压缩的都是二进制,用来表示某些东西取/没取 这样的状态。•指数级复杂度,适用于数据范围较小的题目•通常会出现在棋盘问题中...原创 2019-03-02 22:01:36 · 810 阅读 · 0 评论 -
C++多态(静多态和动多态)
如今的C++已经是个多重泛型编程语言(multiparadigm programming lauguage),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。 这些能力和弹性使C++成为一个无可匹敌的工具,但也可能引发使用者的某些迷惑,比如...转载 2019-03-24 11:17:33 · 965 阅读 · 0 评论