数据结构
文章平均质量分 60
yhaida
经常打游戏,偶尔写代码的程序员。
展开
-
流网络 c++实现
流网络,能够模拟物质流动,如输送线,供水或产品运输,并找到最大流量。特点:是一个有向图,且可以有环,不考虑反向边(即使有反向边,也可以通过加点来把一条反向边,变成两条单向边)。组成:源点,容量,汇点。源点S可以认为是起点,类比与水库,可以源源不断地向外输水。容量可以理解为离散数学的边权,类比与流速即单位时间内流过的最大的水量的大小。如果边不存在则认为容量是0。汇点t可以认为是终点,类比与大海,从水库里流出来的水,会源源不断的流向大海。原创 2023-01-14 17:25:06 · 176 阅读 · 0 评论 -
图论 c++实现
图,是用来对对象之间的关系建模的数学结构。图是由由边连接起来的顶点组成的。原创 2023-01-13 22:12:22 · 444 阅读 · 0 评论 -
范围树 C++实现
概述范围树包含两棵树。1.主树:储存全部的数据2.辅树基于X坐标构造主树,得到正则子集并构造基于Y坐标的正则子集关联树。原创 2023-01-04 21:50:53 · 164 阅读 · 0 评论 -
KD树 C++实现
已知样本空间如何快速查询得到其近邻?唯有以空间换时间,建立索引是最基本的解决方式。但是索引建立的方式各有不同,kd树只是是其中一种。它的思想如同分治法,即:利用已有数据对k维空间进行切分。注意:在一维空间里面,二叉查找树就是KD树的情形。对于一颗二叉查找树,可以在空间上理解:树的每个节点把对应父节点切成的空间再切分,从而形成各个不同的子空间。查找某点的所在位置时,就变成了查找点所在子空间。二叉查找树仅仅是一维,如果换到二维?如下图, 这样可以将平面分为两个部分。原创 2023-01-04 16:56:10 · 545 阅读 · 0 评论 -
二叉搜索树C++实现
二叉搜索树又称二叉排序树,具有以下性质:1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值2.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树注意:二叉搜索树中序遍历的结果是有序的高度:从根到叶子的单一路径上,最大节点个数为高度,H=log(n)原创 2023-01-03 14:16:29 · 88 阅读 · 0 评论