数据结构基础

数据结构课程内容

数据结构基础:

线性数据结构+非线性数据结构

--线性数据结构:线性表,栈,队列,一维数组,串

--非线性数据结构:二维数组,多维数组,广义表,树与二叉树,图

数据结构应用:

查找+排序

--查找::静态查找,动态查找

--排序:内部排序(插入类、交换类、归并类、选择类),外部排序

数据结构的基本概念

数据项<数据元素<数据对象<数据结构

--数据元素(Data Element)

是数据的基本单位,通常作为一个整体进行考虑和处理

--数据项(Data Item)

一个数据元素可由若干个数据项组成。数据项是数据元素的不可分割的最小单位。

--数据对象(Data object)

是具有相同性质的数据元素的集合,是数据的一个子集

--数据结构(Data structure)

是相互之间存在的一种或多种特定关系的数据元素的集合。

数据结构是带有结构的各数据元素的集合

数据结构三要素(重点)

◆逻辑结构:

        从逻辑关系上描述数据,与数据的存储无关,它是从具体问题抽象出来的数学模型。

划分方式一

线性结构

        有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。

        例如:线性表、栈、队列、串

非线性结构

        一个结点可能有多个直接前趋和直接后继,

        例如:树、图

划分方式二

集合

        数据元素间除“同属于一个集合”外,无其它关系

线性结构

        一个对一个线性关系,如线性表、栈、队列

树形结构

        一个对多个层次关系

图形结构

        多个对多个任意关系

◆物理结构(存储结构):

        数据元素及其关系在计算机中内存中的存储形式(又称映像)。

顺序存储结构(常用)

链式存储结构(常用)

索引存储结构

散列存储结构(哈希)

◆数据的运算(增删改查)

        数据上的某些操作,包括:增删改查排序等:

抽象数据类型

抽象+数据类型

数据类型

(1)原子类型:其值的不可再分的数据类型

        char         int         float         double

(2)结构类型:其值可在分分解为若干成分(分量的数据类型)

        struct

 抽象数据类型(不具体)

实际上是求解问题形式化描述(与计算机无关)

抽象数据类型 = 逻辑结构+抽象运算(D上的操作集)

********抽象数据类型没有存储

数据结构和抽象数据类型的关系

数据结构由一个四元组来表示

Data Structure=(D,R,L,O)

数据元素

数据元素之间的逻辑关系、

逻辑关系在计算机中的停储表示

所规定的操作

抽象数据类型ADT一般包含数据元素、数据元素之间关系及操作三要素(D,R, O),其中
D是数据元素集
R是D上的关系集合
O是对D的基本操作集。 

抽象数据类型的举例

//Circle为抽象数据类型名
ADT Circle
{
//数据元素的定义
    D={r,x,y|r,x,y 均为实数}
    R={r,x,y|r是半径,<x,y>为圆心坐标}
//操作
    Circle(&C,r,x,y)
        操作结果:构造一个圆
    double Area(c)
        初始条件:圆已存在
        操作结果:计算圆的面积
    ......
}ADT Circle

数据结构的求解过程

选择题

(1)在数据结构中,从逻辑上可以把数据结构分成(C)。
A.动态结构和静态结构           C.线性结构和非线性结构
B.紧凑结构和非紧凑结构        D.内部结构和外部结构

(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的(C)
A.存储结构
B.逻辑结构
C.存储实现
D.运算实现

(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着(B)。
A.数据具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
(4)以下说法正确的是(D)。
A.数据元素是数据的最小单位
B.数据项是数据的基本单位
C.数据结构是带有结构的各数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构

数据元素是数据的基本单位
数据项是数据可操作的最小单位,
数据结构是带有结构的各数据元素的集合

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值