随笔分类 - 数据结构与算法
摘要:相关推荐: 一个方法团灭 nSum 问题 如何实现一个计算器 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: 215.数组中的第 K 个最大元素(中等) ———– 快速选择算法是一个非常经典的算法,和快速排序算法是亲兄弟。 原始题目很简单,给你输入一个无序的数组 n
阅读全文
摘要:假如对数组nums进行桶排序,nums的长度为L,最小元素为A,最大元素为B。 则gap为(B-A)/L+1,桶的个数为(B-A)/gap+1。 另外一个重要的性质是,同一个桶中的元素相差最多为gap-1。 对nums中的元素nums[i],确定放入哪个桶的公式为:(nums[i]-A)/gap 桶
阅读全文
摘要:1、图的深度遍历 2、二叉树的遍历 3、骨骼树的遍历 https://www.cnblogs.com/gangtie/p/13937403.html 4、字符串全排列 https://labuladong.gitbook.io/algo/suan-fa-si-wei-xi-lie/3.1-hui-s
阅读全文
摘要:初始状态相同,使用线性同余控制随机数的产生,因初始状态相同,所以两次的随机结果是相同的
阅读全文
摘要:说明: 简单总结一下深度优先算法和广度优先算法在Unity中最直观和最多见的使用。这里我所举的例子是应用到Unity中3D 人物的全部骨骼关键的遍历,推广开就是能够对全部物体的层级关系进行简单的遍历。。。算法 数据结构中的树的遍历在Unity中最直观的表现就是对某物体的全部子物体的遍历关系。数据结构
阅读全文
摘要:1、物体处于边界交叉处存放在哪个节点 2、物体在边界来回移动的四叉树维护问题 https://zhuanlan.zhihu.com/p/180560098 3、空间的对象分步不均匀导致不平衡树的出现 https://www.cnblogs.com/arxive/p/8139002.html
阅读全文
摘要:今天了解了一下游戏中的PVP模块的实现,大多数的游戏都使用到了ELO算法,刚开始的时候并不清楚这个算法是做什么的,对此开始大量查找有关于ELO算法的资源,功夫不负有心人,总算找到一些有用的资源了。 先来简单介绍一下埃洛等级分系统,根据百度百科是这样描述的: 埃洛等级分系统是指由[匈牙利](http:
阅读全文
摘要:List和Dictionary想必是我们平常用到最多的C#容器了,他们使用起来都很简单,所以很多人就可能就没去深究,其实在使用过程中有很多的小技巧能让我们写的代码变得更高效也更安全。 1·合理的指定初始容量。 List和Dictionary的构造函数都有一个入参为int的构造函数:public Di
阅读全文
摘要:迪杰斯特拉算法介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本思想 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进
阅读全文
摘要:一:递归实现 在学校里学习递归的时候,老师就喜欢举斐波那契这个例子,看!多简洁清晰。其实这个例子是非常不适合作为递归举例的, 原因就是效率太慢,除了最后一个数,每个数都被算了一遍又一遍,时间复杂度差不多是5n^2/3。二:数组实现 空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快。三:ve
阅读全文