数据结构论坛

注册

 

发新话题 回复该主题

计算机入门必备算法广度优先遍历搜索 [复制链接]

1#
北京中科白癜风医院优惠活动 https://m.yiyuan.99.com.cn/bjzkbdfyy/a/284298/
1、序言又很久没有学习了,上次学到哈希表又称散列表的相关知识,这次我们学习一种新的数据结构来建立网络模型。这种数据结构被称作为图。首先,我们先应该先了解一下什么是图,其次学习第一种图的算法,这种图的算法被称作是广度优先搜索算法(breadth-firstsearch,BFS)。广度优先搜索算法其实就是帮助你找出两样东西之间的最短距离,掌握了这种算法之后,我们可以完成以下几项内容:l编写国际跳棋AI,计算出最少走多少步可以获胜l编写拼写检查器,计算最少编辑多少个地方就可以将错拼的单词改成正确的单词,如将READED改为READER需要编辑一个地方l根据你的人际关系网络找到关系最近的医生--------此示例来源于《算法图解》2、图简介听说户县到咸阳的大巴已经停运了,那么我们去咸阳的话就需要重新计算路线,(我们暂时排除自驾到咸阳的路线)假设我们乘坐公共交通工具前往,并且希望中间的换乘最少,可以到达的部分交通线路如下:去咸阳的部分的交通线路我们从图中可以发现想从石油大学直接到达咸阳湖景区,除了自驾其它并不能一步到达景区,接着我们使用两步、三步、四步发现都不能直接到达景区,最少也得需要五步,路线为:从石油大学东门(周南站)乘坐路到鄠邑站,然后乘坐动车到达阿房宫站,然后乘坐路到达沣东第一学校站,接着换成咸阳郭杜线到达统一广场站,最终不步行到达咸阳湖景区。当然还有其他到达景区的路线,但它们执行起来路程会更远。这个算法发现,前往咸阳湖景区需要五部,这种问题在专业上称为“最短路径问题(shorterest-pathproblem)”。解决最短路径的问题的算法被称为广度优先搜索。就像上图一样,我们将路线用图解的形式展现出来,这就是图!其实非常简单,图由节点和边组成。一个节点可能与众多节点直接相连,这些众多节点都被称为这个节点的邻节点,在上图,大十字站和亚迪路站都被称为郭寨桥站的邻节点。一句话概括起来:图用于模拟不同的东西是如何相连的。3、广度优先搜索广度优先搜索算法是一种可用于图的查找算法,可以帮助回答两类问题:1、从节点A出发,有前往节点B的路径吗?2、从节点A出发,前往节点B的哪条路径最短?举个例子,假设你经营着一个果园,每年秋天果子成熟了你需要将苹果卖给他。在
分享 转发
TOP
发新话题 回复该主题