1. 我们采用了回溯法和贪婪策略来求解国际象棋中的骑士巡游问题。对于棋盘中的每个位置最多只有8个方向可以选择,我们可以定义两个数组var_x[MAX_DIR]和var_y[MAX_DIR]用来记录往这8个方向走相对应的坐标变化情况(其中MAX_DIR的值为8)。每走一步,都从方向0开始试探到方向7,而在这里我加入贪婪策略来提高算法的效率,即在选择方向时,我们优先选择具有如下性质的方向:当我们沿着这个方向走一步后,走到这一步后可选的方向最少(最多有8个方向选择)。这样一直往前走, 当走到一个没有方向可以选择,并且我们还没遍历整个棋盘时,我们就要往回退一步,即回溯。再从其他未试探过的方向进行试探,直到最后遍历整个棋盘或者回到起点,程序结束。
上传时间: 2016-06-03
上传用户:lifangyuan12
输入物品的个数和背包的负重大小;程序自动为每个物品的重量和价值赋一个随机值(范围10~80),输出装入背包的物品的总价值最大的值和此时的总物品大小。实现方法:1 回溯法,2 FIFO分枝限界,3 LC分枝限界;
上传时间: 2016-06-06
上传用户:三人用菜
“编译原理与技术”的上机实验要求你对PL/0语言及其编译器进行扩充和修改。每个扩充或修改方式可得到不同的分数,满分为100分。 完成上机作业后,必须提交下列文档: (1) 修改后的PL/0语言文本。包含词法分析(正规式),语法分析(BNF)。 (2) 有关修改后的PL/0编译/解释器的说明。详细说明你的编译器是如何编译新的PL/0语言程序的。指出你的程序中最精彩的部分,以及你为什么这样做,你是如何控制和恢复语义错误的。 (3) 给出你所改动后的编译器源程序清单,并标记出你所修改的部分。比较你的编译器和原来的编译器之间的差别。 (4) 说明你的编译器中可能存在的错误。
上传时间: 2014-01-20
上传用户:waizhang
程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中 可以使用多个队列、树、图等结构来组织数据。同种结构的不同实例,也许只在数据元素 的类型或数量上略有差异,如果对每个实例都重新定义,则非常麻烦且容易出错。那么能 否对同种类型数据结构仅定义一次呢?答案是肯定的,C++提供的类模板(Class Template )就可以实现该功能。
上传时间: 2014-01-19
上传用户:zl5712176
预测程序,包含多个子程序,每个子程序都有详细讲解(计算基于最大李雅谱诺夫方法的预测值)
上传时间: 2013-12-15
上传用户:s363994250
编写一个掷骰子(dice)的程序。骰子的数据包括被掷骰子数目、掷出骰子的总点数和每个骰子的点数。操作包括掷骰子、返回该次投掷的骰子的总点数以及打印所投掷骰子的点数。
上传时间: 2013-12-22
上传用户:bruce
提出了一种新的基于规则的异常检测模型.把系统调用按照功能和危险程度进行了分类,该模型只是针对每类中关键调用(即危险级别为1的系统调用).在学习过程中,动态地处理每个关键调用,而不是对静态的数据进行数据挖掘或统计,从而可以实现增量学习.
上传时间: 2014-01-07
上传用户:onewq
提出了一种新的基于规则的异常检测模型.把系统调用按照功能和危险程度进行了分类,该模型只是针对每类中关键调用(即危险级别为1的系统调用).在学习过程中,动态地处理每个关键调用,而不是对静态的数据进行数据挖掘或统计,从而可以实现增量学习.同时通过预定义,精炼规则,有效地减少了规则数据库中的规则数目,缩减了检测过程中规则的匹配时间.
上传时间: 2014-11-22
上传用户:003030
C++ primer中每个章节后的作业答案源码
上传时间: 2016-06-16
上传用户:sunjet
中南赛区ACM竞赛题 这题可以用Dijkstra的算法做,但是dfs的时间加减枝后也只有15ms,我用的是dfs. 就是遍历每种可行的树,要求每个棵树上的节点的地位都在maxdw,mindw,(最大地位,最小地位)的范围内.
上传时间: 2016-06-21
上传用户:sz_hjbf