楼主: asterid
跳转到指定楼层
上一主题 下一主题
收起左侧

[Coursera] Standford Algorithm Design & Analysis II

🔗
kinslover 2012-12-24 13:45:45 | 只看该作者
全局:

两次一起贴

点评

一个回帖只能加一个学分哦~你可以考虑拆了再发一个  发表于 2012-12-25 10:02

评分

参与人数 1学分 +1 收起 理由
m4reiiy + 1

查看全部评分

回复

使用道具 举报

🔗
kinslover 2012-12-24 13:49:28 | 只看该作者
全局:
bmbdl 发表于 2012-12-23 15:33
再求学分  赶在deadline之前做完第二周的。。

可以求问一下楼上的方法么
回复

使用道具 举报

🔗
bmbdl 2012-12-24 14:49:37 | 只看该作者
全局:
kinslover 发表于 2012-12-24 13:49
可以求问一下楼上的方法么

好像不好公开讨论。。我白色一下吧。。反正你已经做对了。

是说第二题吧,公开课的论坛里有不少讨论,可以看看。我用的办法很暴力,主要是基于这个想法: 题目只要求考虑差别小于3的情况,所以,对每个元素只需要考虑三种配对: 跟它相同的 label,差别为1的,和差别为2的,个数是1 + C(24,1) + C(24, 2) ~= 300,暴力列举就行,ruby/python的话可以直接用标准库里的permutation。
回复

使用道具 举报

🔗
kinslover 2012-12-25 01:07:14 | 只看该作者
全局:
bmbdl 发表于 2012-12-24 14:49
好像不好公开讨论。。我白色一下吧。。反正你已经做对了。

是说第二题吧,公开课的论坛里有不少讨论, ...

我是保留了图中边权<=2的边,然后一遍DFS求出连通分量个数…………
回复

使用道具 举报

🔗
moophis 2012-12-25 08:55:44 | 只看该作者
全局:
kinslover 发表于 2012-12-25 01:07
我是保留了图中边权

对了问一下,你是用什么方法计算hamming距离的?论坛里有人说不用每个节点之间都比较,但我实在不明白他们怎么做的。用brute-force计算距离的话确实有点慢,得花10s左右的时间。
回复

使用道具 举报

🔗
bmbdl 2012-12-25 09:50:15 | 只看该作者
全局:
kinslover 发表于 2012-12-25 01:07
我是保留了图中边权

嗯,DFS或BFS搜索一遍也行,本质上是一样的。主要问题在于怎么把图构建出来,也就是怎么找到这些边权<=2的边。如果是所有节点两两配对的话,跟暴力算汉明距离一样。你是怎么做的?
回复

使用道具 举报

🔗
bmbdl 2012-12-25 09:51:47 | 只看该作者
全局:
moophis 发表于 2012-12-25 08:55
对了问一下,你是用什么方法计算hamming距离的?论坛里有人说不用每个节点之间都比较,但我实在不明白他们 ...

不用每个节点之间都比较 <= 看我上边的,每个节点只可能有300个节点与它的的距离不超过2.
回复

使用道具 举报

🔗
kinslover 2012-12-25 09:52:01 | 只看该作者
全局:
moophis 发表于 2012-12-25 08:55
对了问一下,你是用什么方法计算hamming距离的?论坛里有人说不用每个节点之间都比较,但我实在不明白他们 ...

hamming的话我没做什么优化,就是O(N^2)的算一遍,保留<=2的边构图。目前能拍脑门想到的优化就是:位运算加速,虽然还是O(N^2)的,但是比对任意一对hamming code中元素挨个比较速度是快多了
回复

使用道具 举报

🔗
kinslover 2012-12-25 09:54:31 | 只看该作者
全局:
本帖最后由 kinslover 于 2012-12-25 09:56 编辑
bmbdl 发表于 2012-12-25 09:50
嗯,DFS或BFS搜索一遍也行,本质上是一样的。主要问题在于怎么把图构建出来,也就是怎么找到这些边权

初步就是暴戾20000x20000个边,保留<=2的边,用来构图,然后DFS求树的个数。然后算hamming distance的过程中我感觉可以用位运算加速比较水的做法T__T
回复

使用道具 举报

🔗
bmbdl 2012-12-25 09:59:20 | 只看该作者
全局:
kinslover 发表于 2012-12-25 09:54
初步就是暴戾20000x20000个边,保留

嗯。。暴力的话,用find-union就好了,遍历20k*20k个边,同时就可以find-union做完了。代码比BFS/DFS简单。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表