![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
Wookkkkkk
这个作者很懒,什么都没留下…
展开
-
分治法--归并排序,快速排序,求排列的逆序数
分治法:分治法(divide-and-conquer):将原问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问题的解。 分治模式在每一层递归上都有三个步骤:分解(Divide):将原问题分解成一系列子问题; 解决(conquer):递归地解各个子问题。若子问题足够小,则直接求解; 合并(Combine):将子问题的结果合并成原...原创 2018-05-01 15:08:04 · 1546 阅读 · 1 评论 -
贪心法--汽车加油问题,硬币问题,喷水装置,会场安排问题,独木舟上的旅行,阶乘之和
贪心算法基本思想:贪心算法总是做出在当前看来是最好的选择,并不会从总体去最优考虑。虽然贪心算法不会对所有问题找到最优,但是有时候会得到最优解的近似解。贪心算法的基本要素:1,贪心选择性质:指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。(这是贪心算法和动态规划的主要区别)2,最优子结构:当一个问题包含其子问题的最优解是称此问题具有最优子结构性质。 ...转载 2018-12-05 17:42:06 · 806 阅读 · 0 评论 -
动态规划--数字三角形,最长上升子序列,最长公共子序列
本文部分内容转载自https://blog.csdn.net/baidu_28312631/article/details/47418773 动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看...转载 2018-12-05 17:43:47 · 344 阅读 · 0 评论 -
将一个自然数m分解为n个不同的自然数之和(积)
注意:要求为n个不同的数之和(积)。1.将一个自然数m分解为n个不同的自然数之和:/*样例输入5 2样例输出case: 11 4===============================case: 22 3===============================可能的结果数为:2*//*样例输入14 4样例输出case: 11 2 3 8===...原创 2018-10-25 15:09:26 · 3887 阅读 · 1 评论 -
STL容器与数据结构的对应关系
红黑树是什么:https://www.cnblogs.com/skywang12345/p/3245399.html以下内容转载自https://blog.csdn.net/hudfang/article/details/52934130 STL中的常用容器包括:顺序性容器(vector、deque、list)、关联容器(map、set)、容器适配器(queue、stac)。1、关...转载 2018-10-26 20:12:36 · 1549 阅读 · 0 评论 -
DFS模板以及例题——油田,数房子,全球变暖(用DFS求连通块)
首先是DFS模板套路: void DFS(...)//v是顶点{ 访问结点相关操作; for(从结点的第一个相邻接点;结点没有相邻接点了即终止条件;下一个相邻结点) { if(相邻结点满足条件如未访问过) { 对相邻结点调用DFS(); } } return;} int ...原创 2018-11-18 16:01:21 · 329 阅读 · 0 评论 -
蓝桥杯-快速排序
排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。#include<iostream>using namespace std;#include &...原创 2018-05-04 23:41:40 · 262 阅读 · 0 评论