实数集合A有n个元素,判断是否有两个元素之和等于x,要求设计最坏情况下时间代价为o(nlgn)的算法 :)

cs5lyp519 2008-09-12 11:09:53
如题
...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
test4ever 2008-09-12
  • 打赏
  • 举报
回复

1.首先对序列进行堆排序
2.遍历序列A[i],在剩余的序列中2分查找 X-A[i];

最坏的情况 时间复杂度为O(nlogn)
  • 打赏
  • 举报
回复
先将数组排好序,O(n*lgn)
对于排序后数组中的每个元素a,折半查找x-a在A中是否存在。这一步也需要花费O(n*lgn)
所以总体复杂度还是O(n*lgn)

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧