XML的深度遍歷和廣度遍歷

2021-05-24 02:09:43 字數 671 閱讀 3637

//深度遍歷 public void domdepthfirst(xmlnode currentnode)

if(currentnode.haschildnodes)

xmlnode node=currentnode.firstchildnode;

while (node!=null)

domdepthfirst(node);

node=node.nextsibling;

//廣度遍歷

public void dombreadthfirst(xmlnode root)

queue queue=new queue();

queue.enqueue(root);

xmlnode currentnode;

trywhile (true)

currentnode=(xmlnode)queue.dequeue;

if(currentnode.haschildnodes)

foreach (xmlnode eachchild in currentnode.childnodee)

queue.enqueue(eachchild);

catch (invalidoperationexception e)

console.writeline("done!");

深度遍歷和廣度遍歷

圖的遍歷,所謂遍歷,即是對結點的訪問。乙個圖有那麼多個結點,如何遍歷這些結點,需要特定策略,一般有兩種訪問策略 深度優先遍歷,從初始訪問結點出發,我們知道初始訪問結點可能有多個鄰接結點,深度優先遍歷的策略就是首先訪問第乙個鄰接結點,然後再以這個被訪問的鄰接結點作為初始結點,訪問它的第乙個鄰接結點。總...

深度遍歷和廣度遍歷(函式)

mgraph是鄰接矩陣儲存的圖,定義如下 define maxvertexnum 10 定義最大頂點數 typedef int vertex 用頂點下標表示頂點,為整型 typedef struct mgraph 用鄰接矩陣表示的圖的型別 裁判測試程式樣例 include stdio.h inclu...

樹的深度遍歷和廣度遍歷

樹的前序 中序 後序遍歷本質上都可以認為是深度遍歷。那樹的層序遍歷是什麼?總之先寫一下樹的前序遍歷的遞迴寫法和迭 法。遞迴寫法 public class solution list.add node.val if node.left null if node.right null return li...