摘要:
本文繼續(xù)從二分搜索出發(fā),推導出另一種平衡樹結構:跳表。跳表是一種簡單而精巧的數據結構,和紅黑樹具備同等時間復雜度的同時,保持了足夠的簡單性——這種簡單性的關鍵是通過概率決定索引層數。 閱讀全文
posted @ 2023-07-10 08:45
林子er
閱讀(5236)
評論(0)
推薦(13)
本文從二分搜索思想推導出二叉搜索樹,以闡釋二叉搜索樹的本質,以及有序數組、鏈表和二叉搜索樹之間的關聯(lián)。 閱讀全文
技術管理真正的挑戰(zhàn)在于,雖然”人非機器“是管理的因,但管理的果卻不是把人變成機器(流水線生產)。在技術管理領域,機器化管理或許能提升當前的效能,卻不利于未來的產出。 閱讀全文
講個有趣的算法:如何快速求 ,其中 n 和 m 都是整數 閱讀全文
本文從眾所周知的 setnx 命令開始實現一個簡單的 Redis 鎖,在實際應用中逐步揭示其面臨的問題并給出解決方案,循序漸進地講解分布式鎖需要解決的諸多問題(被動釋放、屬主、鎖等待、保活等),讓人知其然且知其所以然。另外本文指出分布式鎖并不是銀彈,有些問題雖然能用分布式鎖解決,但其實有其他更好的方案。 閱讀全文
寫可用的系統(tǒng)容易,寫可靠的系統(tǒng)很難。編程真正難的在對失敗場景的處理上。本篇通過分析儲值卡扣款這么個“簡單”的場景,你會發(fā)現其實它一點也不簡單。 閱讀全文
你不可能僅通過看書成為編程高手,也不可能僅通過沒完沒了地做項目成為行業(yè)專家 閱讀全文
很多人開發(fā)接口的時候,往往僅關注功能實現,但接口質量恰恰取決于非功能性方面,主要包括:冪等性、魯棒性和安全性。本文詳細講解開發(fā)接口(以及系統(tǒng))時在這三方面需要考慮的細節(jié)問題。 閱讀全文
任何設計模式都是用來解決軟件設計的復雜性問題,追求設計上的穩(wěn)定性。工廠模式屬于創(chuàng)建者模式之一,用來解決對象創(chuàng)建的復雜性。 閱讀全文
在前面文章《字符集編碼(中):Unicode》中我們聊了 Unicode 標準并提到其有三種實現形式:UTF-16、UTF-8 和 UTF-32,本篇我們就具體聊聊這三種 UTF 是怎么實現的。 閱讀全文
上世紀九十年代前各廠商為了應對多語言文字的編碼需求而設計了各種互不兼容的編碼標準,這使得開發(fā)商在處理多語言環(huán)境時相當棘手。為了解決各自為政的亂象,利益相關公司走到一起試圖設計一種新型的、可囊括全世界所有字符的統(tǒng)一編碼標準。 閱讀全文
在聊 Unicode 之前先講講設計層面的東西。編碼模型是字符集編碼的設計指導框架,有助于我們更好更透徹地理解各具體的編碼標準。 閱讀全文
字符集編碼的歷史出乎意料地復雜而有趣,打算花三個章節(jié)講講字符集編碼的來龍去脈。本篇講講 Unicode 出現之前字符集編碼領域的混沌與秩序 閱讀全文
網絡層是整個網絡分層體系里面最復雜的部分,不僅涉及到技術,還涉及到運營商之間的博弈。 閱讀全文
DNS 對于大部分技術人員來說即熟悉又陌生,說熟悉是因為它就是一個簡單的目錄服務,將域名映射為 IP;說陌生是因為這個全世界互聯(lián)網的底層設施不但實現起來及其復雜,甚至還涉及到政治因素,大部分人對這些并不了解。 閱讀全文