Liam0205 / liam0205.github.io

Deployment of my weblog.
https://liam0205.github.io
35 stars 5 forks source link

100 行代码实现 PageRank 算法 | 始终 #171

Open Liam0205 opened 5 years ago

Liam0205 commented 5 years ago

https://liam.page/2017/04/04/Python-100-lines-of-PageRank/

搜索引擎是现代互联网的基础设施之一,而 ranking 则是搜索引擎的需要解决的核心问题。 最早尝试对搜索结果进行 ranking 的应该是 Yahoo 公司,但最终革命性突破的是 Google 公司的 Larry Page 与 Sergey Brin 发明的 PageRank 算法。

muyuuuu commented 3 years ago

数据集那里,链接和后面的文字粘到一起了。

Liam0205 commented 3 years ago

@muyuuuu fixed

muyuuuu commented 3 years ago

那个,我不知道你数据咋预处理的,emmm,我也没 py2 的环境,我颅内 debug 一下:

80:pr_list = [alpha / vtx_num for _ in range(vtx_num)] # 假设 pr_list 是100长度
82:pr_list.append() #追加了一些元素
89:for i in range(vtx_num) # 明显无法访问 pr_list[i] 的全部元素

然后,我在py3下的执行的结果是,所有页面排名一样。是『数据预处理』或『py2与py3差异』导致的嘛(2017年,这篇文章不会是藏货吧

Liam0205 commented 3 years ago

@muyuuuu 那个,我不知道你数据咋预处理的,emmm,我也没 py2 的环境,我颅内 debug 一下:

80:pr_list = [alpha / vtx_num for _ in range(vtx_num)] # 假设 pr_list 是100长度
82:pr_list.append() #追加了一些元素
89:for i in range(vtx_num) # 明显无法访问 pr_list[i] 的全部元素

然后,我在py3下的执行的结果是,所有页面排名一样。是『数据预处理』或『py2与py3差异』导致的嘛(2017年,这篇文章不会是藏货吧

说实话……我不太记得了……

时间太久远了……

muyuuuu commented 3 years ago

时间太久远了……

哈哈哈哈。我自己复现了一个版本,然后呢,我本来想用numpy直接创建邻接矩阵,但空间复杂度巨大。看到了你的代码,果然数据结构合理能简化复杂度,谢谢谢谢你呀。