广度优先搜索

2018-05-29  本文已影响0人  刘志阳

1.图和图算法(广度优先搜索)

图是模拟不同节点的连接

它由节点node和边edge(连接线)组成

节点 ___边__ >节点 

解决最短路径问题的算法称为广度优先搜索

广度优先搜索的思路是这样的:

a.有从a到b的路径吗

b.有一步就到的吗,如果有那这个就是最短路径,如果没有有两步到的吗,如果有这个就是最短路径,依次往下循环

这样是一个懒人的思路

强调的是宽度广

深度优先搜索强调的是深度

2.有向图和无向图

有向图中的边为箭头,箭头的方向指定了关系的方向,例如 甲 -> 乙  说明 甲欠乙的钱

无向图中的边不带箭头,其中的关系为双向的,例如 甲 -- 乙 说明甲跟乙约会,乙也跟甲约会

3.拓扑排序

一一排列出符合规则的组合

4.python3 双向队列deque

from collections import deque

aa=deque( )

aa.append(1)

aa.append(2)

print (aa) #deque([1,2])

aa.appendleft(3)

print(aa)  #deque([3,1,2])

extend/extendleft  pop/popleft跟上面道理一样的

clear()清空队列

count(n) 返回n出现的次数

index(n)返回n元素的索引位置

5.什么是树?

树是图的一种特殊形式,家谱式的图且没有往后指的边这种就是树

6.广度优先搜索的代码:

上一篇下一篇

猜你喜欢

热点阅读