计算机科学gydF4y2Ba

计算几何gydF4y2Ba

十字路口,线段gydF4y2Ba

考虑到gydF4y2Ba PgydF4y2Ba PgydF4y2Ba 表示点的集合,下面所示的伪代码通过检查点是否共线来检查线是否共线gydF4y2Ba pgydF4y2Ba pgydF4y2Ba ,gydF4y2Ba 问gydF4y2Ba 问gydF4y2Ba ,gydF4y2Ba rgydF4y2Ba rgydF4y2Ba 共线,gydF4y2Ba 问gydF4y2Ba 问gydF4y2Ba 通过检查线段的斜率,中心点是什么gydF4y2Ba pgydF4y2Ba 问gydF4y2Ba ‾gydF4y2Ba \覆盖{pq}gydF4y2Ba 和gydF4y2Ba 问gydF4y2Ba rgydF4y2Ba ‾gydF4y2Ba \覆盖{qr}gydF4y2Ba 都是相同的。gydF4y2Ba

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26gydF4y2Ba
函数check for共线(P,n) if (n≤2)then return(false) else根据P中的点的x坐标对其排序。for (i = 1 to n) do Compute the slope of the segments (P¯[i], P[j]) for each j = 1,2 i−1,i + 1, i + 2,…, n,并将其存储在辅助数组A[i]中。end for for (i = 1 to n) do辅助数组A[i]的排序。end for for (i = 1 to n−2)do for (j = i + 1 to n−1)do对a [j]进行二分搜索,检查是否有一个点P[k]使斜率(P[j], P[k]) = x。如果(有这样一个点P[k]存在)则P[i], P[j], P[k]共线。声明没有三个点共线。如果gydF4y2Ba

算法最坏情况下的运行时间是多少?gydF4y2Ba

以下gydF4y2Ba文本文件gydF4y2Ba包含一组三胞胎。每个三元组包含三个整数gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba ygydF4y2Ba ,gydF4y2Ba RgydF4y2Ba x, y, RgydF4y2Ba ,表示一个半径圆gydF4y2Ba RgydF4y2Ba RgydF4y2Ba 集中在gydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba ygydF4y2Ba )gydF4y2Ba (x, y)gydF4y2Ba .在文件中每对圆中,它们有多少相交?gydF4y2Ba

有多少对线段gydF4y2Ba这个文本文件gydF4y2Ba相交吗?gydF4y2Ba

细节和假设gydF4y2Ba

  • 文本文件包含499个整数列表,格式如下gydF4y2Ba [gydF4y2Ba 一个gydF4y2Ba ,gydF4y2Ba bgydF4y2Ba ,gydF4y2Ba cgydF4y2Ba ,gydF4y2Ba dgydF4y2Ba ,gydF4y2Ba egydF4y2Ba ,gydF4y2Ba fgydF4y2Ba ,gydF4y2Ba ggydF4y2Ba ,gydF4y2Ba hgydF4y2Ba ]gydF4y2Ba [a, b, c, d, e, f, g, h)gydF4y2Ba 这代表一组四个点代表两条线gydF4y2Ba 一个gydF4y2Ba BgydF4y2Ba ABgydF4y2Ba 和gydF4y2Ba CgydF4y2Ba DgydF4y2Ba CDgydF4y2Ba .线段gydF4y2Ba 一个gydF4y2Ba BgydF4y2Ba ABgydF4y2Ba 坐标gydF4y2Ba 一个gydF4y2Ba =gydF4y2Ba (gydF4y2Ba 一个gydF4y2Ba ,gydF4y2Ba bgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba BgydF4y2Ba =gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ,gydF4y2Ba dgydF4y2Ba )gydF4y2Ba = (A、b), b = (c, d)gydF4y2Ba 和行gydF4y2Ba CgydF4y2Ba DgydF4y2Ba CDgydF4y2Ba 是gydF4y2Ba CgydF4y2Ba =gydF4y2Ba (gydF4y2Ba egydF4y2Ba ,gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba DgydF4y2Ba =gydF4y2Ba (gydF4y2Ba ggydF4y2Ba ,gydF4y2Ba hgydF4y2Ba )gydF4y2Ba C = (e, f), D = (g, h)gydF4y2Ba
×gydF4y2Ba

问题加载…gydF4y2Ba

注意加载…gydF4y2Ba

设置加载…gydF4y2Ba