囫囵吞枣地看完了CS61B的课程,不得不再一次感慨UC Berkeley的学生太强了,大一的课就这么硬核。内容多,作业难。我大概只完成了其中三分之一的作业内容,算是对写程序稍微熟悉了一些,不至于过于生疏了。如果能百分之一百完成,那一定收获很多。
今天学到的路径搜索算法。Dijastra算法:将从起点向外扩展并扫描所有领域顶点的n成本,直到找到目标。f(n)=g(n);
A*算法:使用启发式功能来引导其走向目标,因此它更倾向于关注导致目标的路径。f(n)=g(n)+h(n)。h(n)为从起点n到目标的启发式估算成本。主要有三种:欧式距离成本、曼哈顿距离成本(只能移动4个方向)、切比雪夫距离成本(可以移动8个方向,对角线成本与水平垂直方向相同)。