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

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

近日碰到一个问题,在一百万的数据内查找最大的数据的第N到第N+10,立即想到的就是冒泡排序冒泡排序、快速排序等诸多的排序算法,,但是直觉告诉我似乎这个题目并非只是算法能够解决的问题,一百万的数据用算法排序一般是及其浪费资源的,尤其是诸如冒泡类的算法,虽然算法简单,但是及其浪费资源  常见算法的时间复杂度    最后分析题目只是需要最大的N到N+10条数据,那么好只需要将N+10条数据进行排序,保证N+10条数据是最大的即可,这样分析题目后就很简单了,只是需要N+10条排序的数据,那么这个算法就很好简单了,只需要将全部数据内随机的拿到N+10条数据然后将剩下的全部数据逐个与这N+10条数据进行比较,即可拿到最大的N+10条数据,然后对N+10条数据进行排序算法算法复杂度和时间复杂度相比较其他之间将全部数据排序的算
发布时间:2013-01-07 | 类别:技术文章 | 阅读:226244 | 评论:0 | 标签:算法 算法 算法

一个排序算法题:从1亿个数字中取出最大的100个

http://blog.sina.com.cn/s/blog_6368ea770100nq6m.html  关于“100g文件全是数组,取最大的100个数”解决方法汇总 收藏原题如下:有一个100G大小的文件里存的全是数字,并且每个数字见用逗号隔开。现在在这一大堆数字中找出100个最大的数出来。我认为,首先要摸清考官的意图。是想问你os方面的知识,还是算法,或者数据结构。如果是os: 无疑是外排序算法的选择。100g文件在当前的环境下是无法全部读入内存的。如果是算法:我觉得这个题考虑排序就是错的,只需要比较。找出最大的即可。无论是哪种,都不需要一个实际代码的解决方案。只提供思路就可以了。所以,这道题也可以从面试的角度去回答而不是技术层面回答。至于在技术层面有没有必要研究这个问题,那
发布时间:2012-11-03 | 类别:技术文章 | 阅读:301523 | 评论:0 | 标签:算法

从B树、B+树、B*树谈到R 树

第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。但是咱们有面对这样一个实际问题:就是大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下(为什么会出现这种情况,待会在外部存储器
发布时间:2011-12-19 | 类别:技术文章 | 阅读:207351 | 评论:0 | 标签:算法

time33 哈希函数,又叫 DJBX33A,Bernstein's hash

php, apache, perl, bsddb都使用time33哈希.最简单的版本    uint32_t time33(char const *str, int len)     {         unsigned long  hash = 0;         for (int i = 0; i < len; i++) {            
发布时间:2011-12-19 | 类别:技术文章 | 阅读:252658 | 评论:0 | 标签:算法 算法 算法

几种经典的Hash算法的实现(源代码)

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然 而Hash函数是Hash链表最核心的部分,下面是几款经典软件中使用到的字符串Hash函数实现,通过阅读这些代码,我们可以在Hash算法的执行效率、离散性
发布时间:2011-09-24 | 类别:技术文章 | 阅读:239683 | 评论:45 | 标签:算法 算法

公告

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

捐助与联系

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

☟在github上follow我☟

标签云