Algorithm_Chapter_4-(精品课件).pptVIP

  • 1
  • 0
  • 约1.29万字
  • 约 43页
  • 2018-10-14 发布于广西
  • 举报
* * * * * * * * * * * * * * * The Convex Hull of a 2D Point Set or Polygon /Archive/algorithm_0109/algorithm_0109.htm Convex Hulls /~ah/alg_anim/version1/ConvexHull.html * * * * Yunnan University School of Information Science Engineering * Strassen矩阵乘法 传统方法:O(n3) 分治法: 将矩阵A,B和C中每一矩阵都分块成4个大小相等的子矩阵。由此可将方程C=AB重写为: 由此可得: Yunnan University School of Information Science Engineering * Strassen矩阵乘法 为了降低时间复杂度,必须减少乘法的次数。 Yunnan University School of Information Science Engineering * Strassen矩阵乘法 时间的递推关系式 当n1时,M(n)=7M(n/2),M(1)=1 因为n=2k,M(n)=7M(n/2)=72M(n/22)…… =7kM(1)=7K M(n)=7log2n=nlog27 ≈n2.807 Hopcroft和Kerr已经证明(1971),计算2个2×2矩阵的乘积,7次乘法是必要的。因此,要想进一步改进矩阵乘法的时间复杂性,就不能再基于计算2×2矩阵的7次乘法这样的方法了。或许应当研究3×3或5×5矩阵的更好算法。 在Strassen之后又有许多算法改进了矩阵乘法的计算时间复杂性。目前最好的计算时间上界是 O(n2.376) 是否能找到O(n2)的算法???目前为止还没有结果。 一维最近对问题 School of Information Science Engineering * S1 S2 p1 p2 p3 q1 q2 q3 Yunnan University Yunnan University School of Information Science Engineering * 二维最近对问题 P1(x1,y1),...,Pn=(xn,yn)是平面上n个点构成的集合S,假设n=2k。 x=c d1 d2 d=min{d1,d2} d=min{d1,d2} C1 C2 Yunnan University School of Information Science Engineering * 二维最近对问题 在合并两个子集C1和C2时,对于C1中的每个点P(x,y),都须要检查C2中的点和P之间的距离是否小于d。 在C2中,这样的点不会超过六个 P d d d 计算时间: 合并最小问题所花的时间为M(n)=O(n) 该算法的递归时间为: T(n)=2T(n/2)+M(n)=O(nlogn) Yunnan University 三维最近点对 怎么办? School of Information Science Engineering * Yunnan University 凸包问题(Convex Hulls Problem) Algorithm Speed Discovered By Brute Force O(n4) [Anon, the dark ages] Gift Wrapping O(nh) [Chand Kapur, 1970] Graham Scan O(n log n) [Graham, 1972] Jarvis March O(nh) [Jarvis, 1973] QuickHull O(nh) [Eddy, 1977], [Bykat, 1978] Divide-and-Conquer O(n log n) [Preparata Hong, 1977] Monotone Chain O(n log n) [Andrew, 1979] Incremental O(n log n) [Kallay, 1984] Marriage-before-Conquest O(n log h) [Kirkpatrick Seidel, 1986] School of Information Science Engineering * Yunnan University School of Information Science Engineering * 凸包问题(Convex Hulls Problem) 假设P1=(x1,x2),…,P(xn,yn)是平面上n1个点构成的集合S,并按X轴坐标升序

文档评论(0)

1亿VIP精品文档

相关文档