- 博客(6)
- 收藏
- 关注
原创 最近对问题(分治法)
最近对问题(分治法)问题在给定的n个二维点中求得一对点的最小距离解析首先对点对根据x轴从小到大排序 并将其分为大小为n/2的两个集合S1,S2,并且对S1,S2进行递归,则总集合点对最小距离可能有三种情况:1.两个点均在S1,min为S1的最短距离2.两个点均在S2,min为S2的最短距离3.一个点在S1,一个点在S2,那么这两个点x左边可能范围是中位点加减min(dS1,dS2)...
2020-03-29 16:24:27 504
原创 二分归并排序法
二分归并排序法问题描述二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k解析核心代码int mergearray(int a[], int left, int mid, int right, int temp[]) { int i = left; int j = mid + 1; int m = mid; int n = righ...
2020-03-17 19:56:25 246
原创 简单查找算法时间复杂度
查找算法时间复杂度问题描述写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。算法顺序查找:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的...
2020-03-10 19:26:53 1182
原创 Dijkstra算法求两点最短路径
Dijkstra算法求两点最短路径问题描述对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径,按实验报告模板编写算法。算法简介选取一个起始点加入集合A,剩余点加入集合B计算集合B中的点到初始点的距离dis[i],(若不相邻的距离无穷大,否则为权值)选取最小的dis[i],计为dis[x],并将点x加入集合A更新和点x相邻的点y的dis值(dis[y]=MIN(dis[y...
2020-03-08 14:03:34 2139
原创 Floyd算法求有向图两点间最短距离
Floyd算法求有向图两点间最短距离问题描述用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵),按实验报告模板编写算法。算法描述在计算两点之间的最短路径时,如果两点之间存在其他的点,那么可以将最短路径的情况分为两类,经过某个点和不经过这个点。那么在求有向图中ab两点的最短路径时,遍历剩下的点,比较在a到b的路径中是经过Vi距离短...
2020-03-08 13:19:47 1107
原创 Prim和Kruskal算法实现最小生成树
最小生成树的两种算法1.问题描述在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 T 为 G 的最小生成树2.Prim算法Prim算法即加点法 将一个起始点加入集合V中,寻找与集合相连并且距离最近的点加入集合,要求不可形成回路,...
2020-03-01 16:59:55 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人