通過深度優先遍歷演算法,可以依次獲取每個後代節點的物件。
順序:有子元素先獲取子元素,再獲取兄弟元素
主要有2步驟:
//1.建立節點迭代器物件(parent是要遍歷的節點)
var iterator = document.createnodeiterator(parent, nodefilter.show_element, null, false);
//2.反覆呼叫iterator的nextnode方法跳到下乙個
dowhile(true);
以上也可以使用遞迴實現,但遞迴效率較低,不建議使用。
Dom的深度優先遍歷和廣度優先遍歷
doctype html html lang en head meta charset utf 8 title 深度遍歷和廣度遍歷測試 title style type text css style head body div class box ul class menus li class it...
深度優先遍歷 廣度優先遍歷
用棧進行儲存元素。訪問頂點 頂點入棧,以便記住它 標記頂點,以便不會再訪問它 2 訪問規則 a.如果可能,訪問乙個鄰接的未訪問頂點,標記它,併入棧。b.當不能執行a時 沒有鄰接的未訪問頂點 如果棧不為空,就從棧中彈出乙個頂點。c.如果不能執行規則a和b,就完成了整個搜尋過程。3 實現 基於以上規則,...
深度優先遍歷
第一步 從開始節點查詢可達節點,如果有沒到過的可達節點則第二部,否則第三步 第二部 便利到下乙個可達節點,記錄下該節點已經到達節點 第三步 回到上一步的節點再從第一步開始 乙個節點對應他的可達節點用map表示,map的key和value分別是integer和list 用來存放key對應的節點 遍歷過...