taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善、开源免费的CMS管理系统

百万级数据内取得最大的N到N+10条数据

2013-01-07
近日碰到一个问题,在一百万的数据内查找最大的数据的第N到第N+10,立即想到的就是冒泡排序冒泡排序、快速排序等诸多的排序算法,,但是直觉告诉我似乎这个题目并非只是算法能够解决的问题,一百万的数据用算法排序一般是及其浪费资源的,尤其是诸如冒泡类的算法,虽然算法简单,但是及其浪费资源

  常见算法的时间复杂度

  

  最后分析题目只是需要最大的N到N+10条数据,那么好只需要将N+10条数据进行排序,保证N+10条数据是最大的即可,这样分析题目后就很简单了,只是需要N+10条排序的数据,那么这个算法就很好简单了,只需要将全部数据内随机的拿到N+10条数据然后将剩下的全部数据逐个与这N+10条数据进行比较,即可拿到最大的N+10条数据,然后对N+10条数据进行排序算法算法复杂度和时间复杂度相比较其他之间将全部数据排序的算法要节省很多

  时间复杂度将近等于Ο(n)

  小结:遇到问题首先想到各种算法是一个程序员的本能反应,但是应该弄懂题目,读懂题目,确认需求并且分析需求寻找一个最佳解决的途径或方法!

类别:技术文章 | 阅读:226070 | 评论:0 | 标签:排序 算法 算法复杂度

想收藏或者和大家分享这篇好文章→

“百万级数据内取得最大的N到N+10条数据”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云