查看: 4961| 回复: 6
跳转到指定楼层
上一主题 下一主题
收起左侧

关于A*算法和dijskra算法

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
关于dijskra算法和A*算法,小弟有一个疑问,希望各位大牛不惜赐教。
我知道A*算法效率要更高,可是不太明白二者在应用上有什么区别,就是什么场合应该用A*,什么场合应该用dijskra? 对于带权图来说,怎么确定H(n)比较好呢?是不是带权图用dijskra更方便呢?还有就是不知道哪位大神有A*算法的实际应用讲解和Java实现啊,小弟**一枚,这两天看图这块有点晕。

上一篇:发一个自己写的leetcode的代码,保存在github上
下一篇:对于递归的迷惑
🔗
readman 2014-3-28 09:26:19 | 只看该作者
全局:
不是有公开课 算法II 是普林斯顿的 刚开, 你快去跟
回复

使用道具 举报

🔗
chopper 2014-3-28 09:45:25 | 只看该作者
全局:
dijskra算法和A*算法本身感觉没直接的可比性吧
A*因为有估价,所以更经常被用于可行解,比如8数码
h(n)记得没错,应该是中间结点到终点的估价吧,这个只能靠经验,一般设计时复杂度不要过高
dij也有堆的实现方法,复实度O(nlgn),类似于A*的h(n)取0
回复

使用道具 举报

🔗
狂暴CNM地 2014-3-28 10:17:24 | 只看该作者
全局:
如果你只是为了以后面试的话感觉A*可以不用搞太明白。。 h的选择是一个很靠经验的问题.. 毕竟任何小于实际值的估计都能得出正确答案
A*利用heuristic避免了对一些明显差的空间的搜索 其实不仅是最短路径上 还有很多问题上A*都可以被运用
回复

使用道具 举报

🔗
 楼主| anikin0617 2014-3-28 10:40:11 | 只看该作者
全局:
readman 发表于 2014-3-28 09:26
不是有公开课 算法II 是普林斯顿的 刚开, 你快去跟

OK,这就去,谢啦
回复

使用道具 举报

🔗
readman 2014-3-28 11:00:55 | 只看该作者
全局:
chopper 发表于 2014-3-28 09:45
dijskra算法和A*算法本身感觉没直接的可比性吧
A*因为有估价,所以更经常被用于可行解,比如8数码
h(n)记 ...

d算法除了堆 还有实现方法?
回复

使用道具 举报

🔗
chopper 2014-3-28 11:17:39 | 只看该作者
全局:
readman 发表于 2014-3-28 11:00
d算法除了堆 还有实现方法?

有啊,只是实现上,而非算法上。
直接用double loop,O(n^2)。因为用堆的话,“每个点扩展的第一次必定最优”可能不是那么好理解,所以如果时间要求不高,就直接for for了。

评分

参与人数 1大米 +5 收起 理由
readman + 5 原来是这样

查看全部评分

回复

使用道具 举报

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

本版积分规则

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