广度优先搜索(入门)
生活随笔
收集整理的這篇文章主要介紹了
广度优先搜索(入门)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里給出一個廣度優先算法的簡單實例,得到的是關系最近的人。
首先,廣度優先搜索可回答兩類問題:
第一類問題:從A點出發,有沒有前往B點的路徑?
第二類問題:從A點出發,前往B點的哪條路徑最短?
實例:假設你經營一個芒果農場,需要尋找芒果銷售商,以便將芒果賣給他,為此你可以在朋友中查找!如果朋友中沒有芒果銷售商,那么你可以在朋友的朋友中查找!算法如下。。
朋友關系網絡
運行結果:
>>> ====== RESTART: C:\Users\LiLong\Desktop\Algorithm\search_algorithms.py ====== search_queue: deque(['bob', 'claire', 'peggy']) searched: ['alice'] search_queue: deque(['claire', 'peggy', 'anuj', 'peggm']) searched: ['alice', 'bob'] search_queue: deque(['peggy', 'anuj', 'peggm', 'thom', 'jonny']) searched: ['alice', 'bob', 'claire'] search_queue: deque(['anuj', 'peggm', 'thom', 'jonny']) searched: ['alice', 'bob', 'claire', 'peggy'] search_queue: deque(['peggm', 'thom', 'jonny']) searched: ['alice', 'bob', 'claire', 'peggy', 'anuj'] peggm is a mango seller! >>>可以看到搜索到了要求的目標,并且是關系最近的一個,這里用到的圖是最簡單的,無權值的有向圖。
其中的散列表的排序是按照圖的關系排序的:
總結
以上是生活随笔為你收集整理的广度优先搜索(入门)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 付讫和已付款的区别
- 下一篇: 狄克斯特拉算法(入门)