2015年5月13日

A*(A星)算法python实现

摘要: 在春节放假前两天我偶然看到了A\*算法(A\*算法是一个启发式的地图寻路算法),感觉挺有意思。正好放假前也没有什么事情,就花了一个下午写出算法的骨架,节后又花了半天时间完善屏幕输出的细节并且调试完成。该实现只是一时兴起的随手而作,没有考虑性能和扩展性等问题。正在学习A\*算法的朋友可以拿去随便折腾。 Email: wang.zhigang... 阅读全文

posted @ 2015-05-13 14:06 绝知此事要躬行 阅读(8082) 评论(0) 推荐(0) 编辑

A*(A星)算法Go lang实现

摘要: 之前发表一个A*的python实现,连接:点击打开链接 最近正在学习Go语言,基本的语法等东西已经掌握了。但是纸上得来终觉浅,绝知此事要躬行嘛。必要的练手是一定要做的。正好离写python版的A*不那么久远。这个例子复杂度中等。还可以把之前用python实现是没有考虑的部分整理一下。 这一版的GO实现更加模块化了,同时用二叉堆来保证了openlist的查找性能。可以说离应用到实现工程中的要求差距不... 阅读全文

posted @ 2015-05-13 14:06 绝知此事要躬行 阅读(525) 评论(0) 推荐(0) 编辑

[原]TCP/UDP使用细节备忘

摘要: [原]TCP/UDP使用细节备忘 首先,TCP和UDP的基本区别是TCP提供可靠的面向连接的流传输;UDP提供不可靠的基于数据包的传输; 所谓可靠就是说发送端调用send后,数据就一定会发送给接收端。虽然这当中可能会消耗很长的时间,或者实在无法发送的话发送端或者接收端也能得到适当的通知。而不可靠传输是指,发送端调用send后,接收端能不能收到数据... 阅读全文

posted @ 2015-05-13 14:03 绝知此事要躬行 阅读(472) 评论(0) 推荐(0) 编辑

关于项目技术选型的思考

摘要: 2014年12月加入了一个新的项目,这是一个游戏的辅助项目,其实可以认为是一个典型的互联网产品。这个综合使用了c/s和b/s两种结构。因为游戏相关的项目采用c/s是自然而然的事情,同时运用b/s结构就值得玩味了。在接手该项目b/s相关部份工作的过程中促使我开始认真思考关于一个技术团队在开发一个产品的过程中应该如何选择技术和工具的问题。这个问题完全没有标准答案,但实际上在纷乱无章的表象背后其实还是有... 阅读全文

posted @ 2015-05-13 14:02 绝知此事要躬行 阅读(411) 评论(0) 推荐(0) 编辑

go lang学习笔记——channel机理及调度理解

摘要: 《Go语言编程》一书介绍了libtask库,可以认为这个库等同于go的底层goroutine实现。libtask库的channel的数据结构如下:struct Alt{ Channel *c; void *v; unsigned int op; Task *task; Alt *xalt;};struct Altarray{ Alt **a; unsign... 阅读全文

posted @ 2015-05-13 13:30 绝知此事要躬行 阅读(500) 评论(0) 推荐(0) 编辑

导航