博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-search
阅读量:6072 次
发布时间:2019-06-20

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

O(big o) 是上限,是我们关注的算法的时间复杂度。数据量大,数据量涨一千倍,lgn的算法就是 耗费的时间就是10倍,o(n)就是一千倍,o(n2)就是一百万倍的差距

例一:Sequential search  算法复杂度o(n)。找到了o(n/2) ,没找到 o(n)

#include 
#include
#include
#define N 5000000#define STEP 3int a[N];int g_nMax=0;int main (void){ time_t t=0; //以秒为单位 int i=0,n=0; clock_t begin=0,end=0; //build an array (increasing),randomly time(&t); srand(t); for(i=0;i

 例二:Binary search【先决条件,排序好了的数据】 o(lgn)

1024之类的数据,最多也就找11次,40亿的数据,最多也就找33次。

#include 
#include
#include
#define N 50000000#define STEP 3#define LOOP 1000int a[N];int g_nMax=0;void binary_search(int min,int max,int n){ int mid=0; if(min>max){ // printf("%d找不到\n",n); return; } mid =min+(max-min)/2; if(n==a[mid]){ // printf("%d 找到了\n",n); return; } if(n

 例三:hashtable  复杂度o(1).大数据量,杂乱无序。

hash table size n 最好不是2或10的倍数,最好是质数,如2的n次方-1也很好

应用MD5

 

database  :结构化数据  最好到1百万级别

search engin:极大数据量,几千万,几亿

转载于:https://www.cnblogs.com/bluewelkin/p/4320755.html

你可能感兴趣的文章
华为Access、Hybrid和Trunk的区别和设置
查看>>
centos使用docker下安装mysql并配置、nginx
查看>>
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
dom4j解析xml文件
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>