迷宫问题

来源:互联网 发布:interlagos羽绒被 知乎 编辑:程序博客网 时间:2024/06/09 20:44

关键点1 要记录所有走过的路径

关键点2 遇到思路能回到岔路选择另一边


走过的路径用链表记录,要记住堆栈是一种结构,但是他是抽象的,并不具体用哪种具体结果去表示

也就是数据结构分为两种,具体的如数据链表,和抽象的比如堆栈,一种抽象可以用多种具体去描述,他是一种规则和限制。

这道题里用链表记录所走的路程,当出现上下左右都不能走了的时候,就退回一步,重新判断,因为这时走过的路已经标记走过了,就继续走没走过的。

注意这里的退回!!!

链表要表示所有走过的路,可以用原来的二维数组的值去表示哪些走过,也可以选择都记在链表中,肯定用前者方便,后者跟前者功能重叠了,于是每退回一步这个链表就少一个,当链表为空了,也就表示所有能走的路都走遍了,还是没有找到出口。

0 0