算法
码海淹没的小强
每天一点进步。
展开
-
template,模板函数的含义和用法
c++集合了过程式语言,通用语言,面向对象语言的众多特点。模板是通用语言的特性,模板又叫参数化类型(parametrized types)。模板的定义。以下是模板定义的一般格式:template <class any>//class 也可以换成typename,后者是新来的。 void swap(any &a,any &b) { ...... ...原创 2019-10-02 20:19:37 · 2079 阅读 · 0 评论 -
简单的递归——阶乘,斐波那契
本分类只是对于算法的体现或是自己简单的理解,没有过多的概念,个人练习。1.阶乘#include<iostream>using namespace std;int factoral(int n)//阶乘{ if(n==0)return 1; return n*factoral(n-1); } int main(){ int x; cin>>x;...原创 2019-10-02 20:28:15 · 388 阅读 · 0 评论 -
简单的递归——全排列
本分类只是对于算法的体现或是自己简单的理解,没有过多的概念,个人练习。#include <iostream> using namespace std;int n=0;//横向递归,逐个求解子问题,纵向递归,解决子问题 inline void Swap(char *a ,char *b){ int temp = *a; *a = *b; *b = m;} ...原创 2019-10-02 22:09:47 · 167 阅读 · 0 评论 -
简单递归——整数划分
正整数 n 的这种表示称为正整数 n 的划分。求正整数 n 的不同划分个数。例如正整数6有如下11种不同的划分:6;5+1;4+2,4+1+1;3+3,3+2+1,3+1+1+1;2+2+2,2+2+1+1,2+1+1+1+1;1+1+1+1+1+1。如果设p(n)为正整数n的划分数,则难以找到递归关系,因此考虑增加...原创 2019-10-03 09:54:04 · 247 阅读 · 0 评论 -
简单递归——Hanoi
设a, b, c是三个塔座,开始时,a上有n个圆盘,自上而下,由大到小,圆盘编号从1-n,现在要将这些圆盘从a移动到b顺序不变。移动规则:1.每次只能移动一个。2.任何情况大的不能在小的下面。3.满足1,2情况下,可以在abc上任意移动。#include<iostream>using namespace std;int total=0;void hanoi(int n,...原创 2019-10-03 23:08:09 · 341 阅读 · 0 评论 -
动态规划--切钢筋问题
钢条切割问题:某公司购买长钢条,将其切割为短钢条出售。切割工序本身没有成本支出。公司管理层希望知道最佳的切割方案。假设我们知道该公司出售一段长度为i英寸的钢条的价格为Pi(i=1,2,3,....)钢条的长度均为整数。下面给出一个价格表的样例长度i 1 2 3 4 5 6 7 8 9 10 价格Pi 1 5 8 9 10 17 17 20 24 30...原创 2019-10-07 10:23:24 · 878 阅读 · 0 评论