Skip to Content
算法技术手册(原书第2 版)
book

算法技术手册(原书第2 版)

by George T.Heineman, Gary Pollice, Stanley Selkow
August 2017
Intermediate to advanced
360 pages
8h 35m
Chinese
China Machine Press
Content preview from 算法技术手册(原书第2 版)
AI
寻路
185
AI
寻路
7-15:八数码问题的深度优先搜索树
7.7.3 决方案
深度优先搜索
在栈中存储一系列
开放
(例如还未被访问)棋状态,每次从中取出一个
进行处理。在例
7-6
的实现中,闭集的结构是一个散列表,这个结构可以高效地查询一
个棋状态是否已经访问,它使用的散列函数是根据
INode
对象来计算键值。
每个棋状态都有一个称为
DepthTransition
的引用,用于记录到达这个状态的走法
之前状态以及从最初位置开始到此的深度。算法会多次复制一个棋状态,用来尝试
各种走法。一旦确定找到某个结点就是目标状态,搜索终止(这个条件也同样适用于
广度优先搜索
)。
7-6
:深度优先搜索实现
public Solution search(INode initial, INode goal) {
//
如果初始状态就是目标解,则直接返回。
if (initial.equals(goal)) { return new Solution(initial, goal); }
INodeSet open = StateStorageFactory.create(OpenStateFactory.STACK);
open.insert(initial.copy());
//
已经访问过此状态。
INodeSet closed = StateStorageFactory.create(OpenStateFactory.HASH);
while (!open.isEmpty()) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
Go语言编程

Go语言编程

威廉·肯尼迪

Publisher Resources

ISBN: 9787111562221