读书笔记——数据结构(2)运行时间中的对数
来源:互联网 发布:最新网络投资产品 编辑:程序博客网 时间:2024/05/18 18:52
某些分支算法将以O(logN)时间运行。
一般法则:
如果一个算法用常数时间(O(1))将问题的大小削减为其一部分(通常是1/2),那么该算法就是O(logN)。
另一方面,如果使用常数时间知识吧问题减少一个常数(如将问题减少1),那么这种算法就是O(N)的。
三个例子:
1.对分查找(二分查找)
给定一个整数X和整数A0,A1,……,AN-1,后者已经预先排序并在内存中,求使得Ai=X的下表i,如果X不在数据中,则返回i=-1。
int BinarySearch(const ElementType A[],ElementType X,int N){int Low,Mid,High;Low=0;High=N-1;while(Low<=High){Mid=(Low+High)/2;if(A[Mid]<X){Low=Mid+1;}else if(A[Mid]>X){High=Mid-1;}else{return Mid;}}return -1;}2.欧几里德算法
计算最大公约数的欧几里德算法。
unsigned int Gcd(unsigned int M,unsigned int N){unsigned int Rem;while(N>0){Rem=M%N;M=N;N=Rem;}return M;}3.幂运算
计算一个整数的N次幂
long int Pow(long int X,unsigned int N){if(N==0){return 1;}if(N==1){return X;}if(IsEven(N)){return Pow(X*X,N/2);}else{return Pow(X*X,N/2)*X;}}
- 读书笔记——数据结构(2)运行时间中的对数
- 算法运行时间中的对数
- 运行时间的对数
- 运行时间,常数,对数,指数,
- 改进合并排序法以查找元素序列中的逆序对数量,最坏运行时间O( nlog2(n) )
- 【数据结构】对数运行时间算法(折半查找、最大公约、幂运算)
- 大话数据结构——读书笔记(2)
- 读书笔记——数据结构(2)算法分析
- 数据结构读书笔记(二)——红黑树
- 运行时间为对数的经典三例子
- ldd3 读书笔记 —— scull 2 运行
- Data Structures and algorithm analysis—1.2.1&1.2.2&1.2.3 exponents&logarithms&series(数据结构—指数,对数,级数)
- 大话数据结构——读书笔记
- 《大话数据结构》读书笔记(2)
- 数据结构中运行时间算法
- 数组中的逆序对数(C++版)
- 读书笔记——数据结构(1)开篇吐槽
- 读书笔记——数据结构(1)关于递归
- ubuntu 安装 gcc
- PPT要这样做才漂亮,专业级!
- 机器学习理论与实战(五)支持向量机
- Android中ListView分页加载数据
- 机器学习理论与实战(六)支持向量机
- 读书笔记——数据结构(2)运行时间中的对数
- 从零开始学C++之模板(一):函数模板、函数模板特化、重载函数模板、非模板函数重载
- Android 4.1 与 4.2 在"强制拍照摄像音"处理上的区别分析
- 13暑假集训#4 总结
- poj 2240
- .net基础
- SPOJ 2325 String Distance (dp+剪枝)
- javaScript windown的属性
- mdev的使用以及mdev.conf的规则配置