《数据结构》学习记录(1):绪论

一、概念

1、数据

所有能够输入到计算机中,且能被计算机处理的符号的集合。

计算机中的各种文件都是数据。而数据结构中主要讨论结构化数据

2、结构化数据

即具有某种规则的数据。

例如一个学生表:

3、数据元素

是数据(集合)中的一个“个体”,它是数据的基本单位。

如上表中一条记录就是一个数据元素。

4、数据项

数据的最新单元。

如上表中每个单元格中的内容都是一个数据项。

5、数据对象

相同特性数据元素的集合,是数据的一个子集。

如上表中两条记录就构成一个数据对象。

7、算法

数据元素之间的关系有逻辑关系和物理关系,对应的运算有基于逻辑结构的运算描述和基于存储结构的运算实现。

通常把基于存储结构的运算实现的步骤或过程称为算法。

二、数据结构的构成

数据结构由三部分构成:

  1. 逻辑结构:数据元素之间的逻辑关系。
  2. 物理结构:数据元素及其关系在计算机存储器中的存储方式。
  3. 数据运算:施加在该数据上的操作。

三、数据逻辑结构的表示方法

1、图表和图形

如上面的图片就是一种表示方法。略。

2、二元组法:一种通用的逻辑结构表示方法

一个二元组表示为:B=(D,R)      

数据元素的集合D:D={ di | 1≤i≤n,n≥0}

关系的集合R:R={ rj  | 1≤j≤m,m≥0}:

关系的集合R可以用多个序偶来表示:

  • 序偶<x,y>表示x、y是有向的;序偶(x,y)表示x、y是无向的
  • 序偶<x,y>(x,y∈D):x为第一元素,y为第二元素。x为y的前驱元素。y为x的后继元素。
  • 若某个元素没有前驱元素,则称该元素为开始元素
  • 若某个元素没有后继元素,则称该元素为终端元素。

示例1:

示例2:

并不直观。

四、数据存储结构的表示方法

1、顺序存储结构

  • 所有元素占用一整块内存空间。
  • 逻辑上相邻的元素,物理上也相邻。

2、链式存储结

  • 一个逻辑元素用一个结点存储,每个结点单独分配,所有结点的地址不一定是连续的。
  • 用指针来表示逻辑关系。

五、逻辑结构类型

1、集合

元素之间关系:无。

特点:数据元素之间除了“属于同一个集合”的关系外,别无其他逻辑关系。是最松散的,不受任何制约的关系。

2、线性结构

元素之间关系:一对一。

特点:开始元素和终端元素都是唯一的,除此之外,其余元素都有且仅有一个前驱元素和一个后继元素。

3、树形结构

元素之间关系:一对多。

特点

  • 开始元素唯一,终端元素不唯一。
  • 除终端元素以外,每个元素有一个或多个后续元素。
  • 除开始元素外,每个元素有且仅有一个前驱元素。

4、图形结构

元素之间关系:多对多。

特点:所有元素都可能有多个前驱元素和多个后继元素。

六、存储结构类型

存储结构可归纳为以下几种:

  1. 顺序存储结构
  2. 链式存储结构
  3. 索引存储结构
  4. 哈希(散列)存储结构

七、数据结构求解问题的过程

  1. 问题描述:描述(定义)数据的逻辑结构、数据的抽象运算(数据要进行的操作)。
  2. 储存结构设计:确定逻辑结构在计算机中的储存、操作方式。
  3. 算法设计:设计出能实现数据抽象运算的算法。
  4. 算法分析:找出最优算法

八、算法的五个重要的特性

  • 有穷性:在有穷步之后结束,算法能够停机。
  • 确定性:无二义性。
  • 可行性:可通过基本运算有限次执行来实现,即算法中每一个动作能够被机械地执行。
  • 有输入数据
  • 有输出数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值