摘要:
一、对回溯算法的理解 通过使用循环或者递归,并加以条件限制,简单来说就是穷举法加条件限制。通常按照深度优先来搜索,并不断地回溯再搜索,最终确定解。难点在于如何确定下来搜索的结构以及如何断定是否减枝即确定剪枝函数。 回溯法的基本步骤可总结为: (1)针对所给问题,定义问题的解空间 (2)确定易于搜索的 阅读全文
摘要:
1. 实践题目:工作分配问题 2. 问题描述: 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数, 阅读全文
摘要:
1、对动态规划算法的理解: 我对动态规划的理解是见一步走一步,将上一步的结果保存,再进行下一步。思想是将主问题分解成若干个子问题,先求解子问题的解,再通过子问题的解来求出主问题的解。 2、编程题一的递归方程: dp[1]=1,dp[i] = max( dp[i], dp[j] + 1 ) ( j < 阅读全文
摘要:
1、实践题目 最优合并问题 2、问题描述 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确 阅读全文
摘要:
1.你对贪心算法的理解(2分) 贪心算法在每次做选择的时候并不从整体最优上加以考虑,它所作出的选择只是当前状态下的最好选择。能用贪心算法解决的问题要具有这两个性质:贪心选择性质和最优子结构性质。 贪心选择性质就是问题的整体最优解可以通过一系列的局部最优的选择,即贪心选择来达到。证明这个性质可以用反证 阅读全文