LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

你見過哪些看似簡單但卻非常精妙的代碼?

admin
2024年7月24日 23:12 本文熱度 1233

🎈在編程的世界里,簡潔的代碼往往隱藏著深邃的智慧。一起來看看那些看似簡單,實則精妙絕倫的代碼片段,體會編程語言的優(yōu)雅與力量。

1、樹狀數(shù)組

int lowbit(int x)
{  
    return x&-x;  
}  

樹狀數(shù)組里的這個,太精妙了,樹狀數(shù)組使區(qū)間求和復雜度降低到了log(n),發(fā)明這段代碼的人一定是個天才,而這個lowbit恰恰是最精妙的一部分,可以準確的找到我們需要加的部分,巧妙的利用了計算機的位運算。

我一直覺得線段樹,樹分治這幾個算法的設計都很精妙

當初學樹狀數(shù)組的,看到這個函數(shù)也驚嘆了許久,甚是巧妙

2、紅黑樹

(defun rbt-balance (tree)
  "Balance the rbtree list TREE."
  (pcase tree
    (`(B (R (R ,a ,x ,b) ,y ,c) ,z ,d) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))
    (`(B (R ,a ,x (R ,b ,y ,c)) ,z ,d) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))
    (`(B ,a ,x (R (R ,b ,y ,c) ,z ,d)) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))
    (`(B ,a ,x (R ,b ,y (R ,c ,z ,d))) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))
    (_                                 tree)))

(defun rbt-insert- (x s)
  "Auxilary function of rbt-insert."
  (pcase s
    (`nil              `(R nil ,x nil))
    (`(,color ,a ,y ,b) (cond ((< x y)
                               (rbt-balance `(,color ,(rbt-insert- x a) ,y ,b)))
                              ((> x y)
                               (rbt-balance `(,color ,a ,y ,(rbt-insert- x b))))
                              (t
                               s)))
    (_                  (error "Expected tree: %S" s))))

(defun rbt-insert (x s)
  "Insert S to rbtree X."
  (pcase (rbt-insert- x s)
    (`(,_ ,a ,y ,b) `(B ,a ,y ,b))
    (_              (error "Internal error: %S" s))))

elisp寫的紅黑樹,可以說非常經(jīng)典了。

簡單的是elisp,精妙的是紅黑樹

3、星星打分

function getRating(rating{
    if(rating > 5 || rating < 0throw new Error('數(shù)字不在范圍內(nèi)');
    return '★★★★★☆☆☆☆☆'.substring(5 - rating, 10 - rating );
}

這種實現(xiàn)方式之所以精妙,是因為它利用了字符串的固定模式和 substring 方法的靈活性來生成不同數(shù)量的星星,而不需要使用循環(huán)或額外的邏輯來逐個添加或刪除星星。這種方法簡潔且高效,特別是在需要頻繁生成星級評分表示時。

然而,這段代碼也有局限性,它假設評分總是整數(shù),并且只支持0到5的評分范圍。如果需要支持小數(shù)評分或更廣泛的評分范圍,這段代碼將需要相應的調(diào)整。

4、歐幾里得算法

function gcd(a, b{
    return b ? gcd(b, a % b) : a; 
}

這種遞歸實現(xiàn)的歐幾里得算法非常簡潔且高效。它利用了數(shù)學上的一個性質(zhì):兩個整數(shù)的最大公約數(shù)與它們的余數(shù)和較小數(shù)的最大公約數(shù)相同。即 gcd(a, b) = gcd(b, a % b)。

5、快速冪

function fastPower(b, n{
    if (n === 0return 1;
    const result = fastPower(b, Math.floor(n / 2));
    return n % 2 === 0 ? result * result : b * result * result;
}

用于高效地計算 b 的 n 次方。快速冪算法特別適用于計算大冪次的情況,因為它將冪次的計算復雜度從 O(n) 降低到 O(log n)。

6、并查集

int find(int x){
  x==parent[x]?:find(parent[x]);
}

并查集(Union-Find)數(shù)據(jù)結(jié)構中的 find 函數(shù)的簡潔實現(xiàn)。

遞歸查找:find 函數(shù)通過遞歸的方式查找元素 x 的根節(jié)點。遞歸會在元素與其父節(jié)點不同時,繼續(xù)查找父節(jié)點的父節(jié)點,直到找到一個元素其父節(jié)點是它自己的元素,即根節(jié)點。

路徑壓縮:代碼中的三元運算符 ?: 實現(xiàn)了路徑壓縮技術。當 x 不是其根節(jié)點時(即 x != parent[x]),find 函數(shù)會調(diào)用自身并傳入 parent[x] 作為參數(shù)。在遞歸返回的過程中,每個節(jié)點的父節(jié)點指針都被更新為最終的根節(jié)點,這樣可以減少后續(xù)查找操作的深度。


該文章在 2024/7/24 23:12:37 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲中字幕日产AV片在线 | 中文字幕日韩精品欧洲 | 亚洲日本电影五月天 | 亚洲日本337视频大全 | 亚洲男人综合久久综合天 | 在线观看日本亚洲一区 |