主要给人家做网站的公司,网络营销是做什么的工作,营销型网站分类,wordpress自动采集插件最好提到算法#xff0c;必须提到数据结构#xff0c;我们要知道一个著名公式#xff1a; 数据结构 算法 程序 我们先看看下面这张图#xff1a; 算法是什么#xff1f;算法是一个有穷规则#xff08;或语句、指令#xff09;的有续集和。他确定了解决某一问题的一个运算序… 提到算法必须提到数据结构我们要知道一个著名公式 数据结构 算法 程序 我们先看看下面这张图 算法是什么算法是一个有穷规则或语句、指令的有续集和。他确定了解决某一问题的一个运算序列简单的说就是解决某一问题的步骤描述。 一、算法的特性 1有穷性 ——算法执行的步骤或规则是有限的 2确定性 ——每个计算步骤无二义性 3可行性——每个计算步骤嫩巩固在有限的时间内完成 4输入——算法有一个或多个外部输入 5输出——算法有一个或多个输出 二、如何评价一个算法的好坏 1)消耗时间的多少 2消耗存储空间的多少 3算法的设计是否容易理解是否容易编程实现方便调试和维护 三、时间复杂度 时间复杂度的概念 1问题的规模输入数据量的大小用n来表示 2算法的时间复杂度算法消耗时间它是问题规模的函数 T n。 1、语句的频度 语句的频度定义为可执行语句在算法或程序中重复执行的次数。若某语句执行一次的时间为t 执行次数为f则该语句所耗时间的估计为 t * f 。 以下面程序为例求两个N阶方阵乘积 [cpp] view plaincopy void MATRIXM(A,B,C) { float A[n][n],B[n][n],C[n][n]; int i,j,k; // 语句频度 for(i 0;i n; i) // n1 for(j 0;j n;j) // n(n1) { C[i][j] 0; // n*n for(k 0; k n;k) // n*n(n1) C[i][j] c[i][j]A[i][k]*B[k][j]; // n*n*n } } 2、算法的时间复杂度 算法的时间复杂度定义为算法中可执行语句的频度之和记为T(n)。T(n) 是算法所需时间的一种估计其中n为问题的规模或大小、体积。如上面的例子中问题的规模n为矩阵的阶该算法的时间复杂度为 T(n) (n1)n(n1)n*nn*n(n1)n*n*n 2*n*n*n 3*n*n 2*n 1 当n趋于无穷大时lim(T(n)/(n*n*n) 2故T(n)与n*n*n为同阶无穷大或者说T(n) 与 n*n*n成正比、T(n)的量级为n*n*n记为T(n) O(n*n*n); 问题规模n的某个函数f(n), T(n) O (f(n)) 它表示岁问题规模n的增大算法执行时间的增长率和f(n)的增长率相同。