0
我有一個XML解析並試圖從中提取一些數據。假設解析輸入xml文件後得到的數據集有(2)個表。.NET數據集查詢效率
表#1包含一個IP地址和一個主鍵。 表#2包含端口號和匹配的主鍵。
我想通過這兩個表並生成一個包含IP地址和匹配端口的對象。基本上合併來自共享相同主鍵的兩個表的數據。
現在,我使用嵌套在另一個foreach循環中的foreach循環。外部IP地址通過每個IP地址,內部IP地址通過每個端口並匹配相同的主鍵。
結果有效,但它是O(n^2)。有沒有更快的方法來做到這一點?
順便說一句,我使用C#
首先創建這個「字典」的過程不會至少是O(n)次嗎?然後使用字典是額外的時間。那整個過程如何只是O(n)? – Nick 2009-11-17 04:25:23
無論是哪種情況,您都需要循環建立一個索引 - 對於DataTable,這個循環是在'System.Data'程序集而不是你的代碼中,所以你不會看到它。另外,big-O符號忽略係數O(n)== O(2 * n) - 粗略地說,兩個循環只意味着乘以係數2. http://en.wikipedia.org/wiki/ Big_O_notation – 2009-11-17 05:52:13