数据结构复习(一)数据结构绪论
1.数据结构的基本概念
数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的关系和操作的学科。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据结构包含三个方面的含义:

逻辑结构:

物理结构:数据的逻辑结构在计算机中的表示,称此为物理结构,或称存储结构。


数据类型:一个值的集合以及定义在这个值集上的一组操作的总称。

抽象数据类型:通常由用户定义,用以表示应用问题的数据模型以及定义在该模型上的一组操作。

算法是描述计算机解决给定问题的操作过程,即为决解某一特定问题而由若干条指令组成的有穷序列。

2.算法的效率分析
事后统计法:收集该算法实际的执行时间和实际占用空间的统计资料。
事前分析估算法:在算法运行之前分析该算法的时间复杂度和空间复杂度,来判断算法的效率。
时间复杂度分析:
一个算法的执行时间等于所有语句执行时间的总和。
一条语句执行的时间为该语句的执行次数(频度)与该语句执行一次所需时间的乘积。
即:一个算法耗费的时间=所有语句的频度之和。
Eg.1-12:问
for(i=1;i<=n;++i)
{++x;s+=x;}
的时间复杂度
for语句的循环变量从1增加到n,要测试i>n时才会终止,它的频度是n+1;
循环体执行了n次,++x和s+=x语言的执行频度分别为n该算法的所有语句频度之和为f(n)= n+1+n+n=3n+1时间复杂度T(n)= O(f(n))=O(n).
定义:一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,算法的时间量度记作T(n)= O(f(n))
称作算法的渐近时间复杂度。
说明:
1.“O”的形式定义为:若f(n)是正整数n的一个函数,则T(n- O(f(n))表示存在一个正的常数M,使得当>=n时,都满足|T(n)K=M|f(n)。也就是只求出fn)的最高阶,忽略其低阶项和常系数。
2。一个没有循环的算法中基本运算次数与问题规模无关,记做O(1),也称为常数阶。
3.一个只有一重循环的算法中,基本运算次数与问题规模n的曾线性增大关系,记作O(),也称为线性阶。
常见函数的时间复杂度按数量递增排列及增长率:

本文介绍了数据结构的基本概念,包括数据元素、逻辑结构、物理结构和数据类型。同时阐述了抽象数据类型和算法效率分析,特别是时间复杂度的计算方法。通过示例详细解释了如何计算算法的时间复杂度,并提及了常见函数的时间复杂度等级。
数据结构绪论&spm=1001.2101.3001.5002&articleId=123313375&d=1&t=3&u=27376377c65942dbbb86d22c6922bcf3)
1万+

被折叠的 条评论
为什么被折叠?



