我真的不明白为什么我们不总是选择中间元素作为支点.这可以在O(n)中完成,因此导致总运行时间为O(n log n).
我只是假设在中值搜索的O(n)中可能隐藏了一个大常量.
algorithm quicksort median
我已经给出了一个函数foo(struct node *n),其中n是链表中的头节点.现在foo应该改变n它指向列表的末尾.
foo(struct node *n)
n
foo
但这个功能签名是否可行?
假设t是指向列表末尾的指针:
t
n = t
*n = *t
我错过了什么?
c pointers pass-by-value
algorithm ×1
c ×1
median ×1
pass-by-value ×1
pointers ×1
quicksort ×1