你見過哪些看似簡單但卻非常精妙的代碼?
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
❝ 1、樹狀數(shù)組
樹狀數(shù)組里的這個,太精妙了,樹狀數(shù)組使區(qū)間求和復(fù)雜度降低到了log(n),發(fā)明這段代碼的人一定是個天才,而這個lowbit恰恰是最精妙的一部分,可以準(zhǔn)確的找到我們需要加的部分,巧妙的利用了計算機的位運算。 ❝ ❝ 2、紅黑樹
elisp寫的紅黑樹,可以說非常經(jīng)典了。 ❝ 3、星星打分
這種實現(xiàn)方式之所以精妙,是因為它利用了字符串的固定模式和 substring 方法的靈活性來生成不同數(shù)量的星星,而不需要使用循環(huán)或額外的邏輯來逐個添加或刪除星星。這種方法簡潔且高效,特別是在需要頻繁生成星級評分表示時。 然而,這段代碼也有局限性,它假設(shè)評分總是整數(shù),并且只支持0到5的評分范圍。如果需要支持小數(shù)評分或更廣泛的評分范圍,這段代碼將需要相應(yīng)的調(diào)整。 4、歐幾里得算法
這種遞歸實現(xiàn)的歐幾里得算法非常簡潔且高效。它利用了數(shù)學(xué)上的一個性質(zhì):兩個整數(shù)的最大公約數(shù)與它們的余數(shù)和較小數(shù)的最大公約數(shù)相同。即 gcd(a, b) = gcd(b, a % b)。 5、快速冪
用于高效地計算 b 的 n 次方??焖賰缢惴ㄌ貏e適用于計算大冪次的情況,因為它將冪次的計算復(fù)雜度從 O(n) 降低到 O(log n)。 6、并查集
并查集(Union-Find)數(shù)據(jù)結(jié)構(gòu)中的 find 函數(shù)的簡潔實現(xiàn)。 遞歸查找:find 函數(shù)通過遞歸的方式查找元素 x 的根節(jié)點。遞歸會在元素與其父節(jié)點不同時,繼續(xù)查找父節(jié)點的父節(jié)點,直到找到一個元素其父節(jié)點是它自己的元素,即根節(jié)點。 路徑壓縮:代碼中的三元運算符 ?: 實現(xiàn)了路徑壓縮技術(shù)。當(dāng) x 不是其根節(jié)點時(即 x != parent[x]),find 函數(shù)會調(diào)用自身并傳入 parent[x] 作為參數(shù)。在遞歸返回的過程中,每個節(jié)點的父節(jié)點指針都被更新為最終的根節(jié)點,這樣可以減少后續(xù)查找操作的深度。 該文章在 2024/7/24 23:12:37 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |