迷宫问题
2016-07-18 01:39
204 查看
关键点1 要记录所有走过的路径
关键点2 遇到思路能回到岔路选择另一边
走过的路径用链表记录,要记住堆栈是一种结构,但是他是抽象的,并不具体用哪种具体结果去表示
也就是数据结构分为两种,具体的如数据链表,和抽象的比如堆栈,一种抽象可以用多种具体去描述,他是一种规则和限制。
这道题里用链表记录所走的路程,当出现上下左右都不能走了的时候,就退回一步,重新判断,因为这时走过的路已经标记走过了,就继续走没走过的。
注意这里的退回!!!
链表要表示所有走过的路,可以用原来的二维数组的值去表示哪些走过,也可以选择都记在链表中,肯定用前者方便,后者跟前者功能重叠了,于是每退回一步这个链表就少一个,当链表为空了,也就表示所有能走的路都走遍了,还是没有找到出口。
关键点2 遇到思路能回到岔路选择另一边
走过的路径用链表记录,要记住堆栈是一种结构,但是他是抽象的,并不具体用哪种具体结果去表示
也就是数据结构分为两种,具体的如数据链表,和抽象的比如堆栈,一种抽象可以用多种具体去描述,他是一种规则和限制。
这道题里用链表记录所走的路程,当出现上下左右都不能走了的时候,就退回一步,重新判断,因为这时走过的路已经标记走过了,就继续走没走过的。
注意这里的退回!!!
链表要表示所有走过的路,可以用原来的二维数组的值去表示哪些走过,也可以选择都记在链表中,肯定用前者方便,后者跟前者功能重叠了,于是每退回一步这个链表就少一个,当链表为空了,也就表示所有能走的路都走遍了,还是没有找到出口。
相关文章推荐
- 学了很久的android,你可能还是没有理解清楚的Context
- RXJava详解
- 稳定婚姻问题
- hdu 2068 RPG的错排(组合)
- 名人名言录(句子)
- 《礼记》的礼
- javascript面向对象学习笔记(四)——常用方法/属性
- eclipse的run as里面没有run on server
- CodeForces Gym 100971J 感觉题意有问题 BFS
- hdu 3723 Delta Wave
- Material Design系列,Behavior之BottomSheetBehavior与BottomSheetDialog
- 运行时简单使用-->获取对象的属性(class_copyIvarList)
- 深度学习试验之 多层感知器
- 威佐夫博弈(2堆)应用-- HDU 1527 取石子游戏
- hdu 2512 一卡通大冒险
- 走遍中国 —— 中国三大半岛
- 龙芯笔记本(电子工程专辑)
- c语言中字符数组和字符指针的区别:(一句话,一旦要修改就用字符数组)
- Swift的循环引用以weak
- javascript面向对象学习笔记(三)——继承