标签:基本操作 空间 姓名 增长率 常用 独立 读者 相对 c语言
第1章 绪论
1.2基本概念和术语
1.2.1数据、数据元素、数据项和数据对象
数据是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位。数据元素通常用于完整地描述一个对象。例如一名学生记录。
数据项是组成数据元素的、有独立含义的、不可分割的最小单位。例如学生基本信息表中的学号、姓名、性别等。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
1.2.2数据结构
数据结构是相互之间存在一种或多种特定关系(“结构”)的数据元素的集合。
数据结构包括逻辑结构和存储结构两个层次。
1.逻辑结构
(1) 集合结构
(2) 线性结构
(3) 树结构
(4) 图结构或网状结构
其中集合结构、树结构和图结构都属于非线性结构。
线性结构包括线性表、栈和队列、字符串、数组、广义表。
非线性结构包括树和二叉树、有向图和无向图。
2.存储结构
(1) 顺序存储结构
(2) 链式存储结构
1.4.1算法的定义及特性
算法是为了解决某类问题而规定的一个有限长的操作序列。
一个算法必须满足一下五个重要特性:
(1) 有穷性。一个算法必须总是在执行有穷步后结束,且每一步都必须在有穷时间内完成。
(2) 确定性。对于每种情况下所应执行的操作,在算法中都有确切的规定,不会产生二义性,使算法的执行者或阅读者都能明确其含义及如何执行。
(3) 可行性。算法中的所有操作都可以通过已经实现的基本操作运算执行有限次来实现。
(4) 输入。一个算法有零个或多个输入。
(5) 输出。一个算法有一个或多个输出。
1.4.3算法的时间复杂度
算法的时间复杂度取决于问题的规模和待处理数据的初态。
一般情况下,算法中基本语句重复执行的次数是时间规模n的某个函数f(n),算法的时间量度记作T(n)=O(f(n)),它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称做算法的渐进时间复杂度,简称时间复杂度。
若f(n)=amnm+am-1nm-1+…+a1n+a0是一个m次多项式,则T(n)=O(nm)。
1.4.4算法的空间复杂度
关于算法的存储空间需求,类似于算法的时间复杂度,我们采用渐进空间复杂度作为算法所需存储空间的量度,简称空间复杂度,它也是问题规模n的函数,记作:S(n)=O(f(n))。
若算法执行时所需要的辅助空间相对于输入数据量而言是个常数,则称这个算法为原地工作,辅助空间为O(1)。
————————————————
版权声明:本文为CSDN博主「Villin尼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43874613/java/article/details/106446193
标签:基本操作 空间 姓名 增长率 常用 独立 读者 相对 c语言
原文地址:https://www.cnblogs.com/psz875527730/p/13020746.html