数据结构和算法学习总结01 绪论

数据结构实际上是数据元素之间的关系的集合

数据结构分为    1.逻辑结构                                                                                       

          2.物理结构(逻辑结构的数据元素的存储方式)         

                          逻辑结构分为  1.集合结构   数据元素无关系,只是属于一个集合   

                                  2.线性结构   数据元素间1对1的关系

                                  3.树形结构   数据元素间1对多的关系

                                  4.图形结构   数据元素间多对多的关系

                          物理结构分为  1.顺序存储结构   数据元素存储在连续的存储单元中      类似数组

                                                  2.链式存储结构   数据元素存储在可连续,可不连续的存储单元中 

 

算法实际上就是解决问题的一种方式,办法

简单的例子:         高斯定理        1+2+3+4+...+99+100= ?            

初学者的代码:  

int i , n = 100 , sum = 0;
for(i = 1; i < n; i++)
{
     sum = sum + i;      
}
printf("%d",sum);

 

利用高斯定理的算法的代码:

int n = 100 , sum = 0;
sum = (1 + n)* n/2;      
printf("%d",sum);

算法的特性:1.输入    至少有0个或多个输入

                     2.输出    至少有1个或多个输出

        3.有穷性    不会无限循环

        4.确定性     每一个步骤都是确定的含义,不能有歧义                         算法在一定条件下,只有一条执行路径,相同的输入只会有唯一的输出结果

      5.可行性    每一步都是可行的,都可执行完成

 算法不是唯一的,同一个问题可以有多个算法,同一个算法不可能解决所有问题

算法设计的要求 :    正确性,可读性,健壮性,时间效率高,存储量低

正确性;    至少有输入,输出,无歧义性,正确反应问题的需求,得到问题的正确答案

      四个层次:  无语法错误;   合法输入可得到符合需求的输出;      非法输入要产生对应的说明;     一些特殊刁难的输入也可以得到符合需求的输出

数据结构和算法之间是一种好基友的关系,在一起时才能迸发更高的激情,也更容易让我们理解。

 

posted @ 2017-09-08 08:44  yourallworld  阅读(114)  评论(0编辑  收藏  举报