惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News | PayPal Newsroom
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LangChain Blog
S
SegmentFault 最新的问题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Project Zero
Project Zero
P
Privacy & Cybersecurity Law Blog
V
Vulnerabilities – Threatpost
博客园 - 三生石上(FineUI控件)
Recorded Future
Recorded Future
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
T
Tor Project blog
T
The Exploit Database - CXSecurity.com
Schneier on Security
Schneier on Security
H
Help Net Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
M
MIT News - Artificial intelligence
W
WeLiveSecurity
P
Proofpoint News Feed
A
About on SuperTechFans
S
Securelist
I
InfoQ
G
Google Developers Blog
博客园 - 司徒正美
博客园 - 叶小钗
Latest news
Latest news
F
Fortinet All Blogs
G
GRAHAM CLULEY
腾讯CDC
Jina AI
Jina AI
S
Schneier on Security
I
Intezer
V
Visual Studio Blog
美团技术团队
V2EX - 技术
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
罗磊的独立博客
Y
Y Combinator Blog

博客园 - 空空色色

转一篇,CentOS后台服务配置 linux kernel 2.6.36 编译升级 linux的UPNP支持(转) UPNP协议细节(转) UPnp协议 from wikipedia 考察智力zz JScollPane以及JPanel相关 bmp文件格式 java中对图象文件的处理(读写以及转换) Java媒体框架(JMF),个人很欣赏.... 常用颜色对照表 YUV/YIQ色彩空间的转换 关于Swing实现透明窗体的。我也很喜欢,收藏! java中的数据库程序应用 A*以及迭代加深的A*算法(IDA*) 我的兄弟们之袋鼠篇 深度优先状态搜索法 我的兄弟们之温J篇 java中的图象处理技术基础
经典搜索算实现之一,广度优先.
空空色色 · 2006-10-31 · via 博客园 - 空空色色

      以下几个算法都是以实现8数码问题为背景的.
8数码问题的描述如下:

目标:
   1   2   3
   8   0   4
   7   6   5
初始状态任意.其中'0'代表一个空格,每次移动只能是空格的'上','下','左','右'移动.
      很容易我们会想到,这样的一个图,可能出现9!个状态,但是其中有一半的状态是我们不希望看到的,也就是无解的状态.很容易证明当我们把上面的状态表示成一个序列以后,不论空格做出什么样的移动,之后得到的序列(不考虑'0')的逆序数的性质是不变的.也就是说,如果原来是奇数,移动以后的逆序数依然是个奇数.考虑到目标状态的逆序数是个偶数,所以只有9!/2的状态才可以达到目标.

首先放个广度优先的算法.
思想:
while(队列不空)
{
      取队列的头节点;
      if(该节点不是目标,)
      {
            扩展,并把其未被访问的子节点加入队列的尾部;
      }
}
      广度优先算法的特点是可以找到最优解.但是空间和时间消耗都比较大.其他的慢慢放上来,包括有: 深度优先,A*算法,IDA*,迭代深度优先等等.
      广度优先算法的程序见我的文集.