博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1000亿个整数,请找出其中最大的100个
阅读量:6327 次
发布时间:2019-06-22

本文共 246 字,大约阅读时间需要 1 分钟。

hot3.png

算法思想:

        1000亿个数自然不能全部读入内存,分部分处理。算法如下:

        1.读入前100个数直接创建二叉排序树。

        2.依次读入以后的数,读入时与排序树中最小的做比较。
             2.1如果读入的数小于最小值,读下一个。
             2.2如果读入的数大于最小值,将它插入到二叉排序树,并删除最小节点。
        3.重复步骤2,直到读完所有数。
        4.中序遍历二叉树输出。

         空间复杂度:100个数。

         时间复杂度:O(N)次比较。

转载于:https://my.oschina.net/vincent67/blog/170801

你可能感兴趣的文章
微软宣布针对Azure Cosmos DB的多个更新
查看>>
编转码、CDN和AI是如何撑起短视频数百亿市场规模的
查看>>
Prettier 1.15代码格式化工具新增Angular和Vue.js支持
查看>>
仿淘宝、京东拖拽商品详情(可嵌套ViewPager、ListView、WebView、FragmentTabhost)
查看>>
亚马逊EC2推出新功能,用户可使用实例预测性伸缩
查看>>
高效运维最佳实践:如何做好On-call和事故响应?
查看>>
Java序列化的状态
查看>>
特征团队使用LeSS,每个迭代交付你的产品
查看>>
马化腾:电力时代孕育了计算机,人工智能兴盛于云计算
查看>>
GitHub安全告警检测出了400多万个漏洞
查看>>
Uber推出数据湖集成神器DBEvents,支持MySQL、Cassandra等
查看>>
青雀推出小程序服务矩阵 助企业抢占首波移动先机
查看>>
Flask 插件系列 - Flask-SQLAlchemy
查看>>
php const define 区别
查看>>
webpack实践笔记(三)--- 总结
查看>>
一、WebGL——着色器和绘制
查看>>
ES6-Promise
查看>>
JavaScript设计模式----策略模式
查看>>
Java快速扫盲指南
查看>>
[分享]iOS开发-设置NavigationBar的颜色和字体属性
查看>>