算法
qq_40846446
这个作者很懒,什么都没留下…
展开
-
排序算法之快速排序
快速排序通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列快速排序的思路:(1)首先设定一个分界值,通过该分界值将数组分成左右两部分。(2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或...原创 2019-12-16 20:46:53 · 108 阅读 · 0 评论 -
排序算法之插入排序
插入排序插入排序的基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。1、直接插入排序// 直接插入排序的算法思路: // (1) 设置监视哨arr[0],将待插入记录的值赋值给arr[0]; // (2) 设置开始查找的位置j; // (3) 在数组中进行搜索,搜索中将第j个记录后移,直至arr[0]≥arr[j]为止; /...原创 2019-12-05 21:06:03 · 111 阅读 · 0 评论 -
排序算法之选择排序
选择排序法选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。时间复杂度选择排序的交换操作介于 0 和 (n - 1) 次之间。选择排序的比较操作为 n (n - 1) / 2 次之间。选择排序的赋值操作...原创 2019-12-03 21:12:56 · 121 阅读 · 0 评论 -
排序算法之冒泡排序
冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。冒泡算法思路非常直观,就是追个遍历比较,依据规则来更换位置。最好时间复杂度:O(n)。最坏时间复杂度:O(n...原创 2019-12-02 20:12:19 · 245 阅读 · 0 评论 -
二分查找
二分查找二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。查找过程首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为...原创 2019-11-28 20:07:05 · 85 阅读 · 0 评论 -
游戏中敏感词屏蔽操作(DFA算法)
/** * 违禁词过滤器 DFA算法 */class BannedWordFilter { // 是否已初始化 private _inited: boolean; // 脏词库 private dirtyWordArray: Array<string> = ["垃圾", "辣鸡", "sb", "智障", "呵呵", "jj", "GG", "曹", "鸡儿", "尼玛"...原创 2019-11-22 19:51:04 · 2318 阅读 · 2 评论 -
A*算法个人理解
A*算法是游戏中常用的寻路算法,不管在2D还是3D中,只要是多场景,或者是比较大的场景,需要用到寻路来提示移动角色的都需要用到寻路算法,寻路算法有很多种, 还有递归, 非递归, 广度优先, 深度优先, 使用堆栈等等, 有兴趣的可以研究研究~~。这里主要说A*算法的个人理解。翻译 2019-02-16 17:12:30 · 778 阅读 · 0 评论