数据结构: 数据结构是信息的组成方式。它主要用来反映一个数据的内部构成,即一个数据由哪些成分数据构成,以什么方式构成,呈什么结构。 数据结构分为逻辑上的数据结构(反映成分数据之间的逻辑关系)和物理上的数据结构(反映成分数据在计算机内部的存储安排)。 从学科角度来讲,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科。它的研究内容即是三个方面:数据的逻辑结构;数据的物理存储结构;对数据的操作(即算法)。 通常算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。良好的数据结构可以提高算法的效率,一般一种数据结构会与一组算法的集合相对应,通过这组算法集合对数据结构中的数据进行操作,称之为该数据结构的基本操作(如建立,删除数据结构等)。数据结构的研究不仅涉及计算机硬件的研究,如存储装置和存取方法,而且是解决编译原理,操作系统,数据库系统的数据元素在存储器中的分配问题的重要基础。 抽象数据类型ADT(Abstract Data Type):简称数据类型,既是一个数学模型以及定义在该模型上的一组操作,之所以称为抽象,是因为它实现了信息的隐蔽和局部化,提供一个定义的接口为在数据结构上提供一个抽象的数据实现并隐蔽处理的细节,它把数据结构及数据结构的所有基本操作看成一个整体(模块model),数据结构的逻辑结构被表示为私有成员,基本操作被表示为公共方法。因此它与物理结构无关,使软件系统建立在数据之上,类似于面向对象语言中类的概念。 数据:数据是个集合的概念,是能够被输入到计算机中并被计算机处理的客观符号的总称。数据项是数据不可分割的最小单位,数据项组成数据元素;数据元素是数据的基本单位,是数据中的“个体”,又称为“记录”或“表目”;相同性质的数据元素组成数据对象;而数据对象组成数据。数据结构即是一种或多种特定关系的数据元素的集合。
表和树是最常用的两种高效数据结构,许多高效的算法都可以用这两种数据结构来设计实现。 表是线性结构(全序关系),数(偏序或层次关系)和图(弱序或局部有序weak/local orders)是非线性结构。 数据结构的物理结构是逻辑结构在计算机中的表示(又称存储映像image).
如何判断好的和坏的数据结构: 如果一个DS可以通过某种“线性规则”被转化为线性的DS(如线性表),则称其为好的DS。好的DS通常对应于好的(高效的)算法。这是由计算机的计算能力决定的,因为计算机本质上只能存取逻辑连续的内存单元,因此如果没有线性化的结构逻辑上是不可计算的。。比如对一个图进行操作,要访问图的所有节点,则必须按照某种顺序来一次访问所有节点(要形成一个偏序),必须通过某种方式将图固有的非线性结构转化为线性结构才能对图进行操作。
递归设计的实质: 当一个复杂的问题可以分解成若干子问题来解决时,其中某些子问题与原问题有相同的特征属性,则可利用原问题相同的分析处理方法;反之,子问题解决了,原问题也就迎刃而解了。
迭代: 就是高潮迭起的“迭”和变量代换的“代”。概念上,就是有某个变量,它的值被一次又一次地代换成新的数值,而每次代换之后都作同样的动作。通常程序语言提供三种迭代的语法:for循环,while循环,和do...while循环。迭代的概念首次出现在Babbage和Ada在设计机械型计算机的时候,这是写一个电脑程序最最基本,可能也是最最原始的技巧。 |
|
概念整理_1
最新推荐文章于 2024-09-20 12:42:36 发布