您的位置:首页 > 科技 > IT业 > 小程序代理项目_西安网页制作工作室_360网站推广官网_seo优化工具大全

小程序代理项目_西安网页制作工作室_360网站推广官网_seo优化工具大全

2025/3/9 22:50:41 来源:https://blog.csdn.net/2401_83575662/article/details/142255273  浏览:    关键词:小程序代理项目_西安网页制作工作室_360网站推广官网_seo优化工具大全
小程序代理项目_西安网页制作工作室_360网站推广官网_seo优化工具大全

1.什么是数据结构

数据结构(Data Structure)是计算机存储和组织数据的方式,是指相互之间存在的一种或多种特定关系的数据元的集合。

2.什么是算法

算法(Algorithm)就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为 输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。

3.数据结构和算法的书籍资料

学习完数据结构知识,可以去看《剑指offer》和《程序员代码面试指南》。

4.算法的效率

衡量一个算法的好坏,要从它的程序的时间复杂度和空间复杂度两方面来分析。时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间

5.时间复杂度

算法的时间复杂度是一个函数,算法中的基本操作的执行次数,为算法的时间复杂度。找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度。

void Func1 ( int N )
{
int count = 0 ;
for ( int i = 0 ; i < N ; ++ i )
{
for ( int j = 0 ; j < N ; ++ j )
{
++ count ;
}
}
for ( int k = 0 ; k < 2 * N ; ++ k )
{
++ count ;
}
int M = 10 ;
while ( M -- )
{
++ count ;
}
printf ( "%d\n" , count );
}
Func1 执行的基本操作次数 : F(N)=N`2+2*N+10
O 符号( Big O notation ):是用于描述函数渐进行为的数学符号。
推导大 O 阶方法:
1 、用常数 1 取代运行时间中的所有加法常数。
2 、在修改后的运行次数函数中,只保留最高阶项。
3 、如果最高阶项存在且不是 1 ,则去除与这个项目相乘的常数。得到的结果就是大 O 阶。
通过上面我们会发现大 O 的渐进表示法 去掉了那些对结果影响不大的项 ,简洁明了的表示出了执行次数。O(N~2)
在实际中一般情况关注的是算法的最坏运行情况。

6.空间复杂度

空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度 。
空间复杂度算的是变量的个数,也使用大O渐进表示法。
函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因 此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

7.常见的复杂度对比

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com