数据结构基本概念

基本概念和术语

关系的基本含义为事物之间相互作用、相互影响的状态。

联系:指事物内部矛盾双方和事物之间所发生的关系。

相关:即在自然界或人类社会中,如果变量之间具有相随变动的关系,则称变量之间相关。

 

数据(Data):描述客观事物的符号。

数据元素(DataElement):组成数据的、有一定意义的基本单位。

数据项(Data Item):构成数据元素的数据,是数据不可分割的最小基本单位。

数据对象(DataObject):是性质相同的数据元素的集合,是数据的子集。

类型:一组值的集合。

数据类型:一组性质相同的值的集合和定义在此集合上的操作的集合。

抽象数据类型(AbstractData Type ):一个数学模型以及定义在该模型上的操作的集合。

抽象数据类型的描述方法:ADT=DSP

其中: D是数据对象,SD上的关系集,P是对D的基本操作集。

结构简单理解就是关系,严格来说就是各个组成部分相互搭配和排列的方式。

数据结构(DataStructure):是指相互之间存在着一种或多种特定关系关系的数据元素的集合。

数据结构的形式定义是一个二元组:

Data-Structure=(DS)

其中:D是数据元素的有限集,SD上关系的有限集。

逻辑结构:数据元素之间的相互关系。数据元素之间的关系可以是元素之间代表某种含义的自然关系,也可以是为处理问题方便而人为定义的关系。在数据结构中体现为前驱后继关系。数据的逻辑结构有四种基本类型,如下图所示。

集合:结构中的数据元素除了“同属于一个集合”外,没有其它关系。

线性结构:结构中的数据元素之间存在一对一的关系。

树型结构:结构中的数据元素之间存在一对多的关系。

图状结构或网状结构:结构中的数据元素之间存在多对多的关系。

 

存储结构(物理结构):数据元素在计算机中的存储方式,是逻辑结构在存储器中的映象。

顺序存储结构:把数据元素依次存储在地址连续的存储单元中。只包含数据元素本身的信息,数据元素间的逻辑关系和物理关系一致。

链式存储结构:把数据元素存储在任意的存储单元中。在每个数据元素中添加附加信息(通常是指针)来指示相关联的数据元素。数据元素的存储关系不能反映逻辑关系,附加信息能够体现数据元素之间的逻辑关系。

顺序结构:数据元素存放的地址是连续的

链式结构:数据元素存放的地址是否连续没有要求,既可连续,又可不连续。

索引存储结构:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。

散列存储结构:就是根据结点的关键字直接计算出该结点的存储地址。 

 

数据的逻辑结构和物理结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。在C语言中,用一维数组表示顺序存储结构;用结构体类型表示链式存储结构。

逻辑结构对数据元素之间逻辑关系的描述。   

存储结构数据元素在计算机中的存储及其逻辑关系的表现称为数据的存储结构或物理结构。

数据操作对数据允许进行的运算。

数据结构的主要运算包括:

1)创建(Create)一个数据结构;

2)消除(Destroy)一个数据结构;

3)对数据结构进行初始化;

4)把一个数据元素插入(Insert)到一个数据结构中;

5)从一个数据结构中删除(Delete)一个数据元素;

6)对一个数据结构进行访问(Access)

7)对一个数据结构(中的数据元素)进行修改(Modify)

8)对一个数据结构进行查找(Search)

9)对一个数据结构进行排序(Sort)

 

算法(Algorithm):解决特定问题方法(步骤)的描述。

算法具有以下五个特性

    输入性:一个算法有零个或多个输入。

    输出性:至少产生一个输出量或或执行一个有意义的输出。

    有穷性:执行有限步骤之后结束,且每一步都在有穷时间内完成。

    确定性:每一条语句的含义明确,无二义性。

    可行性:算法的每一步都必须是可行的。

评价一个好的算法有以下几个标准

    正确性(Correctness ):算法应满足具体问题的需求。

    可读性(Readability):算法应容易供人阅读和交流。可读性好的算法有助于对算法的理解和修改。

    健壮性(Robustness):算法应具有容错处理。当输入非法或错误数据时,算法应能适当地作出反应或进行处理,而不会产生莫名其妙的输出结果。

    高时间效率

    高空间效率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值