Questions tagged «transitivity»

6
在O(n)时间中:在不传递比较的集合中找到最大元素
标题说明了问题。 作为输入,我们可以比较一个元素列表(确定最大)。没有元素可以相等。 关键点: 比较不是传递性的(想像石头剪刀布):这可能是正确的:A> B,B> C,C> A (请注意,这不是有效的输入,因为此处没有有效的答案,我仅描述“非及物比较”) 每个输入数组将保证有一个答案 最大表示元素必须大于其他所有元素 拥有逆属性,即A> B表示B <A 例: Input: [A,B,C,D] A > B, B > C, C > A D > A, D > B, D > C Output: D 我无法找出在O(n)时间内完成此操作的方法,我最好的解决方案是O(n ^ 2)。 因为要确定答案,所以必须将每种元素与其他所有元素进行显式比较,以证明它确实是答案(因为比较不是可传递的),因此我对每种方法都感到困惑。 这排除了堆的使用,排序等。

4
排序算法是否需要传递性
是否可以将排序算法与非传递性比较一起使用?如果是,为什么将传递性列为排序比较器的要求? 背景: 排序算法通常根据比较器函数C(x,y)对列表的元素进行排序,其中 C(x,y)=⎧⎩⎨−10+1if x≺yif x∼yif x≻yC(x,y)={−1if x≺y0if x∼y+1if x≻y\begin{array}{ll} C(x,y) = \begin{cases} -1 & {\text{if}}\ x\prec y \\ 0 & {\text{if}}\ x\sim y \\ +1 & {\text{if}}\ x\succ y \\ \end{cases} \end{array} 据我了解,此比较器的要求是: 自反: ∀x:C(x,x)=0∀x:C(x,x)=0\forall x: C(x,x)=0 反对称: ∀x,y:C(x,y)=−C(y,x)∀x,y:C(x,y)=−C(y,x)\forall x,y: C(x,y) = - C(y,x) 传递性: ∀x,y,z,a:C(x,y)=a∧C(y,z)=a⇒C(x,z)=a∀x,y,z,a:C(x,y)=a∧C(y,z)=a⇒C(x,z)=a\forall x,y,z, a: C(x,y)=a …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.