数据结构
myy_cjw
这个作者很懒,什么都没留下…
展开
-
最近点对问题(分治法以及蛮力法的运用)
1.问题 数学语言:设p1=(x1,y1),p2=(x2,y2)…pn=(xn,yn)是平面n上n个点构成的集合S,找出集合S中距离最近的点对就是集合里的最小点对,两者的距离就是最小对距离。 2.解析 (1)将集合S分成两个子集S1和S2,每个子集中大约有n/2个点,设集合S的最近点对是pi和pj(1<=i,j<=n)则有以下三种情况 1.pi∈S1,pj∈S1 2.pi∈S1,pj∈...原创 2020-03-24 19:10:09 · 1441 阅读 · 0 评论 -
归并排序Mergesort
1.问题 数学语言:对n个不同的数构成的数组A进行排序,其中n=2^k 2.解析 把一个无序的数组分成n个数据,每个数据本身比较合并一次,之后再和下一个数组比较并合并,以此类推。 3.设计 merge(int A[], int l, int r, int mid) { i = l; j = mid + 1; //新建a数组,用于归并排序 for (k = l; k <= r; k++)...原创 2020-03-17 19:19:05 · 369 阅读 · 0 评论 -
两个简单的查找算法-遍历查找和二分查找
1.问题 数学语言:给定一个有序数组T,从里面寻找值为n的元素,并输出下标,若元素不存在就输出0。 查找问题。 2.解析 用两种算法写这个问题,最暴力的肯定就是O(n)的遍历算法,遍历整个数组查找是否有值相等的数据;而第二种优秀很多的算法明显就是二分查找啦,精度相同的情况下查找速度提高非常大,时间复杂度仅仅是O(logn)。 3.设计 遍历: for (i = 1; i <= n; i++)...原创 2020-03-10 18:34:09 · 424 阅读 · 0 评论 -
1
期中摸的二叉树 感觉功能挺全的 存一下 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<string> #include<algorithm> #include<iostream> using namespa...原创 2020-01-17 20:25:33 · 275 阅读 · 0 评论