算法介绍

算法定义

    算法(Algorithm):一个计算过程,解决问题的方法.

特征:

  1.  程序 = 数据结构 + 算法
  2.  算法(algorithms)是针对特定的问题,经过精心设计的用来一步步解决该问题从而得到答案的过程。
  3.  算法是解决问题的步骤的思想的描述,而我们使用计算机语言来实现算法是算法的实现的过程仅仅是为了让计算机能执行(算法的实现过程)。
  4.  算法具有五个基本特性:输入、输出、有穷性、确定性和可行性。
  5.  有穷性:直白一些说就是算法的实现代码不能是死循环的
  6.  可行性:是指再现有的条件下算法的每一个步骤都应该是可以实现的而不是只是空想或者你设计了一个20年之后可以实现的算法,这个在当下都是没有意义的。
  7.  设计算法基本的原则有五个: 正确性、健壮性、高效性、环保性和可读性!

介绍:

递归的特点:

   1. 函数调用自身

   2. 有明确的结束条件

   3. 问题规模一次比一次小

算法的特点:

   时间复杂度:

     用来估计算法运行时间的一个式子(单位)

     按照效率排序:  O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n2log2n) <O(n3)

   空间复杂度:

     1. 用来评估算法内存占用大小的一个式子.

     2. 空间换时间

案例:

列表查找:从从列表中查找指定元素.

方法:

   1.  顺序查找

       从列表第一个元素开始,顺序进行搜索,直到找到为止。

   2. 二分查找

       从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值比较,可以使候选区减少一半.

 

  

 

posted @ 2018-12-05 11:36  步绍训  阅读(239)  评论(0)    收藏  举报