当前位置:  技术问答>java相关

100分求救,算法的问题

    来源: 互联网  发布时间:2015-09-23

    本文导语:  给定一个整数集合s,和一个整数n,设计一个时间复杂度为nlgn的算法 找出集合s中两数之和为n的数。 | 你想想 把集合s的元素先进行一次堆排序变成一个有序表, (heap sort O(n)~nlgn) 然后从第一个元素开...

给定一个整数集合s,和一个整数n,设计一个时间复杂度为nlgn的算法
找出集合s中两数之和为n的数。

|
你想想
把集合s的元素先进行一次堆排序变成一个有序表,
(heap sort O(n)~nlgn)
然后从第一个元素开始,比如5,那么你应该查找n-5,
然后对这个有序表用二分查找n-5(或者插值法,分块法都行)
(binary search O(n)~ lgn)
如果找到了,就把n和n-5都从表内删除,放在结果集里
如果没找到,什么也不做
查找完这个元素,在查找下一个元素
最坏情况下,一共要查找n次
n个二分查找 O(n)~ n*lgn
最终,O(n)~ nlgn

这些算法,书上都有,不用我给你写代码了吧?


|
step 1:先排序
    将集合S用数组存储。设s有m个数
    若m较大,则用堆排序,O(mlogm);
    否则,用快速排序,平均时间kmlnm

step 2:找两者之和为n的数  (设无相同的数)
    i=0;
    j=m-1;
    while(i

    
 
 

您可能感兴趣的文章:

  • 算法问题,迫切需要版主或高手指点,高分求救。
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 求救:在校学生问个问题~~~~~~~~操作系统中的job和process的区别!
  • 安装solaris 10出现问题,向高人求救,谢谢
  • GCC的一个奇怪的问题,求救!
  • #######Linux网卡配置问题(求救!!!急!!!)#######
  • 求救:关于结构体数据长度的补位问题
  • tomcat的问题(新手求救----------------------在线等候)
  • 高分求救!!!(200)我回多问相同问题来给分的,急急急
  • socket编程:recv(...)函数问题求救
  • 求救,关于Yacc的问题!急!!!!!!急!!!!
  • 求救liunx下网卡驱动问题~!
  • linux 安装问题,求救高手
  • Linux 新手乱码问题,求救
  • 求救!!!!!TOMCAT问题!牛人帮忙啊!
  • 高分求救!一个随机数产生的问题
  • jbuilder安装问题求救
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • 求救!!!硬件高请进、、、、、、(十万火急,高分求救。)
  • 求救求救!!
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 求救!weblogic6.0后台运行正确,前台页面跳转或调用其他页面时出“页面无法显示错误”
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • Linux下无法启动apache 高分求救!在线等待
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • 散分一百,紧急求救!ROOT密码忘记
  • 局域网内如何联网呀求救
  • 求救:crontab不运行 急急急啊
  • 150分求救安装
  • 100分求救,谁有做好的关于JSP于数据库操作的源代码?
  • 怎样把一年中的每个星期的时间段取出来?求救!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3