自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 线段树

结构:线段树是一个平衡的二元树,所有叶子到根的距离最多只差1。令整个区间的长度为N,则其有N个叶节点,每个叶节点代表一个单位区间,每个内部结点代表的区间为其两个儿子代表区间的联集。线段树的创作函数:root:当前线段树的根节点下标arr: 用来构造线段树的数组istart:数组的起始位置iend:数组的结束位置void build(int root, int arr[], int istart, int iend){if(istart == iend)//叶子节点segTree[root]

2021-01-25 18:14:40 109

原创 广搜与深搜

一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解,必需记实并完成全数搜索,故一般情况下,深搜需要很是高效的剪枝(优化).像搜索最短路径这些的很显著若是用广搜,因为广搜的特征就是一层一层往下搜的,保证当前搜到的都是最优解,当然,最短路径只是一方面的操作,像什么起码状态转换也是可以操作的。深搜就是优先搜索一棵子树,然后是另一棵,它和广搜对比,有着内存需要

2021-01-25 18:08:13 746

原创 二分

在有序表中高效查找元素的常用方法是二分查找,所谓二分即是折半,遵循分治的思想,每次将元序列划分成数量相等的两个子序列,然后查找,最终定位到目标元素。以下是代码(假设data序列按递增序排列):int binary_search(int data, int size, int value){int mid;int left = 0;int right = size - 1;while(left < right){mid = left + (right-left)/2;

2021-01-25 15:30:56 72 1

原创 并查集

并查集,从名字来看主要就是合并与查找,通常会有三种操作。分别是Union,Find,Count。比如,若某个元素 x 是否在集合 s1 中(Find操作),返回集合 s1 的代表元素即可。这样,判断两个元素是否在同一个集合中也是很方便的,只要看find(x) 和 find(y) 是否返回同一个代表即可。而对并查集而言,一个简单的应用就是判断无向图的连通分量个数,或者判断无向图中任何两个顶点是否连通。操作简介:1、Find:Find操作需要找到该子集合的代表元素,而代表元素是树根,因此需要保存树中结点

2021-01-21 16:48:19 109

空空如也

空空如也

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

TA关注的人

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