【问题标题】:is a "non-decreasing" sequence "increasing"?是“非减少”序列“增加”吗?
【发布时间】:2009-12-26 14:14:49
【问题描述】:

在研究《Cormen 的算法导论》这本书时,我发现了一件奇怪的事情。如果它指的是递增顺序,那么本书将其称为“非递减”顺序。我的意思是,如果要以“非递减”顺序排列一个系列(2,5,6,3)。不是已经对了吗??还是“增加”和“不减少”两个词的意思是一样的?

【问题讨论】:

  • 非递减意味着下一个元素不小于前一个,增加意味着下一个元素大于前一个
  • 这是语言问题,不是编程问题。

标签: algorithm


【解决方案1】:

增加 - 1 2 3 4

非递减 - 1 1 2 3

不同之处在于,在递增序列中,对于 x(n) 和 x(n+1),x(n+1) > x(n),而在非递减序列中,x(n+1) >= x(n)

【讨论】:

  • 这个答案与常见的数学术语不同。请参阅下面的 Kunal Vyas 答案。
  • @Yola - 你所说的“与常用数学术语不同”是什么意思?你的意思是说这个答案在数学上是不正确的?
【解决方案2】:

1,2,3,4 是递增序​​列或非递减序列。

1,1,1,1 是非递减序列,但不是递增序列。

【讨论】:

  • 这个答案与常见的数学术语不同。请参阅下面的 Kunal Vyas 答案。
【解决方案3】:

是的,

单调递增 == 递增 == 非递减

if f(a) >= f(b) for all a > b

严格递增函数

if f(a) > f(b) for all a > b

【讨论】:

  • 这个答案必须是被接受的。因为它提供了数学术语。
  • 这个答案如果也有一个例子会更好。
  • 根据mathworld.wolfram.com/MonotoneIncreasing.html“单调递增:一直递增;从不保持恒定或递减。也称为严格递增。” (也许是“错误的”)
  • @Yola 但更一般地说,人们在计算机科学数学中使用“非递减”而不是“递增”是有原因的。
【解决方案4】:

增加意味着每个元素都大于它之前的元素。非递减意味着没有元素小于它之前的元素,或者换句话说:每个元素都大于或等于它之前的元素。

【讨论】:

    【解决方案5】:

    如果系列中有重复项,则“非减少”一词比“增加”更准确。

    【讨论】:

      【解决方案6】:

      这取决于作者定义这些术语的方式。

      在您的情况下,作者区分了非递减 (1, 2, 2, 3) 和递增 (1, 2, 3)。这在总订单的上下文中是有意义的,其中不是 a > b 意味着 a

      其他人称之为递增 (1, 2, 2, 3) 和严格递增 (1, 2, 3)。这在偏序的上下文中更有意义,其中对于两个不同的元素 a 和 b,可能 a

      【讨论】:

        【解决方案7】:

        非递减就是这个意思。它与增加并不完全相同,因为它不会告诉您如何处理相同的值。

        考虑序列 1, 2, 2, 3, 4 。这是一个非递减序列,因为值是有序的,但并不严格从一个值到另一个值递增(即 2 不大于 2)。

        【讨论】:

          【解决方案8】:

          该系列可以像其他人已经解释过的那样增加和减少,但也可以不是它们。

          (1,3,2,4,5,9,1,0)

          既不减少也不增加。但是,有像 2,4,5,9 这样的子集在增加或 9,1,0 减少

          【讨论】:

            猜你喜欢
            • 2021-08-25
            • 1970-01-01
            • 2019-09-03
            • 1970-01-01
            • 2011-11-27
            • 2019-07-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多