当前位置: 代码迷 >> 综合 >> 数据算法与结构学习
  详细解决方案

数据算法与结构学习

热度:86   发布时间:2024-03-10 01:37:05.0

背景:非科班补基础知识ing

知识点:

20201028
啥叫程序设计?
答:程序设计=数据结构+算法

啥叫数据结构?
答:数据元素之间的关系集合。

算法设计体现例子:
从1加到100之和

//方法一:
int add_1()
{
    int i, sum = 0, n = 100;//执行1次for (i = 1; i <= n; i++)//执行n+1次{
    sum += i;//执行了n次}return sum;
}//运行次数100次//方法二:
int add_2()
{
    int i, sum = 0, n = 100;//执行了1次sum = (1 + n) * n / 2;//执行了1次return sum;
}//运行次数1次

从上面看,这里把执行得到sum所执行的代码行数简单理解为称为时间复杂度,方法一时间复杂度2n+2;方法二的时间复杂度为2,显然当n=100时,方法二的时间复杂度更小,更加优秀。这也感性体会了什么叫算法设计。

啥叫算法?
答:指令方式(敲得一行一行的代码,注意要有技巧和方式的,比如上面的例子比对),告诉计算机怎么解决特定问题。

算法有啥特征?
输入:0或多个输入
输出:至少有一个输出
有穷性:可接受时间内,自动结束运行(不出现死循环)
确定性:每行代码有明确的含义,或者说,条件不变,输入不变的话,输出一定不变
可行性:每个步骤都是可行的(可行意思就是,每个步骤或每行代码执行的次数有限)

#################################
不积硅步,无以至千里~
上面是个人学习过程中的理解,欢迎各位大佬批评指正。

  相关解决方案