樹的層序遍歷即爲BFS的應用。
實質就是利用一個隊列將頂點v的鄰接點保存,因樹的結構比較特殊,所以不需要進行設置flag訪問位,但圖的情況比較複雜,一般需要對每個結點是否被訪問進行標記。
利用BFS可以很容易的利用層數求出最短的步數,比如二叉樹利用層序遍歷求樹的高度,但深搜一般也可以實現。
廣度優先搜索能夠計算從源節點s到每個可達結點的距離,比如二叉樹層序遍歷中的cur和next計數法。
廣搜更適合在不斷擴大遍歷範圍時找到相對最優解的情況。
樹的層序遍歷即爲BFS的應用。
實質就是利用一個隊列將頂點v的鄰接點保存,因樹的結構比較特殊,所以不需要進行設置flag訪問位,但圖的情況比較複雜,一般需要對每個結點是否被訪問進行標記。
利用BFS可以很容易的利用層數求出最短的步數,比如二叉樹利用層序遍歷求樹的高度,但深搜一般也可以實現。
廣度優先搜索能夠計算從源節點s到每個可達結點的距離,比如二叉樹層序遍歷中的cur和next計數法。
廣搜更適合在不斷擴大遍歷範圍時找到相對最優解的情況。
最近遇到了三道數形結合的題目,不同的動機都直接指向了凸包(凸殼),利用凸殼上斜率(極角)的單調性進行二分。 1 .一個在傻X那裏淘到的一道數據結構題,from spoj:
bzoj2395 以前聽基哥講的時候就沒怎麼懂,以爲好難寫好難寫 // 其實不難寫,只是有點難調。 利用數形結合的思想,每棵生成樹在座標系上對應的是點(sigma(a),si