数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
数据:是对客观事物的符号表示。
数据元素:是数据的基本单位,可由若干个数据项组成。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
各种数据元素之间的关系称为结构。
集合:结构中的不同元素之间除了“同属一个集合外,别无其他关系”。
线性结构:结构中的数据元素之间存在一个对一个的关系。
树形结构:结构中的数据元素之间存在一个对多个的关系。
图状结构或网状结构:结构中的数据元素之间存在多个对多个之间的关系。
结构中定义的“关系”描述的是数据元素之间的逻辑关系,因此被称为数据的逻辑结构。
数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称为存储结构。
在计算机中表示信息信息的最小单位是二进制的一位,叫做位(bit)。
可以用一个若干位组成的位串表示一个数据元素,称为元素(element)或节点(node)。
当数据元素由若干个数据项组成时,位串中对应于各个数据项的子位串称为数据域。
元素或结点可以看作数据元素在计算机中的映像。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
数据类型:在高级程序语言编写的程序中,每个变量、常量或表达式都有一个它所属的确定的数据类型,数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
算法和算法分析
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;算法的5个中重要特性:
有穷性:一个算法必须总是在执行又穷步后结束,每一步都在又穷时间内完成。
确定性:算法中每一条指令必须有确切的含义,相同的输入得到相同的结果。
可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。
输入
输出
算法的设计要求:
正确性:算法应当满足具体问题的需求。
可读性:易于理解。
健壮性:非法输入不会产生莫名其妙的输出。
效率与低存储量的要求:尽量
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作:
T(n) = O(f(n))
它表示随着规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。
空间复杂度:
算法所需存储空间的量度,一个执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现所需信息的辅助空间。
返回目录: