analysis of algorithms

Posted eleni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了analysis of algorithms相关的知识,希望对你有一定的参考价值。

1.

技术图片

 

2. binary search (sorted array)

给定查找对象,array,以及最大最小的范围;将查找对象与middle作比较,进而改变最大最小的范围,然后调用递归

时间复杂度的计算要考虑最坏的情况,本题中最坏的情况类比一条面包每天吃一半几天吃完的问题,时间复杂度为log以2为底n的对数

O(log2 n)可以直接写成O(log n),与底数无关(换底公式可以将它们换成统一的底)

3. array的缺点有两个,第一个是fixed size,所以一开始就要给所有元素预留出足够的memory;第二个是对一个element进行改变整个array都要跟着变

所以引入linked list, linked list中的element仍然为单独个体,由指针指向下一个,优点是不需要提前知道element的个数,且对整体的影响较小

4. pointer需要一个指向第一个,除了最后一个之外的每一个都需要一个pointer指向下一个,最后一个element标记为Null

C语言中一定要让程序知道什么时候程序结束,不然不标记NULL的话C语言就会对最后一个element随机赋值

5. 寻找一个element时,时间复杂度为O(|L|), 其中| |代表长度

6. 

  • f(n) belongs to O(g(n)) if f(n) is asymptotically less than or equal to g(n)
  • f(n) belongs to Ω(g(n)) if f(n) is asymptotically greater than or equal to g(n)
  • f(n) belongs to Θ(g(n)) if f(n) is asymptotically equal to g(n)

7. pointer向开头增加元素,令new=new_element, new_element通过pointer指向原来的L

删除第一个element时,return L.next直接返回除第一个element之外的元素,时间复杂度O(1):

技术图片

 

 

删除一个特殊的element,时间复杂度为O(|L|):

 技术图片

 

 补充:有一种双向指标,在dequeue时有用,可以结尾加指针

8.

技术图片

 

以上是关于analysis of algorithms的主要内容,如果未能解决你的问题,请参考以下文章

R语言协方差分析(analysis of covariance)实战:协方差分析ANCOVA(analysis of covariance)(检查模型假设)拟合协方差分析ANCOVA模型事后分析

Analysis of Baidu search engine

分析循环 Analysis of Loops-------geeksforgeeks 翻译

Analysis of sort() in STL

Analysis of algorithms: introduction

web.xml of hello1 analysis