摘要: Byyejinru1.给定一个数组A,任务是设计一个算法求得数组中的“主元素”,即在数组中个数超过数组总元素个数一半的元素。但是数组中元素的数据类型可能是复杂类型,这意味着数组中的元素进能够比较是否相等而不存在序关系,设对于两个元素A[i]和A[j],判定是否A[i]=A[j]需要常数时间。(a)设计一个时间复杂性为O(nlogn)的算法解此问题(b)设计一个时间复杂性为O(n)的算法解此问题.A.O(nlogn)采用分治的策略:a)由于数组存在主元素,所以如果把该数组平均分成两部分,则主元素必为两部分中至少一部分的主元素。因此我们:b)递归查找两部分T1,T2的主元素m1,m2,如果:m1跟 阅读全文
posted @ 2013-12-27 14:53 yejinru 阅读(1868) 评论(0) 推荐(0) 编辑