- 博客(136)
- 资源 (18)
- 收藏
- 关注
原创 算法设计与分析: 6-24 最长距离问题
6-24 最长距离问题问题描述重排九宫是一个古老的单人智力游戏。据说重排九宫起源于我国古时由三国演义故事“关羽义释曹操”而设计的智力玩具“华容道”,后来流传到欧洲,将人物变成数字。原始 的重排九宫问题是这样的:将数字 1~8 按照任意次序排在 3×33×33\times3 的方格阵列中,留下一个空 格。与空格相邻的数字,允许从上,下,左,右方向移动到空格中。游戏的最终目标是通过 合法移...
2018-07-25 19:26:56 1330 2
原创 算法设计与分析: 6-23 重排n²宫问题
6-23 重排n²宫问题问题描述重排九宫是一个古老的单人智力游戏。据说重排九宫起源于我国古时由三国演义故事“关羽义释曹操”而设计的智力玩具“华容道”,后来流传到欧洲,将人物变成数字。原始 的重排九宫问题是这样的:将数字 1~8 按照任意次序排在 3×33×33\times3 的方格阵列中,留下一个空格。与空格相邻的数字,允许从上,下,左,右方向移动到空格中。游戏的最终目标是通过 合法移...
2018-07-25 18:17:57 567 1
原创 算法设计与分析: 6-22 行列变换问题
6-22 行列变换问题问题描述给定 2 个 m×nm×nm\times n 方格阵列组成的图形 A 和 B,每个方格的颜色为黑色或白色。行列变换问题的每一步变换可以交换任意 2 行或 2 列方格的颜色,或者将某行或某列颠倒。上述每次 变换算作一步。试设计一个算法,计算最少需要多少步,才能将图形 A 变换为图形 B。对于给定的 2 个方格阵列,编程计算将图形 A 变换为图形 B ...
2018-07-25 14:00:50 2050
原创 算法设计与分析: 6-21 图形变换问题
6-21 图形变换问题问题描述给定 2 个 4×44×44\times4 方格阵列组成的图形 A 和 B,每个方格的颜色为黑色或白色。方格阵列中有公共边的方格称为相邻方格。图形变换问题的每一步变换可以交换相邻方格的颜色。试 设计一个算法,计算最少需要多少步变换,才能将图形 A 变换为图形 B。对于给定的 2 个方格阵列,编程计算将图形 A 变换为图形 B 的最少变换次数。数...
2018-07-25 12:26:47 702
原创 算法设计与分析: 6-20 推箱子问题
6-20 推箱子问题问题描述码头仓库是划分为 n×m 个格子的矩形阵列。有公共边的格子是相邻格子。当前仓库中 有的格子是空闲的;有的格子则已经堆放了沉重的货物。由于堆放的货物很重,单凭仓库管 理员的力量是无法移动的。仓库管理员有一项任务,要将一个小箱子推到指定的格子上去。 管理员可以在仓库中移动,但不能跨过已经堆放了货物的格子。管理员站在与箱子相对的空 闲格子上时,可以做一次推动,把箱...
2018-07-25 11:37:16 4631
原创 算法设计与分析: 6-19 骑士征途问题
6-19 骑士征途问题问题描述在一个 n*n 个方格的国际象棋棋盘上,马(骑士)从任意指定方格出发,按照横 1 步竖2 步,或横 2 步竖 1 步的跳马规则,走遍棋盘的每一个格子,且每个格子只走 1 次。这样的 跳马步骤称为 1 个成功的骑士征途。例如,当 n=5 时的 1 个成功的骑士征途如下图所示。 对于给定的 n 和 n*n 方格的起始位置 x 和 y。用分支限界法找出从指...
2018-07-24 23:58:50 901
原创 算法设计与分析: 6-18 一般解空间的优先队列式分支限界法
6-18 一般解空间的优先队列式分支限界法问题描述试设计一个用优先队列式分支限界法搜索一般解空间的函数。该函数的参数包括结点可 行性判定函数和上界函数等必要的函数,并将此函数用于解布线问题。 印刷电路板将布线区域划分成 n×m 个方格阵列如图(a)所示。精确的电路布线问题要求 确定连接方格 a 的中点到方格 b 的中点的最短布线方案。在布线时,电路只能沿直线或直角布线,如图(b)所示...
2018-07-24 21:11:51 1881
原创 算法设计与分析: 6-17 排列空间树问题(优先队列)
6-17 排列空间树问题(优先队列)问题描述试设计一个用优先队列式分支限界法搜索排列空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解批处理作业调度问题。 给定n个作业的集合J={J1,J2,...,Jn}J={J1,J2,...,Jn}J =\{J_1,J_2,...,J_n\}。每一个作业JiJiJ_i都有2项任务分别在2台机器上完成。每个作...
2018-07-24 20:34:08 1781
原创 算法设计与分析: 6-16 子集空间树问题(优先队列)
6-16 子集空间树问题(优先队列)问题描述试设计一个用优先队列式分支限界法搜索子集空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解 0-1 背包问题。 0-1 背包问题描述如下:给定 n 种物品和一背包。物品 i 的重量是 wiwiw_i ,其价值为vivi v_i ,背包的容量为 C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最...
2018-07-24 17:52:20 2877
原创 算法设计与分析: 6-15 一般解空间的队列式分支限界法
6-15 一般解空间的队列式分支限界法问题描述试设计一个用队列式分支限界法搜索一般解空间的函数。该函数的参数包括结点可行性 判定函数和上界函数等必要的函数,并将此函数用于解布线问题。 印刷电路板将布线区域划分成 n×m 个方格阵列如图(a)所示。精确的电路布线问题要求 确定连接方格 a 的中点到方格 b 的中点的最短布线方案。在布线时,电路只能沿直线或直角 布线,如图(b)所示。为了...
2018-07-24 14:05:14 1434
原创 算法设计与分析: 6-14 排列空间树问题
6-14 排列空间树问题问题描述试设计一个用队列式分支限界法搜索排列空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解电路板排列问题。 电路板排列问题是大规模电子系统设计中提出的实际问题。该问题的提法是,将 n 块电 路板以最佳排列方案插入带有 n 个插槽的机箱中。n 块电路板的不同的排列方式对应于不同的电路板插入方案。 设B={1,2,....
2018-07-24 12:46:03 2027
原创 算法设计与分析: 6-13 子集空间树问题
6-13 子集空间树问题问题描述试设计一个用队列式分支限界法搜索子集空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解装载问题。 装载问题描述如下:有一批共 n 个集装箱要装上艘载重量为 c 的轮船,其中集装箱 i 的重量为 wiwiw_i 。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。...
2018-07-24 11:44:59 3133
原创 算法设计与分析: 6-12 世界名画陈列馆问题
6-12 世界名画陈列馆问题问题描述世界名画陈列馆由m×nm×nm \times n 个排列成矩形阵列的陈列室组成。为了防止名画被盗,需要在陈列室中设置警卫机器人哨位。每个警卫机器人除了监视它所在的陈列室外,还可以监视与 它所在的陈列室相邻的上、下、左、右 4 个陈列室。试设计一个安排警卫机器人哨位的算法, 使得名画陈列馆中每一个陈列室都在警卫机器人的监视之下,且所用的警卫机器人数最少...
2018-07-24 10:59:19 4645 1
原创 算法设计与分析: 6-11 无优先级运算问题
6-11 无优先级运算问题问题描述给定 n 个正整数和 4 个运算符+、-、*、/,且运算符无优先级,如 2+3*5=25。对于任意给定的整数 m,试设计一个算法,用以上给出的 n 个数和 4 个运算符,产生整数 m, 且用的运算次数最少。给出的 n 个数中每个数最多只能用 1 次,但每种运算符可以任意使用。对于给定的 n 个正整数,设计一个优先队列式分支限界法,用最少的无优先...
2018-07-24 10:13:44 5146
原创 算法设计与分析: 6-10 最佳调度问题
6-10 最佳调度问题问题描述假设有 n 个任务由 k 个可并行工作的机器完成。完成任务 i 需要的时间为titit_i 。试设计一个算法找出完成这 n 个任务的最佳调度,使得完成全部任务的时间最早。对任意给定的整数 n 和 k,以及完成任务 i 需要的时间为titit_i ,i=1~n。设计一个优先队列式分支限界法,计算完成这 n 个任务的最佳调度。数据输入: 第一行有 2 个...
2018-07-23 23:58:19 2775 2
原创 算法设计与分析: 6-9 布线问题
6-9 布线问题问题描述假设要将一组元件安装在一块线路板上,为此需要设计一个线路板布线方案。各元件的连线数由连线矩阵 conn 给出。元件 i 和元件 j 之间的连线数为 conn(i,j)。如果将元件 i 安装 在线路板上位置 r 处,而将元件 j 安装在线路板上位置 s 处,则元件 i 和元件 j 之间的距离 为 dist(r,s)。确定了所给的 n 个元件的安装位置,就确定了一个布线...
2018-07-23 23:37:32 3528 1
原创 算法设计与分析: 6-8 圆排列问题
6-8 圆排列问题问题描述给定 n 个大小不等的圆 c1,c2,...,cnc1,c2,...,cnc_1 , c_2 , ... , c_n ,现要将这 n 个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从 n 个圆的所有排列中找出有最小长度的圆排列。例如,当 n=3,且所给的 3 个圆的半径分别为 1,1,2 时,这 3 个圆的最小长度的圆排列如图所示。其最小长...
2018-07-23 23:13:06 2412
原创 算法设计与分析: 6-7 n皇后问题
6-7 n皇后问题问题描述在 n×n 格的棋盘上放置彼此不受攻击的 n 个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 后问题等价于在 n×n 格的棋盘上放置 n 个皇后,任何 2 个皇后不放在同一行或同一列或同一斜线上。设计一个解 n 后问题的队列式分支限界法,计算在 n×nn×nn \times n 个方格上放置彼此不受攻击的 n 个皇后的...
2018-07-23 22:10:25 2630
原创 算法设计与分析: 6-6 运动员最佳配对问题
6-6 运动员最佳配对问题问题描述羽毛球队有男女运动员各 n 人。给定 2 个 n×n 矩阵 P 和 Q。P[i][j]是男运动员 i 和女运动员 j 配对组成混合双打的男运动员竞赛优势;Q[i][j]是女运动员 i 和男运动员 j 配合的女运 动员竞赛优势。由于技术配合和心理状态等各种因素影响,P[i][j]不一定等于 Q[j][i]。男运 动员 i 和女运动员 j 配对组成混合...
2018-07-23 20:57:53 4393
原创 算法设计与分析: 6-5 最小重量机器设计问题
6-5 最小重量机器设计问题问题描述设某一机器由 n 个部件组成,每一种部件都可以从 m 个不同的供应商处购得。设 wijwijw_{ij} 是从供应商 j 处购得的部件 i 的重量, cijcijc_{ij} 是相应的价格。 设计一个优先队列式分支限界法,给出总价格不超过 d 的最小重量机器设计。对于给定的机器部件重量和机器部件价格,设计一个优先队列式分支限界法,计算总价格...
2018-07-23 20:18:47 2688
原创 算法设计与分析: 6-4 无向图的最大割问题
6-4 无向图的最大割问题问题描述给定一个无向图 G=(V,E),设 U⊆VU⊆VU\subseteq V 是 G 的顶点集。对任意(u,v)∈E,若有 u∈U 且v∈V-U,就称(u,v)为关于顶点集 U 的一条割边。顶点集 U 的所有割边构成图 G 的一个割。 G 的最大割是指 G 中所含边数最多的割。对于给定的无向图 G,设计一个优先队列式分支限界法,计算 G 的最大割。...
2018-07-23 19:29:58 3877
原创 算法设计与分析: 6-3 最小权顶点覆盖问题
6-3 最小权顶点覆盖问题问题描述给定一个赋权无向图 G=(V,E),每个顶点 v∈V 都有一个权值 w(v)。如果 U⊆VU⊆VU\subseteq V,且对任意(u,v)∈E 有 u∈U 或 v∈U,就称 U 为图 G 的一个顶点覆盖。G 的最小权顶点覆盖是指 G 中所含顶点权之和最小的顶点覆盖。对于给定的无向图 G,设计一个优先队列式分支限界法,计算 G 的最小权顶点覆盖。...
2018-07-23 16:00:41 7695 5
原创 算法设计与分析: 6-2 最小长度电路板排列问题(优先队列)
6-2 最小长度电路板排列问题(优先队列)问题描述最小长度电路板排列问题是大规模电子系统设计中提出的实际问题。该问题的提法是,将 n 块电路板以最佳排列方案插入带有 n 个插槽的机箱中。n 块电路板的不同的排列方式对 应于不同的电路板插入方案。 设B={1,2,...,n}B={1,2,...,n}B=\{1,2,...,n\}是n块电路板的集合。集合L={N1,N2,...,N...
2018-07-23 13:27:26 5396 2
原创 算法设计与分析: 6-1 最小长度电路板排列问题(队列)
6-1 最小长度电路板排列问题(队列)问题描述最小长度电路板排列问题是大规模电子系统设计中提出的实际问题。该问题的提法是,将 n 块电路板以最佳排列方案插入带有 n 个插槽的机箱中。n 块电路板的不同的排列方式对 应于不同的电路板插入方案。 设B={1,2,...,n}B={1,2,...,n}B=\{1,2,...,n\}是n块电路板的集合。集合L={N1,N2,...,Nm}L=...
2018-07-23 11:54:12 4558
原创 算法设计与分析: 5-37 n²-1谜问题
5-37 n²-1谜问题问题描述重排九宫是一个古老的单人智力游戏。据说重排九宫起源于我国古时由三国演义故事“关羽义释曹操”而设计的智力玩具“华容道”,后来流传到欧洲,将人物变成数字。原始 的重排九宫问题是这样的:将数字 1~8 按照任意次序排在 3×33×33\times3 的方格阵列中,留下一个空 格。与空格相邻的数字,允许从上,下,左,右方向移动到空格中。游戏的最终目标是通过 合法...
2018-07-22 19:52:15 438 1
原创 算法设计与分析: 5-36 最短加法链问题
5-36 最短加法链问题问题描述最优求幂问题:给定一个正整数n和一个实数x,如何用最少的乘法次数计算出xnxnx^n 。 例如,可以用 6 次乘法逐步计算 x23x23x^{23} 如下: x,x2,x3,x5,x10,x20,x23x,x2,x3,x5,x10,x20,x23x , x^2 , x^3 , x^5 , x^{10} , x^{20} , x^{23} 。可以证明 计算...
2018-07-22 17:42:18 5288
原创 算法设计与分析: 5-35 一般解空间搜索问题
5-35 一般解空间搜索问题问题描述试设计一个用回溯法搜索一般解空间的函数。该函数的参数包括:生成解空间中下一扩展结点的函数、结点可行性判定函数和上界函数等必要的函数,并将此函数用于解图的 m 着色问题。 图的 m 着色问题描述如下:给定无向连通图 G 和 m 种不同的颜色。用这些颜色为图 G 的各顶点着色,每个顶点着一种颜色。如果有一种着色法使 G 中每条边的 2 个顶点着不同颜 ...
2018-07-22 16:19:00 1708
原创 算法设计与分析: 5-34 排列树问题
5-34 排列树问题问题描述试设计一个用回溯法搜索排列空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解圆排列问题。 圆排列问题描述如下:给定 n 个大小不等的圆 c1,c2,...,cnc1,c2,...,cnc_1 , c_2 , ... , c_n ,现要将这 n 个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从 n 个...
2018-07-22 15:53:52 1204
原创 算法设计与分析: 5-33 0-1背包问题
5-33 0-1背包问题问题描述试设计一个用回溯法搜索子集空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解 0-1 背包问题。 0-1 背包问题描述如下:给定 n 种物品和一个背包。物品 i 的重量是 wiwiw_i ,其价值为vivi v_i ,背包的容量为 C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 在选择装入背包的...
2018-07-22 15:10:13 595
原创 算法设计与分析: 5-32 子集树问题
5-32 子集树问题问题描述试设计一个用回溯法搜索子集空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解装载问题。 装载问题描述如下:有一批共 n 个集装箱要装上艘载重量为 c 的轮船,其中集装箱 i 的重量为 wi 。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。第一行有 2 个正整数 n...
2018-07-22 14:00:01 1461
原创 算法设计与分析: 5-31 喷漆机器人问题
5-31 喷漆机器人问题问题描述F 大学开发出一种喷漆机器人 Rob,能用指定颜色给一块矩形材料喷漆。Rob 每次拿起一种颜色的喷枪,为指定颜色的小矩形区域喷漆。喷漆工艺要求,一个小矩形区域只能在所 有紧靠它上方的矩形区域都喷过漆后,才能开始喷漆,且小矩形区域开始喷漆后必须一次性 喷完,不能只喷一部分。为 Rob 编写一个自动喷漆程序,使 Rob 拿起喷枪的次数最少。对于给定的...
2018-07-22 12:25:34 1416 1
原创 算法设计与分析: 5-30 离散0-1串问题
离散0-1串问题问题描述(n,k)01 串定义为:长度为 n 的 01 串,其中不含 k 个连续的相同子串。对于给定的正整数 n 和 k,计算(n,k)01 串的个数。数据输入: 第一行有 2 个正整数 n 和 k,1≤k,n≤40。Javapackage Chapter5HuiSuFa;import java.util.Scanner;publi...
2018-07-22 09:59:19 524
原创 算法设计与分析: 5-29 完备环序列问题
5-29 完备环序列问题问题描述长度为 n 的环序列定义为含有 n 个互不相同的元素且首尾相接的环状序列。如果环序列中连续若干个数的和能形成一个连续的整数序列 1,2,…,m,则称该环序列为一个完备的 (n,m)序列。对于给定的 n,计算存在完备(n,m)序列的 m 的最大值。同时,计算出有多少个 不同的完备(n,m)序列。对于给定的正整数 n,计算存在完备(n,m)序列的 m 的...
2018-07-22 09:41:39 358
原创 算法设计与分析: 5-28 虫蚀算式问题
5-28 虫蚀算式问题问题描述虫蚀算式是指古书中算式的一部分被虫蛀了。虫蚀算式问题是根据虫蚀算式剩下的数字,逻辑推断被虫蛀了的数字。例如, 43?98650?45+8468?66334444550697843?98650?45+8468?663344445506978\dfrac{43?98650?45\\ + 8468?6633} {4...
2018-07-22 01:19:59 1943
原创 算法设计与分析: 5-27 部落卫队问题
5-27 部落卫队问题问题描述原始部落 byteland 中的居民们为了争夺有限的资源,经常发生冲突。几乎每个居民都有他的仇敌。部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入 伍,并保证队伍中任何 2 个人都不是仇敌。给定 byteland 部落中居民间的仇敌关系,编程计算组成部落卫队的最佳方案。数据输入: 第 1 行有 2 个正整数 n 和 m,表示...
2018-07-21 23:15:21 2010
原创 算法设计与分析: 5-26 多轨车皮编序问题
5-26 多轨车皮编序问题问题描述在一个列车调度站中,k 条轨道连接到 k 条侧轨处,形成 k 个铁路转轨栈,从左到右依次编号为 1,2,…,k。其中左边轨道为车皮入口,编号为 0;右边轨道为出口,编号为 k+1。 当 k=2 时,如下图所示。编号为 1,2,…,n 的 n 个车皮散乱地停放在编号为 0,1,2,…, k 的栈轨处。调度室要安排各车皮进出栈次序,使得在出口处各车皮按照其...
2018-07-21 22:24:37 487
原创 算法设计与分析: 5-25 双轨车皮编序问题
5-25 双轨车皮编序问题问题描述在一个列车调度站中,2 条轨道连接到 2 条侧轨处,形成 2 个铁路转轨栈。其中左边轨道为车皮入口,编号为 A;右边轨道为出口,编号为 D,2 个铁路转轨栈分别编号为 C 和 D, 如下图所示。编号为 a,b,…,的 n 个车皮依序停放在车皮入口处。调度室要安排各车皮 进出栈次序,使得在出口处各车皮按照预先指定的顺序依次出站。车皮移动时只能按照从左...
2018-07-21 21:11:10 812
原创 算法设计与分析: 5-24 算m点问题
5-24 算m点问题问题描述给定 k 个正整数,用算术运算符“+”,“-”,“*”,“/”将这 k 个正整数连接起来,使最终的得数恰为 m。对于给定的 k 个正整数,给出计算 m 的算术表达式。数据输入: 第一行有 2 个正整数 k 和 m,表示给定 k 个正整数,且最终的得数恰为 m。接下来的 1 行中,有 k 个正整数。Javapackage Chapte...
2018-07-21 13:05:03 3631
原创 算法设计与分析: 5-23 算24点问题
5-23 算24点问题问题描述给定 4 个正整数,用算术运算符“+”,“-”,“*”,“/”将这 4 个正整数连接起来,使最终的得数恰为 24。对于给定的 4 个正整数,给出计算 24 的算术表达式。数据输入: 第一行有 4 个正整数。Javapackage Chapter5HuiSuFa;import java.util.HashSet;import ja...
2018-07-21 12:11:02 1324
原创 算法设计与分析: 5-22 魔方(Rubik's Cube)问题
5-22 魔方(Rubik’s Cube)问题问题描述3×3×33×3×33\times3\times3 魔方的构造如图所示。图中英文字母 U,L,F,R,B,D 分别表示魔方的 6 个面中的上面,左面,前面,右面,后面,底面。魔方的每个面都可以绕其中轴旋转。给定魔 方的初始状态,可以经过若干次旋转将魔方变换成每个面都只有一种颜色的状态。绕中轴将 一个面旋转 90 度算作一次旋转。试设...
2018-07-21 02:26:59 2154
各种区块链白皮书合集(14种)
2018-08-01
get-pip.py
2015-05-13
算法导论中文版.pdf
2015-02-25
算法导论 英文版 第二版 pdf
2015-02-25
算法导论 第三版英文版 有索引.pdf
2015-02-25
Algorithms 4th Edition
2015-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人