小编kaa*_*dar的帖子

将语法和接口作为参数进行操作

我是Go编程语言的新手,最近遇到了以下代码:

func (rec *ContactRecord) Less(other interface{}) bool {
  return rec.sortKey.Less(other.(*ContactRecord).sortKey);
}
Run Code Online (Sandbox Code Playgroud)

但是,我不明白函数签名背后的含义.它接受一个接口作为参数.你能解释一下这是怎么回事吗?谢谢

syntax interface go

14
推荐指数
2
解决办法
2万
查看次数

用Python建模图形

我正在尝试解决与Python中的图形相关的问题.由于它是一个敏感的编程问题,我没有使用任何其他第三方软件包.

该问题呈现出5 X 5方形网格形式的图形.假设机器人位于网格上的用户提供位置.网格的索引位于(0,0)左上角和(4,4)右下角.网格中的每个单元格由以下3个字符中的任何一个表示.' b'(ascii值98)表示机器人的当前位置,' d'(ascii值100)表示脏单元格,' - '(ascii值45)表示网格中的清洁单元格.例如,下面是机器人所在的示例网格0 0:

b---d
-d--d
--dd-
--d--
----d
Run Code Online (Sandbox Code Playgroud)

目标是以最少的步骤清理网格中的所有单元格.步骤被定义为任务,其中i)机器人改变它的位置ii)机器人改变单元格的状态(从d到 - )

假设最初标记为b不需要清洁的位置.允许机器人向上,向下,向左和向右移动.

我的方法

我已经阅读了几个关于图形的教程,并决定将图形建模为25 X 25的邻接矩阵,0代表无路径,1代表矩阵中的路径(因为我们只能在4个方向上移动).接下来,我决定将Floyd Warshell的所有对最短路径算法应用于它,然后总结路径的值.但我觉得它不起作用.我正处于一个delimma中,问题是以下任何一个问题:

i)最小生成树(我无法做到,因为我无法将网格建模并存储为图形).

ii)A*搜索(同样是一个疯狂的猜测,但这里的问题相同,我无法正确地将网格建模为图形).

如果你能对这些问题提出一个好的方法,我会感激不尽.此外,关于各种形式的基于图形的问题(或链接到那些)的一些提示和伪代码将是有帮助的.谢谢

python algorithm graph minimum-spanning-tree

10
推荐指数
1
解决办法
1199
查看次数