我有項目。儘快確定2個列表之間變化的算法?
這些項目是從一個網站通過API下載到我的網站。
我從網站下載A.所有項目
有在我身邊匹配的JSON對象。重要的是我需要這樣做。
名單A(我的網站)需要與列表B(他們的網站)進行同步。
我必須手動同步處理,因爲它們的API限制。
因此,有項目和屬性:
定列表A和B.列出這將是一個快速算法使:
If A is missing object from B, add it.
If B no longer contains an element found in A, remove it from A.
If an attribute in B is != an attribute in an object from A, update the object in A.
我覺得自己像做了很多本的唯一途徑將是O(N^2)。有一些方法比O(N^2)好一些嗎?
感謝
使用HashSet的和/或一些LINQ加入/聯盟/節選是相當微不足道的。前者可能導致更好的界限,但後者可以......好,更多LINQ'y。 – 2013-02-14 18:47:46
您可以在O(n log n)時間對兩個列表進行排序。你能想到一個算法來比較兩個線性時間操作的排序列表嗎? – 2013-02-14 18:43:38