Home » 算法

布隆过滤器简介

在日常写码中,我们经常能遇到判断一个元素是否在一个给定的集合中的需求。听起来这种问题很简单,用哈希集合就能轻松搞定,用 Python 表示的话,不难写出如下的代码, 并且我们知道在集合中查询的时间复杂度是常数级。然而,如果集合上了规模,我们就不得不考虑这样…

Read More »

八皇后问题

最近 Netflix 又出品了一部新剧,并在豆瓣上获得了 9.0 的高分,叫《后翼弃兵》。讲的是从小在孤儿院长大的主角拥有着不凡的国际象棋天赋,在她的天赋被发现挖掘之后一路走到了国际象棋世界冠军的故事。说到国际象棋,作为一名程序员,自然而然就想到了计算机的…

Read More »

调度场算法

调度场算法由 Edsger W. Dijkstra 发明,用于将中缀表达式转换成后缀表达式,即逆波兰表达式。写过程序的同行都了解,对于计算机来说,一个后缀表达式更容易被理解和计算,所以当处理我们看起来更习惯的中缀表达式时,例如 (3 + 4) * 5 – …

Read More »

如何实现 git 命令行的联想功能

码农生涯离不开 git ,无论是编码开发,版本控制,还是持续集成,代码审查, git 无疑是有效跟踪项目进展的利器,而 git 命令行更是必不可少的工具。我之前也尝试过一些带界面的 git 工具,然而都没有命令行来的顺手,按钮太多,界面太复杂,反而容易搞不…

Read More »

Base64 编码学习笔记( Java 实现)

但凡从事码工这一行,多多少少会遇到 Base64 编码这个概念,因为我们总要接触互联网,而 Base64 编码诞生的目的就是为了让二进制数据能够在只支持文本的媒介上传输,比如说在网络上传输一张图片或者一段音频。而 Base64 本身是一种无损编码转换规则,…

Read More »