算法设计
文章平均质量分 64
以实际算法题目为例,分析,讲解,归纳重难点,以提高实际算法设计能力的专栏
中南老康康
这个作者很懒,什么都没留下…
展开
-
路径之谜(Java,DFS)
有时是可以的,比如上图中的例子。为了方便表示,我们约定每个小格子用一个数字代表,从西北角开始编号: 0,1,2,3 ⋯⋯。第一行一个整数 �N (0≤�≤200≤N≤20),表示地面有 �×�N×N 个方格。本题的要求就是已知箭靶数字,求骑士的行走路径(测试数据保证路径唯一)第二行 �N 个整数,空格分开,表示北边的箭靶上的数字(自西向东)第三行 �N 个整数,空格分开,表示西边的箭靶上的数字(自北向南)小明冒充 �X 星球的骑士,进入了一个奇怪的城堡。输出一行若干个整数,表示骑士路径。原创 2023-04-27 20:20:28 · 188 阅读 · 1 评论 -
双向搜索算法(基于深度优先搜索算法的优化)
这种算法通常用于搜索问题,其中起点和终点之间的距离较远,而搜索空间较大,例如在图形搜索、字符串匹配和游戏搜索中。双向搜索算法的应用非常广泛,例如在图形搜索中,可以从起点和终点同时开始搜索,以找到最短路径。4. 可能会忽略一些解:深度优先算法只会搜索一条路径,如果存在多个解决方案,但是它们不在同一条路径上,那么深度优先算法可能会忽略其中一些解决方案。3. 空间复杂度高:深度优先算法需要使用递归或者栈来保存搜索过程中的状态,因此在搜索深度较大的情况下,空间复杂度会很高,可能会导致内存溢出。原创 2023-04-26 23:12:42 · 1227 阅读 · 0 评论 -
魔方旋转问题(蓝桥杯)
可以对魔方旋转的过程做到极好的模拟。使用cube类,包含三个参数x,y,z 分别表示当前块在不同轴上的颜色,用0-5表示从绿到黄的颜色数值。假设我们规定,只能对该魔方进行 3 种操作。xyz 则表示顺序执行 x,y,z 3 个操作。输出距离我们最近的那个小方块的 3 个面的颜色。x 表示在 x 轴正向做顺时针旋转;y 表示在 y 轴正向做顺时针旋转;z 表示在 z 轴正向做顺时针旋转;魔方可以对它的 6 个面自由旋转。顺序是:x 面,y 面,z 面。输入一个串,表示操作序列。原创 2023-04-25 21:24:40 · 278 阅读 · 1 评论