文章插图
4.优化
文章插图
- 根据上面的代码,当前点走的下一个位置,是按照我们的顺时针方向来挑选位置的,因此,所选择的点的下一个可以走的位置的个数是不确定的
- 优化的思路是:我们应该优先选择的下一个位置,这个位置的再下一个位置应该尽可能少,这样就可以减少回溯的次数
- 代码:对ps集合按照可以走的下一个位置的次数进行升序排序(从小到大排序)
- 编写方法
//写一个方法,对ps集合的各个位置,可以走的下一个位置的次数进行排序,把可能走的下一个位置从小到大进行排序public static void sort(ArrayList<Point> ps){ps.sort(new Comparator<Point>() {@Overridepublic int compare(Point o1, Point o2) {return next(o1).size()-next(o2).size();}});}
- 在递归中调用该方法,对ps集合按照可以走的下一个位置的次数进行升序排序(从小到大排序)
文章插图
优化结果:
文章插图
【day53-马踏棋盘】
经验总结扩展阅读
- 马踏飞箭是什么梗?
- 围棋棋盘有几个交叉点
- 棋盘山的由来
- 什么盘不能装菜
- 棋盘格鞋子怎么清洗
- 马踏飞燕是什么朝代的 关于马踏飞燕的简介
- 马踏飞燕简介 什么是马踏飞燕
- 马踏飞燕指什么动物 马踏飞燕是哪个动物
- 观音灵签第三十签 棋盘大会
- 围棋入门基本知识