算法

最后更新于:2022-04-02 04:30:50

## 算法 [按首字母给图书排序:冒泡排序、插入排序、快速排序算法原理](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
';