並查集:並查集是什麼?解決“朋友關係”問題的方法

並查集是管理元素分組的高效數據結構,核心解決“合併組”(Union)和“查詢是否同組”(Find)問題,適用於快速判斷元素是否屬於同一集合的場景。其底層以parent數組維護父節點關係,每組視爲一棵樹,根節點爲組代表,初始各元素自成一組。 關鍵優化是**路徑壓縮**(查詢時壓縮路徑,使節點直接指向根)和**按秩合併**(小樹依附大樹,避免樹退化爲鏈表),確保操作接近常數時間複雜度。核心方法`find`(查找根節點並壓縮路徑)和`union`(合併兩組,小樹根指向大樹根)實現高效分組。 應用廣泛,如網絡連接判斷、家族關係查詢、最小生成樹(Kruskal算法)及等價類問題等,是處理分組場景的簡潔強大工具。

閱讀全文