计算机软件基础——算法

一、算法的基本特征

1、能行性

2、确定性

3、有穷性

4、完备性

二、算法描述系统(c or c++ )

基本运算符:>  、 <  、  ==    、!=   、  >=   、 <=  、 &&  、  ||    、  !  

基本结构:顺序    条件     循环

              if()      for()   

              else()       while()       包含    do{}  while()   

三、基本方法

1、枚举法  2、归纳法  3、递推法  

4、递归法(自己调用自己) 分类: 直接递归

                间接递归

递归设计方法:

  递归需要有边界条件、递归前进段、递归返回段。

区别:递推是基于数据的,递归是基于方法的。(时间与空间的消耗)

5、回溯法  (皇后问题)

 四、算法的评价:时间与空间(相悖性)

  时间短,空间少,为优。

1、算法的时间复杂度:基本操作执行次数     f(n) n代表数据规模

2、算法的最优性:执行的基本运算先对最少

参考:https://blog.csdn.net/bingoxubin/article/details/79276991

计算算法的时间复杂度:

https://blog.csdn.net/juanlansexuehua/article/details/54585019

https://blog.csdn.net/u014248127/article/details/52905401

https://www.cnblogs.com/dalaohu/p/5433076.html

https://www.cnblogs.com/seer/p/5603924.html

https://www.cnblogs.com/nwnu-daizh/p/8652285.html

https://www.cnblogs.com/crazylqy/p/7638780.html

https://www.cnblogs.com/Leo_wl/p/4313635.html

https://www.cnblogs.com/davygeek/p/4375497.html

https://www.cnblogs.com/suiying/p/4748490.html

3、算法的空间复杂度:计算机执行算法所需的内存空间

程序空间     初始输入数据空间   

执行过程所需的暂存空间

四、数据(data):反应客观事物的信息集合,信息的载体。可被计算机识别、存储、加工。

数据的基本单位是数据元素——可以由多个数据项组成——数据项是具有独立含义的最小数据单位

  数据对象(data  object):

相同特性的数据元素的集合,即数据的子集。

五、数据结构(data structure):互相关联的数据元素的集合。

  既要有数据,还要有定义在数据上的关系

两要素:(互相关联的)相同的数据元素的集合

    定义在集合上的关系:(不同的关系定义不同的数据结构)

~~研究:   逻辑结构    存储结构    算法(施加在数据上的操作)  

。数据结构是可以嵌套的,例如二维数组

。逻辑结构与存储(物理)结构之间的映像(对应)关系

1、  逻辑结构 

分类:线性结构

   非线性结构:树、图

2、四种基本的数据结构:

1)集合结构   (空集也是)

2)线性结构  一对一

3)树形结构  一对多

4)图状关系  多对多

3、存储结构

分类:

  顺序存储  可以存储非线性数据(特定)  数组、向量、指针(指向连续区域)  

        优点:可以实现随机访问

  链式存储  存储空间不连续,通过指针反应关系

        可以描述线性与非线性数据结构

        缺点:不能实现随机访问

总结:。逻辑结构必定要一种存储结构实现。

   。两种结构关系即不固定又不唯一。

   。数据结构的分类可以多种,可以定义在逻辑结构上,也可以定义在存储结构上,

   还可以定义在存储方法上。

六、研究对象

  。数据结构是建立在离散数学的基础上,本门课程主要研究非数值数据之间的结构关系。

  。运算操作以插入、删除、查找、更改为主。

七、总结

  算法决定行为,数据结构设计(决定)信息结构特征。算法和数据结构具有统一性。

  数据结构是对数据的抽象,独立于具体数据。

  算法是对处理过程的抽象,独异于具体处理。

  

猜你喜欢

转载自www.cnblogs.com/gti2baby/p/11314688.html
今日推荐