0x00 前言
Google出品必属精品!作为一名生长在Google大树下的草根程序员,Google的各种技术还是好好膜拜一下的。仔细也一想自己也算看了不少Google不少的论文:Goods、Spanner、F1、GFS、MapReduce、BigTable和Dremel。不过Google成名的PageRank算法没怎么重视,正好最近工作和业务时间都玩了一下,整理一两篇小短文,留个纪念。
我一直认为,程序员不应该对任何算法有所畏惧,因为大部分算法的核心思想和基本设计都不是那么晦涩难懂的。我们可以先搞定基本的算法设计和实现,等到需要用于生产环境时,再加以完善。
内容
本篇大致分为下面三部分:
- PageRank产生的背景
- PageRank的原理
- 用Python实现一个简单的PageRank算法
背景大致过一下,这部分借用一下Mark大神内部分享时候的PPT内容;原理的话只会包含基本的原理,不会太深入(别人问的时候能讲出来最基本的思想和设计);最后的算法实现,只会有二十多行代码,只实现一个最基本的算法模样。
0x01 背景
聊PageRank算法,首先要聊一下搜索引擎,这是一个比较大的话题,居士没搞过搜索引擎加上能力有限,听了Mark大神的内部分享加上各种查资料后还是不知道怎么写合适。战战兢兢,下面智能大致写一点。
我们从技术的角度上来看搜索引擎需要解决的三个问题:
- 建立资料库
- 建立一种数据结构,这种数据结构能够通过keyword找到链接(文档&#