在“算法导论:创造性方法”中计算平面中的区域

时间:2016-04-17 18:35:31

标签: algorithm

我正在阅读“算法导论:创造性方法”一书。 但是对平面中计数区域公式的证明提出了一个问题。

作者使用归纳法进行第13页和第14页的证明。

第13页

  

因此,我们只需证明第n行的存在导致第(n + 1)行添加一个额外的区域

第14页

  

但是,当第n行存在时,第(n + 1)行的加法将R影响到两个区域(R从两个到四个区域切割)而不是仅添加一个。

似乎假设失败了。但

  

因此,第(n + 1)行在没有第n行的情况下添加n个区域,但是在第n行添加n + 1个区域,证明完成。

我真的很困惑。 证明如何完成? 有谁知道为什么? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

让我们首先回顾一下这个假设:

  

在平面的一般位置再向N-1线添加一条线会使区域数增加N.

N的假设仅在缺少(N) th -Line时使用,以确保(N + 1) th -Line确实增加N个区域(当然,当(N) th -Line缺席时。)

现在我们要向N + 1的情况向前迈出一步。

这里我们有(N) th -Line重新进入并检查区域 R 和其他区域。在 R 之外,(N) th -Line如何分割区域与(N + 1) th -Line无关。 (N + 1) th -Line增加(N-1)行,不包括 R ,无论如何(N) th -Line作品。此外,由于存在(N) th -Line,与原始的2个区域相比, R 被分成4个区域而不是3个区域。因此,(N + 1) th -Line贡献function renderZingCharts(aIds, aData) { // do some sanity checks for length of two arrays here ??? for (var i=0; i < aIds.length; i++) { zingchart.render({ id: aIds[i], data: aData[i], height:300, width:500 }); } } var ids = ['chartDiv1', 'chartDiv2', 'chartDiv3', 'chartDiv4']; var configs = [myChart1, myChart2, myChart3, myChart4]; renderZingCharts(ids,configs); 行。

请注意,当我们谈论 R 之外的区域时,(N + 1)行增加了(N + 1) th -Line由假设承诺另外,当我们谈论N的假设时,只有线的数量很重要,而不是哪条线。因此,假设没有失败,因为我们在没有(N) th -Line的情况下使用它。

对于详细的个人口译表示抱歉,并希望能提供帮助。

答案 1 :(得分:0)

当不存在第n条线时,第(n + 1)条线将添加n个区域,在这里我们应注意,n个区域之一位于第n条线和第(n + 1)条的区域R中第一条线将相交。也就是说,如果没有第n行,第(n + 1)行会添加不在R中的n-1个区域和在R中的1个区域。

现在,如果我们加回第n行,我们将在R中再创建两个区域(一个是Manber所描述的“附加”区域),而其他区域不受第n行影响,因此我们得到n-1 + 2 =总共n + 1个新添加的区域。归纳假设成立。