浙大-数据结构公开课-002-连载中...

2018-09-24  本文已影响0人  极客123

算法的定义

算法: 一个有限的指令集合,接受一些输入,产生输出,在有限步骤之后,会进行终止
        算法中的指令:
              有充分明确的目标
              计算机能处理的范围之内
              描述应不依赖于任何一种计算机语言以及具体的实现

伪代码: 选择排序算法

       void    sort( collection     test) {
                  for   from 0  to test.length{
                        从list中每次挑选出一个最小的放到一个新的集合newTest
                        中,将乱序的test中最小的元素放在newTest集合的尾部位  
                        置    
                  }
        }

什么是好的算法?

如何衡量算法的优劣:    
 空间复杂度:  S(n)
      根据算法写成的程序在执行时占用的存储单元的长度。这个长度往往
      和输入数据的规模有关。空间复杂度过高,有可能导致使用的内存超
      限,造成程序的非正常中断。
 时间复杂度:  T(n) 
      根据算法写成的程序在执行的时候耗费时间的长度,这个长度往往和
      输入的数据规模有关,时间复杂度过高可能导致我们在有生之年都等
      不到结果

      优秀的程序员设计算法尽可能综合二者复杂度降到最优

时间复杂度渐进表示法 :(资料)

https://www.cnblogs.com/sage-blog/p/3891012.html

Θ记号  渐进确界
ο记号  渐进上界
Ω记号  渐进下界
º记号  非渐进紧确的上界
ω记号  非渐进紧确的下界
上一篇 下一篇

猜你喜欢

热点阅读