為什麼我的並查集這麼慢!!!

2021-10-24 13:42:19 字數 347 閱讀 2726

在我剛開始使用並查集這種演算法的時候,我一直搞不明白為什麼別人總是說這種演算法很好,在做題的時候會經常用到。但是我自己用起來的時候時間總是會超,一直很納悶。今天重新做到一道別人都是使用並查集來解決的題目時,我才發現了我一直以來的錯誤!是真蠢呀!寫這篇部落格來吐槽一下自己,順便給自己留下乙個更深刻的印象。

問題就出現在我的find_root函式(查詢節點的根節點,也就是檢視節點屬於哪顆樹)上。直接看**吧。

//錯誤版

intfind_root

(int pos)

//正確版

intfind_root

(int pos)

為什麼count 這麼慢?

當我們查詢一張資料量很大的表時,使用sql select count from t1 這條sql非常耗時。那麼當執行count 的時候發生了什麼呢?count 1 的sql執行計畫如下 count 的sql執行計畫如下 兩者執行計畫相同,所以速度相同。首先初始化時,執行一次精確的計數 select ...

為什麼count 這麼慢

不同count的用法 count 是乙個聚合函式,對於返回的結果集,一行行地判斷,如果count函式的引數不是null,累計值就加1,否則不加。最後返回累計值。count的用法有多種,分別是count count 字段 count 1 count 主鍵id 那麼多種用法,到底有什麼差別呢?當然,前提...

面試系列05 我的SQL為什麼這麼慢?

sql執行偶爾很慢 sql執行一直很慢 create index nameindex on tb user name 10 在tb user表以name欄位建立乙個名為nameindex的索引 explain select from tb user where name 鞠婧禕 通過關鍵字expla...