杂:概率统计与朴素贝叶斯算法
我们经常有这样的需求:用户发送的消息是不是垃圾信息,某张图片是不是猫、狗等等。对于文本我们可以通过字符串匹配4:AC自动机 敏感词判断,使用杂:位图与布隆过滤器 布隆过滤器来检查。但是对于图片,我们通常需要训练一个分类模型来检测该图片是否是敏感图片。
我们经常有这样的需求:用户发送的消息是不是垃圾信息,某张图片是不是猫、狗等等。对于文本我们可以通过字符串匹配4:AC自动机 敏感词判断,使用杂:位图与布隆过滤器 布隆过滤器来检查。但是对于图片,我们通常需要训练一个分类模型来检测该图片是否是敏感图片。
我们经常有这样的需求:判断一个订单是否存在,判断一个URL路径是否访问过。常规情况下我们可以将存在的订单ID或者已经访问过的URL做成集合,然后通过判断是否在集合中来确认是否存在或者是否访问过。那么我们也同样的可以想到通过hash算法将已存在的订单ID或者已经访问过的URL做映射到一个array的index上,通过检查对于index的值是否为true来判断是否存在。
索引是用来加速查找的数据结构。不同的需求会使用不同的数据结构来构建索引。比如HashMap、Btree、SkipList都是经典的索引数据结构。
递归的思想是将大问题分解成小问题处理,大问题的处理逻辑与小问题的处理逻辑一致。其分解过程可以被表示成一棵树结构,这棵树被称为递归树。
我们在算法设计之初通常只会考虑单线程执行的情况。在实际生产中却有很多情况下可以做并行化优化。