算法
文章平均质量分 63
大衍神君小迷弟
这个作者很懒,什么都没留下…
展开
-
Fisher–Yates shuffle 算法详解:给定数组的乱序
1、算法思想根据维基百科解释:TheFisher–Yates shuffle is analgorithm for generating a random permutation of a finite sequence—in plain terms, the algorithm shuffles the sequence. The algorithm effectively puts all the elements into a hat; it continually determines the n转载 2021-07-27 17:47:05 · 291 阅读 · 2 评论 -
判断点是否在三角形内
//这里用到的是 叉积法, 判断 点于三角形的顶点的叉积的符号是否相同,如果相同则是在三角形内,否则就在外面//PS 未考虑特殊情况,点在三角形的边上using System.Collections;using System.Collections.Generic;using UnityEngine;public class PointTest : MonoBehaviour{public Transform[] transforms;public Transform point;原创 2021-07-13 19:18:54 · 251 阅读 · 0 评论 -
四叉树QTree增强版
!!这是在unity里可视化的四叉树跟普通的四叉树有何区别:普通四叉树是 当插入的时候 如果节点满了 则去分割,然后把当前的节点的数据转移到子节点去,这样就造成了 只有叶子上才有数据,造成了内存浪费,且当数据量大的时候 查询深度大。当更新位置的时候是 直接删除再重新插入,频繁删除创建,不合理。增强版四叉树:直接根据深度生成满节点的四叉树,每个节点有个自己所对应的矩形TreeRect,当有数据插入的时候,找到最小能容纳此数据的节点(即TreeRect包裹住DataRect),如果都不能容纳就放到根节点原创 2021-02-07 03:10:52 · 497 阅读 · 0 评论 -
A*算法导论
1 导言1.1 算法1.2 Dijkstra算法与最佳优先搜索1.3 A算法2 启发式算法2.1 A对启发式函数的使用2.2 速度还是精确度?2.3 衡量单位2.4 精确的启发式函数2.4.1 预计算的精确启发式函数2.4.2 线性精确启发式算法2.5 网格...原创 2019-08-13 23:20:14 · 1217 阅读 · 0 评论 -
7种排序算法
1、冒泡排序最简单的一种排序算法。假设长度为n的数组arr,要按照从小到大排序。则冒泡排序的具体过程可以描述为:首先从数组的第一个元素开始到数组最后一个元素为止,对数组中相邻的两个元素进行比较,如果位于数组左端的元素大于数组右端的元素,则交换这两个元素在数组中的位置,此时数组最右端的元素即为该数组中所有元素的最大值。接着对该数组剩下的n-1个元素进行冒泡排序,直到整个数组有序排列。算法的时间复杂...转载 2019-09-30 00:33:48 · 116 阅读 · 0 评论 -
斗地主出牌规则
斗地主AI设计一、牌型1 火箭:大小王在一起的牌型,即双王牌,此牌型最大,什么牌型都可以打。2 炸弹:相同点数的四张牌在一起的牌型,比如四条A。除火箭外,它可以打任何牌型,炸弹对炸弹时,要比大小。3 单支(一手牌):单张牌,如一支3。4 对子(一手牌):相同点数的两张牌在一起的牌型,比如55。5 三条:相同点数的三张牌在一起的牌型,比如三条4。6 三带一手:三条 + 一手牌的牌型,比...原创 2019-10-07 23:19:25 · 3562 阅读 · 0 评论