关于数据结构的知识整理
作者: 陈劲灿 编辑日期: 2017年10月13日 14:17 阅读量: 351 分类: 算法

二叉树的数据结构

 1.
 2.
 3.
 4.
 5.
 6.
 7.
 8.
 9.
10.
11.
12.
template<typename DataType>
class BinaryTree
{
    typedef BinaryTree<DataType> Node;

public:
    DataType m_data;
    Node* m_parent;
    Node* m_left;
    Node* m_right;

    Bi

关于算法的单独整理文章
作者: 陈劲灿 编辑日期: 2017年10月11日 14:04 阅读量: 413 分类: 算法

快速排序算法

1.
2.
3.
4.
5.
6.
7.
8.
9.
def partition(arr, left, right):
    i = left
    j = right
    temp = arr[i]
    while i != j:
        while arr[j] >= temp and i < j: 先从右边开始查找
            j -= 1

        while arr[i] <= temp a

行为树学习
作者: 陈劲灿 编辑日期: 2017年5月16日 17:26 阅读量: 352 分类: 算法

行为树简介 简单的说就是从树的根节点开始,通过制定的条件一层层向下搜索查找符号条件的动作节点(叶节点),并且执行动作节点的这样一个过程。与有限状态机(FSM)类似可以用于设计游戏AI。 这里多说一点想制作自己的游戏AI可以先从FSM开始学起,推荐书籍《游戏人工智能编程精粹案例》。学习行为树可以先玩玩腾讯开源的行为树https://github.com/Tencent/behavi


Lua实现四叉树
作者: 陈劲灿 编辑日期: 2017年5月2日 16:44 阅读量: 3006 分类: 算法

四叉数在很多地方都有应用,在游戏领域比较常用的是使用四叉数进行碰撞检测,或者进行空间索引。这里贴一个简单的四叉数Lua实现版本。

1.
2.
3.
4.
5.
6.
7.
8.
QuadTree = {}
QuadTree_mt = {}

NodeDirect = {
    TOP_LEFT = 0,
    TOP_RIGHT = 1,
    BOTTOM_LEFT = 2,
    BOTTOM_

游戏中的碰撞检测算法
作者: 陈劲灿 编辑日期: 2017年4月1日 17:03 阅读量: 317 分类: 算法

2D游戏中的AABB算法

  • AABB在2D空间的定义
  • 检测两个AABB是否相交,下面是直接拿box2d中的代码,其中lowerBound 为最小点,upperBound为最大点。
1.
2.
3.
inline bool b2TestOverlap(const b2AABB& a, const b2AABB& b){
    b2Vec2 d1, d2;
    d1 = b.

栈的应用之判断符号是否对称
作者: 陈劲灿 编辑日期: 2017年3月31日 16:02 阅读量: 315 分类: 算法

栈是一个先进后出(FILO)的数据结构。可以通过它的特性解决一些问题。比如编译器编译时会检查括号的对称性。 先看看这个算法的简单的描述:

做一个空栈。读入字符直至文件尾。如果字符是一个开放字符,将其压入栈中。如果字符是一个封闭符号,那么若栈为空,则报错;若栈不为空,则将栈元素弹出。如果弹出的符号不是对于的开放符号,则报错。在文件尾,如果栈非空则报错。 --数据结构与算法分析

`




@chenjincan