自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 单源最短路径问题

给定带权有向图G=(V,E),其中每条边的权是非负实数。 给定V中的一个顶点,称为源。现在要计算从源到所有其它各顶点的最短路长度,这里路的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。每条边上标注有字母和数字,在字母旁边的数字为路长。算法从优先队列中取出具有最小当前路长的结点作为当前扩展结点,并依次检查与当前扩展结点相邻的所有顶点。剪枝规则:如果从当前扩展结点i到顶点j有边...

2019-11-01 08:41:58 201

原创 素数环

从1到20这20个数摆成一个环,要求相邻的两个数的和是一个素数。【算法流程】1、数据初始化;2、递归填数:判断第i个数填入是否合法;A、如果合法:填数;判断是否到达目标(20个已填完):是,打印结果;不是,递归填下一个;(剪枝条件)B、如果不合法:选择下一种可能#include<cstdio>#include<iostream>#include<cs...

2019-11-01 08:20:42 115

原创 贪心算法

贪心算法和动态规划算法的比较共同点:最优子结构性质是选择类最优解都具有的性质,即全优一定包含局优不同之处:在这里插入代码片贪心算法具有贪心选择特性。贪心算法求得局部最优解(局部最优,不一定是全局最优)动态规划算法从全局最优考虑问题例一:活动安排问题#includeusing namespace std;#define NUM 50void GreedySelector(in...

2019-10-30 13:59:09 81

原创 递归

递归的概念直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。在计算机算法设计与分析中,使用递归技术往往使函数的定义和算法的描述简洁且易于理解。递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。注意:在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口,否则将无限进行下去(死锁)。递归的缺点:递...

2019-10-30 13:39:39 77

原创 动态规划

一、动态规划的基本思想动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。我们希望找到具有最优值的解。基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。二、动态规划问题的特征动态规划算法的有效性依赖于问题本身所具有的两个重要性质:最优子结构:当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。...

2019-10-30 13:35:58 180

原创 递归

递归的概念直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。在计算机算法设计与分析中,使用递归技术往往使函数的定义和算法的描述简洁且易于理解。递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。注意:在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口,否则将无限进行下去(死锁)。递归的缺点:递...

2019-10-30 13:33:16 100

原创 最小生成树

最小生成树的各种算法子图:从原图中选中一些顶点和边组成的图.生成子图:选中一些边和所有顶点组成的图.生成树:正好是一棵树的生成子图.最小生成树:权值之和最小的生成树.Prim算法#include<iostream> using namespace std; const int INF = 1e4; const int N = 100; bool s[N]; int clos...

2019-10-30 13:30:12 70

原创 map

map它提供一对一(其中第一个可以称为key,每个关键字只能在map中出现一次,第二个可称为value)的数据处理能力,什么是一对一的数据映射?比如:一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述, 学号用int 描述,姓名用字符串string描述,于是使用的map形式如下:map<int , string> student; ((i...

2019-10-08 22:31:54 63

原创 set

set标题set的基本原理分析将插入的值(第一个操作数)与树根(第二个操作数)(红黑树,二叉排序树)进行比较,如果返回值是true,则在左子树中进行插入否则在右子树中进行插入#include <iostream> #include <set> using namespace std; int main(){ set<int> s; ...

2019-10-08 22:23:02 71

原创 List

List双向链表 不提供随机存取(按顺序访问需存取的元素,O(n),), 在任何位置上执行插入或删除动作都非常迅速,内部只需调整一下指针;list c0; //空链表list c1(n);list c2(n, value);list c4(c2); //建一个c2的copy链表list c5(c1.begin(),c1.end());从键盘输入10个整数,用这些整数值作为结点数据,...

2019-10-08 22:14:32 123

原创 猴子吃桃

猴子吃桃猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个。第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第10 天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。#include<iostream>using namespace std;int main(){ //f(n 1)=f(n)/2-1; ...

2019-10-08 22:07:14 63

原创 汉诺塔实现

汉诺塔问题移动规则:每次只能移动一个圆盘;圆盘可以插在A、 B和C中的任何一个塔座上;任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。分析边界条件只有一个圆环时,只需将圆环从第一座塔移到第三座塔递归条件1、从第一座塔把n-1个圆环移到第二座塔,用第三座塔做辅助2、从第一座塔把第n个圆环移到第三座塔3、从第二座塔把n-1个圆环移到第三座塔,用第一座塔做辅助#include<iostr...

2019-10-08 22:03:31 121

原创 STL简介

STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。STL是所有C++编译器和所有操作系统平台都支持的一种库STL的组成1)容器容器类是容纳、包含一组元素或元素集合的对象;向量双端队列列表集合、多重集合映射和多重映射 #include <iostream> #include <vector&g...

2019-10-08 21:56:43 109

原创 第一章 算法概述

穷举搜索算法:floyed算法迭代算法:数学函数的迭代求解

2019-10-08 21:06:57 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除