读书人

一道关于求集合交并集的有关问题

发布时间: 2012-03-20 14:01:11 作者: rapoo

一道关于求集合交并集的问题
两个有序数组A[n],B[n] 求一个时间为O(n)的计算AUB 和 A交B的算法
初学算法,请高手指点!

[解决办法]
严版的数据结构里有的,去看看
[解决办法]
2个标记指示2个数组,从0开始到结尾
如果当前2个不相同,把小的放入并集,相应的标记后移一位
如果当前2个相同,把那个值放入交集,也放入并集(相同的值也是并集之一)2个标记都相应后移一位
如果一个数组已经遍历完,另一个还有,则把剩下的都放入并集
其实全过程类似与2个有序链表的归并
每个值最多遍历一次,所以O(n)

读书人网 >软件架构设计

热点推荐