## 算法
[按首字母給圖書排序:冒泡排序、插入排序、快速排序算法原理](https://www.365yg.com/a6542078776354800131)
* * * * *
### 擴展
[通俗易懂講解 鏈表 - 知乎](https://zhuanlan.zhihu.com/p/29627391)
[【IT好望角】程序員實用的工具網站整理](http://mp.weixin.qq.com/s/wKpNJY6PD0ArxnKtl71xwQ)
[【數據結構與算法】二分查找](http://mp.weixin.qq.com/s/1qUPyysDYDMkjjYVCMCfow)
> 二分查找有著查找速度快,平均性能好等優點,但必須要求待查表為有序表,且插入刪除困難
[分類:算法與數學 - 阮一峰的網絡日志](http://www.ruanyifeng.com/blog/algorithm/)
[算法分析神器—時間復雜度](https://mp.weixin.qq.com/s/_7l0JEFFuKZVjeIwVYwtdw)
[帝王為啥總要殺掉有功之臣?李永樂老師用博弈論帶你看清社會現實](https://www.365yg.com/a6546772627061473805)
[【數據結構與算法】棧](https://mp.weixin.qq.com/s/CsJpM_NG3kNhlq9m-Jp_FA)
[【數據結構與算法】哈希表 (hash table)](https://mp.weixin.qq.com/s/vVGcl_-9nPZ_4kF2J683tw)
[17 Equations That Changed The World - Business Insider](http://www.businessinsider.com/17-equations-that-changed-the-world-2014-3/?IR=T)
[OpenGenus/cosmos: Algorithms that run our universe | Your personal library of every algorithm and data structure code that you will ever encounter | Ask us anything at our forum](https://github.com/OpenGenus/cosmos)
[自動駕駛汽車的道德困境:科技背后的算法如何設計](https://www.365yg.com/a6559740189495788045#mid=12911056623)
[通俗理解信息熵](https://mp.weixin.qq.com/s/6I2-5zWbpAUSgoHRUEkj3Q)
[從世界杯競猜騙局談二分法](https://mp.weixin.qq.com/s/TSnfqm6hYENLhk9PKHL9jw)
[【IT好望角】數學分析告訴我們什么?](https://mp.weixin.qq.com/s/c0a0CGwwwTEljy8UpNbBRA)
[漫畫:有趣的扔雞蛋問題](https://mp.weixin.qq.com/s/nMC55qvgsQNQfncAEOM20Q)
[信道編碼的前世今生: 一段波瀾壯闊的通信史!](https://www.toutiao.com/a6533554021599281671/?tt_from=weixin&utm_campaign=client_share×tamp=1525864710&app=news_article_lite&utm_source=weixin&iid=31395168747&utm_medium=toutiao_android&wxshare_count=1)
[回歸:從精靈寶可夢說起](https://mp.weixin.qq.com/s/qlmRbvlcUNo8BuqhR0D7Pw)
[看完這篇文章,你肯定理解什么是浮點數了!](https://mp.weixin.qq.com/s/34Fg9GSqRDoBbGFPzOt_ow)
[我猜,每個程序員對著電梯都想過調度算法吧!](https://mp.weixin.qq.com/s/_hyxmoDvnmY5zNh7pp3Png)
[漫畫:什么是基數排序?](https://mp.weixin.qq.com/s/FbBZotOtue3pB5BuWLa4ng)
[分布式唯一ID生成方案總結](https://mp.weixin.qq.com/s/7NdpI-TP5sWlS1P9qC_jMg)
[再談分布式ID生成方案](https://mp.weixin.qq.com/s/LoX06fUtxpegFrsdNoBYWw)
[一篇文章講透MySQL為什么要用B+樹實現索引](https://mp.weixin.qq.com/s/xksEx9TY3aAFByiti8qs8Q)
[一文學會遞歸解題](https://mp.weixin.qq.com/s/kQG8mIQXFn4-sl3zfV-vRw)
[ShowMeBug 核心技術內幕](https://yafeilee.com/blogs/100)(多人 協作沖突算法 OT 算法)
[產品技術 Operational Transformation](https://mp.weixin.qq.com/s/kQkYrLO5lL5a3Rr1jY_3Iw)
[清華畢業生開發新特效編程語言:99 行代碼背后 20 多年的故事...](https://mp.weixin.qq.com/s/3ntrkMrXiYIyRgQX1qZK2g)
[【數據結構與算法】主宰這個世界的10大算法](https://mp.weixin.qq.com/s/E8CyYTnlMTuBc9fZWxvUaQ)
~~~
簡而言之,任何定義明確的計算步驟都可稱為算法,接受一個或一組值為輸入,輸出一個或一組值。(來源:homas H. Cormen, Chales E. Leiserson 《算法導論第3版》)
可以這樣理解,算法是用來解決特定問題的一系列步驟(不僅計算機需要算法,我們在日常生活中也在使用算法)。算法必須具備如下3個重要特性:
有窮性,執行有限步驟后,算法必須中止。
確切性,算法的每個步驟都必須確切定義。
可行性,特定算法須可以在特定的時間內解決特定問題。
~~~
[討厭的人類居然讓我們擲骰子,這實在太難了!](https://mp.weixin.qq.com/s/VpYM4mP2CGLIgiadL-1SDw)(真正的隨機必須沒有主管和客觀)
[一文讀懂遞歸算法](https://mp.weixin.qq.com/s/es3K8S_h2_j1TM8FZs8t5w)
[唯一ID生成算法剖析 - 騰訊技術工程](https://mp.weixin.qq.com/s/E3PGP6FDBFUcghYfpe6vsg)
[一線大廠的分布式唯一ID生成方案是什么樣的?](https://mp.weixin.qq.com/s/wXndZhU3VYnwDPXDEDF-fQ)
[分布式ID常見解決方案](https://mp.weixin.qq.com/s/qSeJbOdD_gapW2SRr-7Eow)
[是什么能讓 APP 快速精準定位到我們的位置?](https://mp.weixin.qq.com/s/KqCxb24FoIge9AropiSzXg)
[hash 算法原理及應用漫談](https://mp.weixin.qq.com/s/NyKqBEDI6g8AQ0PGeU1C5g)
[這可能是迄今為止最好的一篇正則入門教程-下](https://mp.weixin.qq.com/s/6Hw6px-ZUvHYeYVUOx6CpQ)
[分布式數據緩存中的一致性哈希算法](https://mp.weixin.qq.com/s/JpzpGTdUpstQfq4enZyQ5Q)
[分布式數據緩存中的一致性哈希算法](https://mp.weixin.qq.com/s/UlAjEEsRzzVHJ0TbGvBFlg)
> 普通的哈希表算法一般都是計算出哈希值后,通過取余操作將 key 值映射到不同的服務器上,但是當服務器數量發生變化時,取余操作的除數發生變化,所有 key 所映射的服務器幾乎都會改變,這對分布式緩存系統來說是不可以接收的。
> 一致性哈希算法能盡可能減少了服務器數量變化所導致的緩存遷移。
[CAP 定理的含義](http://www.ruanyifeng.com/blog/2018/07/cap.html)
[漫畫:圖的 “最短路徑” 問題](https://mp.weixin.qq.com/s/gjjrsj95X4w7QdWBlAKnaA)
[編碼kata,玩轉FizzBuzz](https://www.jianshu.com/p/8df42e45105e)
[對字符串匹配算法的一點理解](https://mp.weixin.qq.com/s/aC7XEsz3eGSWj3oWHpQE7w)
[PageHelper分頁插件的原理是什么](https://mp.weixin.qq.com/s/yqyzc-eh6HiL141RN1zW3A)
[JS 常用正則表達式備忘錄](https://mp.weixin.qq.com/s/c2V911oUV0KbdshVai523A)
[數學和編程](http://www.yinwang.org/blog-cn/2015/07/04/math)
[程序語言不是工具](http://www.yinwang.org/blog-cn/2013/04/21/programming-languages-are-not-tools)
> 認同,更不用說解釋型語言了,代碼是在另一個程序中運行的。
[實現一個JSON解析器,有那么難嗎?](https://mp.weixin.qq.com/s/4YYVPRlFsh7rEe9lqQ_lSw)
[銀行家算法學習筆記](https://www.cnblogs.com/chuxiuhong/p/6103928.html)
[PNG 圖片壓縮原理解析](https://mp.weixin.qq.com/s/stvemQVmIYDu8XyyHZ-zBA)
[漫畫:如何實現大整數相乘?(上)](https://mp.weixin.qq.com/s/cfChrGDIdj5qMk-vVv-6hQ)
[【漫畫】為什么MySQL數據庫要用B+樹存儲索引?](https://mp.weixin.qq.com/s/d9yNsUVFg9UZN62xuOdxow)
[什么?你居然還不知道字符串匹配算法!](https://mp.weixin.qq.com/s/w8YH22XGlMdG6YjCwrV7zg)
[36 歲捧走圖靈碗!80 歲算法大師高德納要在 105 歲完結《計算機程序設計藝術》](https://mp.weixin.qq.com/s/SybMOr_SVxL63Ls_8GqhbQ)
即使精通底層原理,能編寫底層代碼,也只是一些更底層的實現而已,算真正的技術嗎,那真正的技術是算法嗎? 其實不用過于糾結,只要有創造力,就是技術。
哪怕你能在腦海中模擬出程序的執行過程和細節
[大白話講解CAP定理](https://mp.weixin.qq.com/s/0vc5rAQRlr00fturIBQZ4g)
[一文讀懂CAP定理](https://mp.weixin.qq.com/s/S9isvugBXv6E9m8hBsFNqQ)
[【協議森林】通信協議之序列化](https://mp.weixin.qq.com/s/_bWOYpZNjA4p7ZWM1J_4mw)
[JavaScript 實現簡單二叉查找樹](https://mp.weixin.qq.com/s/MqCClFN97uaOZNNfRYDhwQ)
[關于平方根倒數速算法(雷神之錘3,牛B)](https://blog.csdn.net/zyex1108/article/details/53540824)
[CAP 理論 —最通俗易懂的解釋](https://mp.weixin.qq.com/s/rmOlQwAiXUbmZ130Ekh1Mg)
[淺談 CAP 和 Paxos 共識算法](https://mp.weixin.qq.com/s/Fj4zERz9PEuNumd_SI0bEA)
[白話TCP擁塞控制:運糧的河道堵塞了怎么辦?](https://mp.weixin.qq.com/s/j0WeTRgJMohIYr-SraMyBw)
[洗稿,技術上怎么判斷文章相似性?](https://mp.weixin.qq.com/s/GFpVvMEn4gvcLEMyZOkEFA)
[什么是一致性哈希算法](https://mp.weixin.qq.com/s/bCH-aU8cKS3uT6PwRYNJtA)
[通俗易懂講解感知機(一)--模型與學習策略](https://mp.weixin.qq.com/s/6yzutAophbSCdX3Puv3BVg)
[一段生成無限級別分類的代碼思考](https://mp.weixin.qq.com/s/ptev7R1u3IrWn7o5Q6gg3g)
[用函數式的方式思考——遞歸](https://mp.weixin.qq.com/s/6VSxQ0kOnJt9p3ujvxf4mA)
[【數據結構與算法】 通俗易懂講解 冒泡排序](https://mp.weixin.qq.com/s/ts5TikMWR9a_hEpnwilZOg)
協同編輯器沖突算法
[如何建立一個分布式計數器?](https://www.jdon.com/artichect/how-to-build-a-distributed-counter.html)
[事件溯源的復制:CloudState是如何支持分布式一致性CRDT的?]([https://www.jdon.com/53091](https://www.jdon.com/53091))
[互聯網級別大變革:本地優先軟件!在本地擁有自己的數據,使用CRDT數據結構實現分散式數據合并!](https://www.jdon.com/52197](https://www.jdon.com/52197)
[實現分布式富文本編輯器的經驗教訓](https://www.jdon.com/50361)
[Eventuate:基于操作CRDT的服務框架](https://www.jdon.com/48444)
[分布式CRDT模型 -解道Jdon](https://www.jdon.com/artichect/crdt.html)
[揭開在線協作的神秘面紗 - OT算法 - 知乎](https://zhuanlan.zhihu.com/p/74562370)
[ShowMeBug 核心技術內幕 - 知乎](https://zhuanlan.zhihu.com/p/74562370)
[我所知道的排序算法之希爾排序](https://mp.weixin.qq.com/s/FsyzmE5cWIA9ff7nh5js_g)
[三個視頻教你如何找到另一半](https://mp.weixin.qq.com/s/TxxLE9AeIJxMEm8VdXN4nA)
[騰訊分布式數據庫TDSQL金融級能力的架構原理解讀](https://mp.weixin.qq.com/s/m_JMXU6iMS4SckzWZYtIUA)
[深入理解 MySQL 索引底層原理](https://mp.weixin.qq.com/s/qHJiTjpvDikFcdl9SRL97Q)
[數據庫的最簡單實現 - 阮一峰的網絡日志](http://www.ruanyifeng.com/blog/2014/07/database\_implementation.html)
這就是數據庫
要保存數據,首先我們會想到將數據存放在一個文件中,隨著數據量增加文件大小會不斷增加,取數據時直接讀取整個文件,再找到目標數據,顯然這樣性能將會很差,試想如果我們能知道目標數據在文件中的具體位置,取數據時只需要讀取文件的一部分就能剛好取出數據該有多好,并且考慮到數據還可能會修改刪除,因此維護這個文件將會面臨很多問題,你會怎么去設計這個文件和數據存取機制呢,這就是數據庫。
你可能會想,以id為文件名,不同數據分不同的文件就行了,取數據時直接讀某個文件不就行了,這是把文件系統當成數據庫了,其實系統底層,文件系統本身就是一個數據庫,不然根據路徑讀取文件的系統調用又是怎么找到磁盤上的文件呢,所以這是利用了系統的文件系統數據庫。這樣只能實現最簡單的場景,排序,范圍搜索都不容易實現,并且隨著數據增多,影響性能,大量的小文件管理起來很麻煩。
[十種圖像模糊算法的總結與實現](https://mp.weixin.qq.com/s/KYxUoaz4dlheFLz3ZinB2w)
[圖文詳解 DFS 算法 和 BFS 算法](https://mp.weixin.qq.com/s/nt1Xli6oWI0fJjxFHldNIA)
[面試官給我講了五分鐘一致性哈希算法,我傲嬌了嗎?。。。](https://mp.weixin.qq.com/s/sXTFXbtdOnWUB3Ye3nqaAw)
[手寫一個解析器](https://mp.weixin.qq.com/s/VTULhAjEUNfAph-xkkUTsg)
[一文讀懂Base64編碼](https://mp.weixin.qq.com/s/FDQjarxHYvtI9EXjeACmVQ)
[火絨小課堂:勒索病毒為什么很難解密?(視頻)](https://mp.weixin.qq.com/s/tNjfcGpX9wRaGk71TBFCTA)
[同態加密技術及其在機器學習中的應用詳解](https://mp.weixin.qq.com/s/kmxRXvURSsRnIKRNVQkmmg)
[席南華院士:數學的意義 | 返樸](https://mp.weixin.qq.com/s/V-p6L2tUii7FpZu9Tx9tWA)
[為什么微信推薦這么快?](https://mp.weixin.qq.com/s/rXXm6c8LrTqqP4iWf9mtxA)
[一口氣說出 9種 分布式ID生成方式,面試官有點懵了](https://mp.weixin.qq.com/s/eakphQDWKrsUnIwTj8zMQA)
[七夕之夜,如何保證私密信息不泄露?](https://mp.weixin.qq.com/s/ukrdOJw15EeU3nZ_wjlMSw)
[數據結構中的 “圖” ,小灰為大家做一個總結!](https://mp.weixin.qq.com/s/zBN5cBY0b59foq9UMEYchg)
[漫畫:圖的 “最短路徑” 問題](https://mp.weixin.qq.com/s/gjjrsj95X4w7QdWBlAKnaA)
[高效大數據開發之 bitmap 思想的應用](https://mp.weixin.qq.com/s/c5HDenoVde11IMmezj1v1Q)
> 通過將信號量放在共享內存中并用`TSL`或`XCHG`指令來保護它們,可以避免競爭。但是如果是在分布式系統中,可能同時具有多個 CPU 的情況,并且每個 CPU 都有自己的私有內存呢,它們通過網絡相連,那么這些原語將會失效。因為信號量太低級了,而管程在少數幾種編程語言之外無法使用,所以還需要其他方法。
[圖解什么是一致性哈希算法](https://mp.weixin.qq.com/s/2xFH2zWK-3buBU171_lGng)
> 如果數據相對獨立,**就避免了線程間的通信和同步,實現了無鎖化處理,所以還是很有用的。**
[你覺得自己懂加減乘除嗎?| 袁嵐峰](https://mp.weixin.qq.com/s/Rm3kwc4F3XxLXjA4LSlpcw)
[Go netpoller 網絡模型之源碼全面解析](https://mp.weixin.qq.com/s/HNPeffn08QovQwtUH1qkbQ)
[無中生有:論推薦算法中的Embedding思想](https://mp.weixin.qq.com/s/OqwGyxU90G_JIj2gBogS9A)
[用萬字長文聊一聊 Embedding 技術](https://mp.weixin.qq.com/s/BwqVwN-9R8ROjgfnTUcMQg)
[一文看懂 TF-IDF (概念圖解+4大變種+發展歷史)](https://easyai.tech/ai-definition/tf-idf/)
[據說程序員等電梯的時候都想過調度算法,網友:還真是](https://mp.weixin.qq.com/s/LYJl87NmfN-Y42MnChGOoA)
* * * * *
last update:2018-6-14 11:14:06
- 開始
- 公益
- 更好的使用看云
- 推薦書單
- 優秀資源整理
- 技術文章寫作規范
- SublimeText - 編碼利器
- PSR-0/PSR-4命名標準
- php的多進程實驗分析
- 高級PHP
- 進程
- 信號
- 事件
- IO模型
- 同步、異步
- socket
- Swoole
- PHP擴展
- Composer
- easyswoole
- php多線程
- 守護程序
- 文件鎖
- s-socket
- aphp
- 隊列&并發
- 隊列
- 講個故事
- 如何最大效率的問題
- 訪問式的web服務(一)
- 訪問式的web服務(二)
- 請求
- 瀏覽器訪問阻塞問題
- Swoole
- 你必須理解的計算機核心概念 - 碼農翻身
- CPU阿甘 - 碼農翻身
- 異步通知,那我要怎么通知你啊?
- 實時操作系統
- 深入實時 Linux
- Redis 實現隊列
- redis與隊列
- 定時-時鐘-阻塞
- 計算機的生命
- 多進程/多線程
- 進程通信
- 拜占庭將軍問題深入探討
- JAVA CAS原理深度分析
- 隊列的思考
- 走進并發的世界
- 鎖
- 事務筆記
- 并發問題帶來的后果
- 為什么說樂觀鎖是安全的
- 內存鎖與內存事務 - 劉小兵2014
- 加鎖還是不加鎖,這是一個問題 - 碼農翻身
- 編程世界的那把鎖 - 碼農翻身
- 如何保證萬無一失
- 傳統事務與柔性事務
- 大白話搞懂什么是同步/異步/阻塞/非阻塞
- redis實現鎖
- 淺談mysql事務
- PHP異常
- php錯誤
- 文件加載
- 路由與偽靜態
- URL模式之分析
- 字符串處理
- 正則表達式
- 數組合并與+
- 文件上傳
- 常用驗證與過濾
- 記錄
- 趣圖
- foreach需要注意的問題
- Discuz!筆記
- 程序設計思維
- 抽象與具體
- 配置
- 關于如何學習的思考
- 編程思維
- 談編程
- 如何安全的修改對象
- 臨時
- 臨時筆記
- 透過問題看本質
- 程序后門
- 邊界檢查
- session
- 安全
- 王垠
- 第三方數據接口
- 驗證碼問題
- 還是少不了虛擬機
- 程序員如何談戀愛
- 程序員為什么要一直改BUG,為什么不能一次性把代碼寫好?
- 碎碎念
- 算法
- 實用代碼
- 相對私密與絕對私密
- 學習目標
- 隨記
- 編程小知識
- foo
- 落盤
- URL編碼的思考
- 字符編碼
- Elasticsearch
- TCP-IP協議
- 碎碎念2
- Grafana
- EFK、ELK
- RPC
- 依賴注入
- 科目一
- 開發筆記
- 經緯度格式轉換
- php時區問題
- 解決本地開發時調用遠程AIP跨域問題
- 后期靜態綁定
- 談tp的跳轉提示頁面
- 無限分類問題
- 生成微縮圖
- MVC名詞
- MVC架構
- 也許模塊不是唯一的答案
- 哈希算法
- 開發后臺
- 軟件設計架構
- mysql表字段設計
- 上傳表如何設計
- 二開心得
- awesomes-tables
- 安全的代碼部署
- 微信開發筆記
- 賬戶授權相關
- 小程序獲取是否關注其公眾號
- 支付相關
- 提交訂單
- 微信支付筆記
- 支付接口筆記
- 支付中心開發
- 下單與支付
- 支付流程設計
- 訂單與支付設計
- 敏感操作驗證
- 排序設計
- 代碼的運行環境
- 搜索關鍵字的顯示處理
- 接口異步更新ip信息
- 圖片處理
- 項目搭建
- 閱讀文檔的新方式
- mysql_insert_id并發問題思考
- 行鎖注意事項
- 細節注意
- 如何處理用戶的輸入
- 不可見的字符
- 抽獎
- 時間處理
- 應用開發實戰
- python 學習記錄
- Scrapy 教程
- Playwright 教程
- stealth.min.js
- Selenium 教程
- requests 教程
- pyautogui 教程
- Flask 教程
- PyInstaller 教程
- 蜘蛛
- python 文檔相似度驗證
- thinkphp5.0數據庫與模型的研究
- workerman進程管理
- workerman網絡分析
- java學習記錄
- docker
- 筆記
- kubernetes
- Kubernetes
- PaddlePaddle
- composer
- oneinstack
- 人工智能 AI
- 京東
- pc_detailpage_wareBusiness
- doc
- 電商網站設計
- iwebshop
- 商品規格分析
- 商品屬性分析
- tpshop
- 商品規格分析
- 商品屬性分析
- 電商表設計
- 設計記錄
- 優惠券
- 生成唯一訂單號
- 購物車技術
- 分類與類型
- 微信登錄與綁定
- 京東到家庫存系統架構設計
- crmeb
- 命名規范
- Nginx https配置
- 關于人工智能
- 從人的思考方式到二叉樹
- 架構
- 今日有感
- 文章保存
- 安全背后: 瀏覽器是如何校驗證書的
- 避不開的分布式事務
- devops自動化運維、部署、測試的最后一公里 —— ApiFox 云時代的接口管理工具
- 找到自己今生要做的事
- 自動化生活
- 開源與漿果
- Apifox: API 接口自動化測試指南