自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朝气蓬勃

码农的自我修炼

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

原创 hiho 29 最小生成树三·堆优化的Prim算法

问题描述最小生成树算法,在稀疏图时,Kruscal复杂度更低,我们可以使用堆优化的prim算法达到与Kruscal一样的复杂度。 Prim算法本身的时间复杂度是O(N^2)的,而在这个算法中,使用了堆来维护所有的边,操作数一共是O(M)级别的,所以复杂度是O(MlogM)的!而Kruscal算法的时间复杂度是O(MlogM + M * Ackermann’(M)),总的说来,是优化到了和Krusc

2016-01-23 16:54:02 3951

转载 hiho 28 堆

问题描述堆是一种数据结构,堆有两种,小根堆和大根堆,先说大根堆,如果对于一个节点上带有权值的完全二叉树,每个节点的权值都比它的左右子节点的权值大的话,这颗二叉树就被称为大根堆。算法描述(以大顶堆为例)堆上有两种操作,第一种是向堆中加入一个新元素。我们在堆得末尾加入新元素,此时新加入的元素可能比其父节点大,此时和父节点交换,交换之后可能还存在违反堆定义,依次交换,直到当前节点比父节点小。 第二种

2016-01-23 15:27:57 273

原创 hiho 27 最小生成树二·Kruscal算法

问题描述最小生成树算法。算法描述prime算法中有一个结论:对于城市i(i≠1),如果i与城市1的距离不超过其他任何城市j(j≠1)与城市1的距离,那么(1, i)这一条边一定存在于某一棵最小生成树中么?” 可以证明图中最短的边是属于最小生成树的,然后将最短边相连的两个顶点看做一个顶点,再找图中最短的边,依次类推进行N-1次就可以找到整棵树。 我们可以在开始时就讲图中的边排序,从小到大依次将边加

2016-01-22 18:23:55 329

原创 hiho 26 最小生成树 prime

问题描述生成树这个名词是相对于一个确定的图G来的,也就是说你不能说一棵树T是生成树,只能说T是G的生成树,而生成树的意思就是,T的结点与G的结点是一样的,而且T的边集是G的边集的子集,这就是所谓的生成树。而最小生成树——意思就是G的所有生成树中边权和最小的一棵。”算法描述首先我想证明一个结论:对于城市i(i≠1),如果i与城市1的距离不超过其他任何城市j(j≠1)与城市1的距离,那么(1, i)这一

2016-01-19 15:53:56 254

原创 cuda share memory

cuda share memory 声明时最好加上 volatile 关键字。__shared__ volatile T sdata[blockSize];volatile 表示这个变量会被外部程序读取或者修改。比如变量所在地址是一个端口,外部程序可以读取或者修改端口的数据。为防止编译器优化时使用寄存器缓存这个变量, 我们必须加上volatile关键字。 一个例子是cuda 中的warp re

2016-01-19 13:42:32 1490

原创 hiho 25 最短路径 SPFA

问题描述 无向图中,两点之间最短距离。 算法描述: SPTA算法是针对稀疏图的,其复杂度只与边的个数有关,为O(V); 基本思想是广度优先搜素+剪枝;#include <cstdio>#include <vector>#include <cstring>#include <queue>using namespace std;enum {maxn = 100000+5, maxm =

2016-01-17 16:15:28 242

原创 hiho 24 最短路径 二 Floyd算法

问题描述: 对于无向图, 求任意两点之间最短路径。 算法描述: floyd 算法基本思想是,“那我这么说吧,首先,最开始的时候,MinDistance(i, j)——即从第i个点到第j个点的最短路径的长度,拥有一个限制:这条路径不能经过任何节点。”小Hi道。“那就是说如果从i个点到第j个点之间没有直接相连的边的话,这个长度就是无穷大咯?”小Ho总结道:“只需要把输入的边填进MinDistanc

2016-01-17 16:11:30 293

原创 CUDA 7.5 Nsight 4.7 GTX960 openGL interop 调试报错

问题描述: 使用Nsight 调试时 函数 cudaGraphicsMapResources 处报 cudaUnknownErrors; 使用VS调试时没有错误。 解决方法: 升级最新显卡驱动。

2016-01-12 17:27:45 426

3D数学基础 图形与游戏开发

《3D数学基础 图形与游戏开发》 作为一本3D图形学入门书籍,其语言简练,生动易懂。主要内容包括EulerAngle, Quaternion, Matrix, 并给出了C++ 实现。注意在翻译版中代码是有一些错误的,不能直接使用, 建议大家自己推导一遍。 该版本是黑白扫描版,不是很清晰,且翻译版的部分公式和代码有错误,请大家注意。

2017-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除