数据结构与算法:理解它们之间的差异

发表时间: 2021-08-15 15:59

算法概念算法是特定问题求解步骤的描述,在计算机中表现为指令的有序序列,算法是独立存在的一种解决问题的方法和思想,对于算法而言,语言并不重要,重要的是思想

算法和数据结构的区别:

数据结构,只是静态的描述和数据元素之间的关系,高效的程序需要在数据结构的基础上设计和选择算法。程序=数据结构+算法

总结 算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体,数据结构与算法相辅相成

算法特性:

算法具有零个或多个输入算法,至少有一个或多个输出算法,在有限的步骤之后会自动结束,而不会无限循环,算法中的每一步都有确定的含义,不会出现二义性算法的每一步都是可行的

算法效率的度量:

1)事后统计法比较不同,算法对同一组输入数据的运行处理时间.

缺点:为了获得不同算法的运行时间,必须编写相应程序,运行时间严重依赖硬件以及运行时的环境因素,算法的测测试数据的选取相当困难,事后统计法虽然直观,但是实施困难。缺陷多.

2)事前分析法:估算依据统计的方法对算法效率进行估算,影响算法效率的主要因素,算法采用的策略和方法 问题的输入规模 编译器所产生的代码 计算机执行速度.

//算法的最重要变异成具体的计算机指令,//每一个指令在具体的计算机cpu上运行的时间是固定的//通过具体的步骤的多少就可以推导出算法的复杂度long sum1(int   n){  long   ret=0;  int* array=(*int)malloc(n*sizeof(int));  int i=0;  for(i=0;i<n;i++)  {array[i]=i+1;      }   for(i=0;i<n;i++)  {ret+=array[i];      }  free(array);  return ret;}//代码片段