摘要: 特别说明: 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 一:插入排序算法思想 01.设待排序序列为 。插入排序将 划分为由已排序好序的 部分 以及 未排序的 部分组成; 注意:刚开始时 部分其实可认为只有一个元素,即: 元素 02.排 阅读全文
posted @ 2016-07-31 13:55 Jacc.Kim 阅读(320) 评论(0) 推荐(0)
摘要: 一:概述 在实际中,经常需要用到字符串的模式匹配处理。即在指定文本串中定位指定的模式串,统计所有与模式串的偏移位置情况。而解决该问题的算法也有许多种,最为普通的算法莫过于“朴素匹配算法”。如果构成字符串的有限字符集全为数字类型的字符,则还可以考虑R-K匹配算法(即:Rabin & Karp提出的匹配 阅读全文
posted @ 2016-07-23 16:02 Jacc.Kim 阅读(442) 评论(0) 推荐(0)
摘要: A*算法思想容易理解,但要想设计出好的A*算法,则必需要全面深入了解它。在本文章中接下来的内容中,将全面深入探讨该话题。如果对该算法还没有理解的话,则请先查阅上篇文章《A*算法入门》,然后再看该文章。 一:理论篇 探讨:估值函数 A*算法之所以效率高是因为它是启发式的搜索算法。它是在Dijkstra 阅读全文
posted @ 2016-07-14 20:27 Jacc.Kim 阅读(2065) 评论(0) 推荐(0)
摘要: 一:概述 A*算法在游戏中应用是十分广泛的,许许多多的游戏在寻路方面都会考虑使用该算法(当然除该算法外,前辈们也想出很多其他办法),它是一种启发式的寻路搜索算法。今天这边重点全面分析探讨A*算法。 二:术语 此处对接下来将要讨论的内容中的相关术语约定如下: start-node :起始节点。即:用户 阅读全文
posted @ 2016-07-12 20:40 Jacc.Kim 阅读(4893) 评论(0) 推荐(0)
摘要: 在项目开发中,有时需要用到随机数生成器。用Win自带的接口或项目所依赖的底层模块(如:cocos2d-x引擎中的CC_RANDOM_0_1之类的)的确也能生成相应的随机数。但它们有一定的局限性。Win自带的API不支持跨平台,cocos2d-x引擎支持的随机数服务端就“没办法用”(其实用是可以用,但 阅读全文
posted @ 2016-07-12 09:14 Jacc.Kim 阅读(1347) 评论(0) 推荐(0)
摘要: STL中,list的优点是插入、删除性能极佳(时间复杂度只需O(1)即可),而且非常重要的在删除节点后,其迭代器不失效,但list查找却不擅长。map由于其实现的数据结构为rb-tree,因此,其插入、删除以及查找的性能也都是非常不错的。如:插入、删除操作在多数情况下,可能只需要几个简单的数据交换、 阅读全文
posted @ 2016-06-28 09:35 Jacc.Kim 阅读(206) 评论(0) 推荐(0)
摘要: 访问者模式意图在不改变目标对象类结构的情况下,扩展对象类的行为。新扩展的行为均被封装成类对象的形式来动作。应用该模式时,往往目标类系与Visitor类系是两个不同的类系,它们配合工作但维护是分开的,互不影响。每次扩展一个新行为时,需要新增加一个Visitor派生类。而目标类系只需要接受Visitor 阅读全文
posted @ 2016-06-21 15:14 Jacc.Kim 阅读(183) 评论(0) 推荐(0)
摘要: 模板方法意图是为算法定义好骨架结构,并且其中的某些步骤延迟到子类实现。该模式算是较为简单的一种设计模式。在实际中,应用也较为频繁。模式的类关系图参考如下: 模式的编码结构参考如下: 1 namespace template_method 2 { 3 class IAbstractClass 4 { 阅读全文
posted @ 2016-06-21 11:41 Jacc.Kim 阅读(154) 评论(0) 推荐(0)
摘要: 策略模式意图将解决问题的算法分别封装成一个个对象的形式,并使这些算法对象相互间可被替换。模式比较简单,对于策略对象结构的设计,可抽象一个抽象基类,并定义好相关算法(纯)虚接口,并由各种具体的实现算法子类实现即可。因此模式的类关系结构图参考如下: 模式编码结构参考如下: 1 namespace str 阅读全文
posted @ 2016-06-21 09:19 Jacc.Kim 阅读(210) 评论(0) 推荐(0)
摘要: 状态模式其意图是在一个对象的状态发生变化时能够同时改变它的行为。一个生活中比较常见的例子就如你(是指你自己本人)在走时时,整个人全身的动作是双手臂前后慢慢摇摆且双脚也是一步一步慢慢往前移的,即:该走路状态下,你所对应的是走路动作;在跑步时,你的双手双脚动作明显频率、步伐都加快,即:在跑步状态下,你所 阅读全文
posted @ 2016-06-17 21:20 Jacc.Kim 阅读(276) 评论(0) 推荐(0)