随笔分类 - 算法
摘要:第一题: 问题名称:整数划分问题。 问题描述:正整数n可以表示为一系列正整数之和:n = n1 + n2 + ... + nk (k>=1, n1>=n2>=nk ),则称这种表示为正整数n的划分,不同的这种表示的个数称为正整数n的划分数,记为p(n)。在所有划分中,将最大加数n1不大于m的划分数,
阅读全文
摘要:组合问题中的贪心法: 0-1背包问题: 背包问题(按照价值密度贪心准则,可以达到最优解): 活动安排问题: 在一个会场中,安排一批活动,活动的时间可能重复,要求计算出最多能够安排的活动数。 输入:第一行为活动数n。后面则有n行,每一行为活动开始时间和结束时间。 输出:最大活动安排数。 算法分析: 先
阅读全文
摘要:首先,溯字:(su:4声)。 所有代码中的i是指:解向量的层数。 学习要点: 1.回溯法概述 问题的解空间、两类典型的解空间 解向量:问题的解可以表示成n元(x1, x2, ..., xn)的解向量形式。 而解空间是指:由于xi的不同取值,所有解向量组成的集合。解空间树:若xi有Si种取值,则最后一
阅读全文
摘要:扩展结点:当前结点。 活节点:扩展结点的所有儿子中,经过限界剪枝后剩下的儿子。 分支限界法: 分支:当前扩展结点一次性,产生所有儿子。 限界:在结点扩展的过程中,通过计算结点的上界或下界来大量剪掉树的不合格分支,从而提高搜索效率。极大化问题: 广度优先策略(队列式分支限界法): 由于活结点表是队列,
阅读全文
摘要://Header.h //Functions.cpp //Main.cpp
阅读全文
摘要:第一题: 问题名称:统计页码数字问题。 问题描述:给定一个数n,计算从0到n出现过多少次0,1,2,...,9。数字n开头不能有0,如6不能表示为06或006。 数据输入:数据输入由input.txt文件提供。每个文件只有1行,给出数字n。 结果输出:将输出结果保存到output.txt文件中。每个
阅读全文
摘要:基本概念: 某个结点的度:该结点的子树个数; 树的度:该树中的任意结点的度的最大值; 高度:叶子结点高度为1,根结点高度最高; 森林:多个树组成。 n个结点的二叉树,有2n个链域(左一个,右一个),非空链域n-1个,空链域n+1个。 树的子树的个数没有限制(但是子树之间一定没有相交)。 树的转换:
阅读全文