最近人工智能老师布置了一道八数码游戏,先是在网上down下了个C#实现的八数码游戏,界面做的很好,采用的是广度搜索。队列就用的Queue,还用到了一个类就是Dictionary,两个都采用泛型技术。其中dictionary类是键值对的组合,(不允许键的重复),命名空间为 System.Collections.Generic。采用它的一个非常重要的好处就是查找速度非常快,接近O(1)。而相对于ArrayList查找速度为O(n)。因为在扩展当前状态时,先从队列中取出一个,扩展的节点要判断是否出现过,这就要用到遍历以前的状态,而dictionary好处就是查找速度快,因此算法时间复杂度低。
Dictionary类
最新推荐文章于 2024-07-06 19:49:00 发布