继续复习数据结构和算法,总结一下求解最短路径的一些算法。 弗洛伊德(floyd)算法 弗洛伊德算法是最容易理解的最短路径算法,可以求图中任意两点间的最短距离,但时间复杂度高达$O(n^3)$,主要思想就是如果想缩短从一个点到另一个点的距离,就必须借助一个中间点进行中转,比如A点到B点借助C点中转的话 ...
分类:
编程语言 时间:
2020-02-10 00:08:40
阅读次数:
70
[toc] 1. 介绍 1.1 排序算法分类 1. 内部排序: 数据记录在内存中进行排序 2. 外部排序: 因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 1.2 关于时间复杂度 1. 平方阶($O(n^2)$)排序 各类简单排序: 直接插入、直接选择和冒泡排序 2. 线性对 ...
分类:
编程语言 时间:
2020-02-09 16:45:15
阅读次数:
95
1.顺序查找(线性查找) 顺序查找(Sequential Search)又叫线性查找,是最基本的查找技术。它的查找过程为:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,如果某个记录的关键字和给定值相等,则查找成功,找到所查的记录。如果直到最后一个(或第一个)记录,其关键字和给 ...
分类:
编程语言 时间:
2020-01-28 23:14:41
阅读次数:
111
1、前端 排序算法总结 排序算法可能是你学编程第一个学习的算法,还记得冒泡吗? 当然,排序和查找两类算法是面试的热门选项。如果你是一个会写快排的程序猿,面试官在比较你和一个连快排都不会写的人的时候,会优先选择你的。那么,前端需要会排序吗?答案是毋庸置疑的,必须会。现在的前端对计算机基础要求越来越高了 ...
分类:
编程语言 时间:
2020-01-18 14:39:20
阅读次数:
72
1.初级排序算法 1.1我们关注的主要对象为重拍数组元素的算法。,其中每个元素有个主键,将主键按照某种方式排列。在java中元素通常都是对象,对主键描述往往通过comparable接口。 一般排序模板 public class Example{ public static void sort(Com ...
分类:
编程语言 时间:
2020-01-12 14:59:26
阅读次数:
92
递归算法的实现方法是有多种的,如通过“静态变量”、“全局变量”、“引用传参”的方式: 静态变量的方法: <?php function call(){ static $i = 0; echo $i . ''; $i++; if($i<10){ call(); } } call(); 输出: 0 1 2 ...
分类:
编程语言 时间:
2020-01-04 14:37:00
阅读次数:
90
一.数据结构基础 1.数据结构概念 就是一组数据在内存中的存储形式,也是对基本数据类型的一次封装 也是数据对象中数据元素之间的关系。 算法与数据结构的区别: 数据结构只是静态的描述了数据元素之间的关系 高效的程序需要在数据结构的基础上设计和选择算法 程序=数据结构+算法 总结:算法是为了解决实际问题 ...
分类:
编程语言 时间:
2019-12-24 20:43:02
阅读次数:
115
对回溯法的理解: 回溯法本质就是深搜,对所有可能的结果进行搜索匹配,由于很多情况下结果很多,就需要进行适当的剪枝和分界限制来加快得到解。 回溯法用的最多的就是递归,其实也可用递推,但是递归比较符合人类逻辑 。 回溯法的解题通常是有模板的: Void backtrack() { If(到达边界) {输 ...
分类:
编程语言 时间:
2019-12-18 10:48:44
阅读次数:
87
剔除算法汇总: (1)距离剔除:物体与相机的最大或最小距离,可能最大距离还要加上fadeDistance,来判断物体是否被剔除。距离剔除原理简单,效率高,cpu端运行。ue4的实现在FScene的ComputeViewVisibility函数调用的FrustumCUll函数。ue4可以用cullin ...
分类:
编程语言 时间:
2019-12-09 01:06:20
阅读次数:
456