1. (N阶梵塔) 有K根棒,第一根上放N片大小不等的圆盘,并保持上小下大的
顺序。现将N片圆盘从第1根移至第K根,移动中均保持上小下大的顺序,问最少 移几次方得结果,求出移动方案。
2. 某一印刷厂有六项加工任务,对印刷车间和装订车间所需时间见下表(时间单 位:天) 任务 │J1 J2 J3 J4 J5 J6
─────┼───────────────
印刷车间│ 3 12 5 2 9 11
装订车间│ 8 10 9 6 3 1
如何安排加工顺序,使加工时间最少。
3. 将7万元投资到A,B,C三项目上,其利润见下表:
投资额(万元)│ 1 2 3 4 5 6 7
──────┼────────────────────
项 A │0.11 0.13 0.15 0.24 0.24 0.30 0.35
B │0.12 0.16 0.21 0.25 0.25 0.29 0.34
目 C │0.08 0.12 0.20 0.26 0.26 0.30 0.35
如何分配投资额,使获得的利润最大。
4. 无根树与通常所说的树(有根树)很相似,它包含有节点和枝,但不含有根。 无根树节点之间只有相邻关系。如图一所示,是一棵有七个节点的无根树,以图一 的A为根节点得到图二所示的有根树,以B为根节点得到图三所示的有根树,但从 无根树的角度看,图一、
二、三是结构相同的无根树,同时无根树的结构与节点的 名称无关。
有根树可以用字符串的形式表示,其递归表示方法是:
根节点(子树1 子树2 子树3...)
图一,图二的有根树可表示为 A(B(CF(EGD))) 和 B(ACF(EGD))。由于子树的表示 顺序可以不同,所以一棵有根树可以有多种表示方法,如图三又可表示成
B(F(EGD)CA) 或 B(ACF(DE(G)) 等。表示无根树时,可以以它任一节点为根节点, 将其看作有根树,从而可以利用有根树的字符串表示形式来表示无根树。
任务一:由键盘读入一个字符串表示的无根树,无根树的各节点的名称用互不 相同的大写英文字母表示。由用户输入一个节点的名称,程序应能够输出一种以该
节点为根节点的字符串形式。程序输出无根树的字符串形式时,各个节点的名称无 关紧要,所有节点都以P表示,以后的各种输出也采用这种形式。例如:输入无根 树的字符串形式:A(B(CD(EF))),指定根节点为D,程序应能输出 P(P(PP)PP),P(PP(PP)P),P(PPP(PP))中的任意 一种即可。
任务二:输入两个串表示的无根树,判断其结构是否一样。注意它与节点名称 无关,只考虑结构。