2022年数据结构基础 .pdf
《2022年数据结构基础 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构基础 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.几个最初等的基本概念? 数据:是用于描述客观事物的数值或字符,它在计算机中就是指所有能输入到计算机中并被计算机程序所处理的符号的总称。eg:整数,实数,字符串等都是数据。 数据元素:也称为结点,它是数据的基本单位,在计算机程序中通常作为一个整体进行处理;一个数据元素可由若干个数据项组成。 数据项:是数据的不可分割的最小单位;eg:学生记录就是一个数据元素,这个数据元素由学好、性别、姓名等数据项组成。 数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。eg:大写字母就是一个数据对象,大写字母数据对象是集合A,B,.Z 。2.什么是数据结构?数据结构是研究什么的? 数据结构的定义
2、:数据结构是指相互之间存在某种关系的数据元素的集合。 数据结构的研究方向:数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。主要有三个方面的内容:对数据的运算和操作,即算法;数据的逻辑结构;算法的设计取决于数据的逻辑结构数据的物理存储结构;算法的实现取决于数据的物理存储结构3.数据结构的形式化定义数据结构是一个二元组,如数据结构DS=( D, R)其中, D 是数据元素的有限集合,R 是定义在 D 上的关系的有限集合。eg:有如下数据,即一个矩阵:|26 3 1| |8127 4| |510911| 其对应的二元组表示为:B=(D,R)D=2 ,6,3,1,8,1
3、2,7,4,5,10,9,11 R=r1,r2 r1 表示行关系, r2 表示列关系它们各自定义如下:r1=, r2=, 4.数据结构的逻辑结构是什么?它有哪些分类? 数据结构的逻辑结构:数据结构的逻辑结构描述的是数据元素之间的逻辑关系,它与数据的存储结构无关,同一逻辑结构可以对应多种存储结构 逻辑结构的分类:线性结构该结构中的结点之间存在一一对应关系,开始结点与结尾结点是唯一的,其余的结点都有且仅有一个前导与一个后继。eg:线性表非线性结构该结构中的结点之间存在一对多或者多对多的对应关系eg:树型结构、图型结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
4、- - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 5.数据结构的物理结构是什么?常见的数据存储方法有哪些? 数据的物理结构:数据的物理结构也叫存储结构,是数据的逻辑结构在计算机中的表示(也叫映像) 。它包括数据元素的表示和数据关系的表示。当数据元素是由若干数据项组成时,对数据项的表示就称之为数据域。 数据的存储方法:数据元素之间的关系在计算机中有两种不同的表示方法:顺序存储和非顺序存储。对应的两种不同的存储结构分别是顺序存储结构和链式存储结构。顺序存储是借助数据元素在存储器中的相对位置来表示数据元素之间的逻辑关
5、系; 非顺序存储是借助指针来表示数据元素之间的存储关系;指针是用来指示数据元素的存储地址的。 数据结构的四种存储方法:(1)顺序存储方法该方法是把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点之间的逻辑关系由存储单元的邻接关系来体现。此种结构通常是借助数组类型来描述的。(2)链式存储方法该方法结点间的逻辑关系是由附加的指针字段表示的,并不要求逻辑上相邻的结点在物理位置上也相邻。此种结构通常是借助指针类型来描述的。(3)索引存储方法该方法在建立结点信息的同时,也建立了附加的索引表,索引表中的每一项称之为索引项,索引项的一般形式是:(关键字,地址) 。关键字标识唯一一个结点,地址作为指向结
6、点的指针。此种结构可以提高数据查找的速度。(4)哈希存储方法即散列存储方法, 该方法根据结点的关键字通过哈希函数直接计算出该结点的存储地址。此种结构本质上是顺序存储的扩展。6.数据的运算与存储结构的关系? 数据的运算:一个数据结构所包含的数据运算的种类和数目以及每个运算中的参数数目及类型, 都应该依据该数据结构的实际用途和需要来量身定做。它们只有在一定的数据结构上具体实现后才具有真实的意义。因此数据结构运算的实现和执行效率都与存储结构有关。7.什么是数据类型? 数据类型:数据类型是一个值的集合以及定义在这个值集上的一组操作的总称。eg:c 语言中, int 是一种整型数据类型,其值集为某个区间
7、上的整数(16 位机上为 -3276832767) ,而定义在这个值集上的操作有+、 -、* 、 等运算。8.什么是抽象数据类型(ADT )? 抽象数据类型 (ADT ) :抽象数据类型是指一个数学模型以及定义在该数据模型上的一组操作。ADT 通常由用户自定义,ADT 由基本数据类型组成,并且包括一组相关的操作。其特征是使用与实现分离,可以实现封装和信息隐藏,即在ADT 设计时,可以把类型的声明与实现分离开来。9.什么是算法?算法有什么特性? 算法:算法是指对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令都表示一个或多个操作。名师资料总结 - - -精品资料欢迎下载 - - -
8、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 算法的特性:有穷性: 对于任意一组合法的输入值,在有穷时间内执行有穷步骤后一定可以结束。确定性: 对于每种情况下所应执行的操作,在算法中都要有明确的规定,使算法的执行者或阅读者能够明确该算法的含义及其是如何执行的,并且在任何条件下,算法都只有一条执行路径。可行性: 算法中的所有操作都必须在有限次数内完成,并且可以通过已经实现的基本操作进行运算。有输入:算法必须有输入量,没有输入的算法是不存在的。有输出:一个算法对信息加工后必须要产生
9、一个结果。ps:算法与程序不同,程序可以不满足有穷性,eg:windows 操作系统在用户未操作之前将一直处于等待的循环中,直到出现新的用户操作为止。这个等待过程就是无穷的。由于一般的程序都不会出现这种情况,因此多数情况下对算法和程序并不严格区分。10.一个好的算法应该满足哪些要求?正确性:要求设计的算法能够正确的执行预先规定的功能和性能要求。可执行性:要求设计的算法能够方便的使用,此特性也称用户友好性。可读性:要求设计的算法应该易于理解,其逻辑必须是简单、清晰、有结构化的。健壮性: 要求设计的算法有很好的容错性,能提供异常处理,不会因一些异常情况而中断甚至崩溃。高效率与低存储:要求所设计的算
10、法的执行时间越短越好,而该算法在执行过程中所需要占用的存储空间越小越好。11.什么是算法的时间复杂度? 算法的时间复杂度:算法中的基本操作的循环次数是待解决问题规模n 的某个函数f(n) ,算法的时间量度记作:T(n)=O(f(n) )它表示随着问题规模n 的增大,算法执行时间的增长率与f(n)的增长率相同。称之为算法的渐进时间复杂度,简称时间复杂度。特别的, 所说的时间复杂度通常是指最坏情况下的时间复杂度,即分析最坏情况估算算法执行时间的上界。影响程序运行时间的因素是多方面的,如机器的运行速度,编译程序产生的目标代码的质量,程序的输入等。我们把一个程序运行的时间定义为函数T(n) 。n 是该
11、程序输入数据的规模,而不是某一个具体的输入,T(n)的单位是不确定的,一般将其看做在一台特定计算机上执行的指令条数。当讨论一个程序的运行时间T( n)时,需要关注的不是T(n)的具体数值,而是它的增长率。我们称函数f( n)为 T(n)增长率的上界,是指存在一个常数C 和整数 n。 ,当n=n。时, T(n)=C*g(n), 记为:T(n)= ( g(n) ) 。eg:设函数 T(n)=3*n3+2*n2, 证明: T(n)=O(n3) ,T( n)=(n3) ;证明:采用数学归纳法证明取 n。=0,C=5,则,当n=0 时,有: 3*n3+2*n2=C*n3 名师资料总结 - - -精品资料
12、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 我们还可以证明函数3n 不是 O (2n) ,即 3nO (2n) 。 用反证法,假设 3n=O (2n) ,则存在常数C 和 n,当 n=n。时 ,3n=(3/2) n 可以大雨任意大的正数,因而这样的常数C 不存在。一个程序运行时间的增长率将最终决定该程序在计算机上能解决多大规模的问题。因此我们说一个运行时间为O(n2)的程序较之运行时间为O(n3)的程序有更好的时间复杂性。至于常数因子通常忽略不计。12.如
13、何分析一个程序的时间复杂度? 首先,针对程度基本成分S 的执行时间T(S)引入如下记号: T(x)为取变量或常量x 之值所消耗的时间,相当于汇编语言中取数并送给一个寄存器加载的这段时间。 T(.v)为取变量v 的地址之值所消耗的时间,凡是地址在编译阶段已经分配完的,其T(.v)=0。 T(=)为赋值操作所消耗的时间,相当于保存一个数所消耗的时间。 T( )执行运算操作 所消耗的时间。eg:T(+),T(-), 及 T(*) 和 T(/) 等。 T(call/return )执行函数调用与函数返回所消耗的时间。 T(par)将参数par 传递给函数所消耗的时间。 其次,计算复合结构的增长率可用加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构基础 2022 数据结构 基础
限制150内