当前课程知识点:数据结构 >  第1章 绪论 >  1.2基本概念和术语 >  1.2基本概念和术语

返回《数据结构》慕课在线视频课程列表

1.2基本概念和术语在线视频

下一节:1.3数据结构的描述

返回《数据结构》慕课在线视频列表

1.2基本概念和术语课程教案、知识点、字幕

同学们,大家好

我是云南大学信息学院的教师孔兵

这一节我们介绍数据结构涉及到的基本概念

以及要使用到的一些术语

首先是数据,数据是对信息的一种符号表示

在计算机中 是指所有能输入到计算机中

并被计算机程序处理的符号的总称

简单的说,就是把我们要处理的现实当中的对象数字化

转化为计算机能处理的符号,这样的符号就是数据

当然,符合的种类可能很多,比如说可能是数值

也可能是文本,也可能是视频音频等等

数据元素是数据的基本单位,在计算机当中

我们通常把它作为一个整体进行考虑和处理

要注意在不同的问题当中,数据元素是不一样的

比如说我们上一节的例子当中,第1个例子中

数据元素是关于一本书的信息

该信息可能包括书名,书号,作者,出版社等等

第2个例子中,数据元素是格局,第3个呢是通道

从这儿可以看到,在不同的问题当中数据元素是不一样的

一个数据元素可以由若干个数据项组成

比如说书的信息当中就有书名,书号,作者

出版社等

这样的数据项一般来说不可分割

因为分割以后,基本没有什么意义了

数据对象是相同性质的数据元素的集合

这个集合可能是某个问题当中涉及到的所有数据的一个子集

在后面数据结构的定义当中

我们一般把数据对象作为数据元素的一个来源

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

从这个描述上来看,数据结构涉及到两个东西

一个是数据元素,一个是数据元素之间的关系

在前面的例子当中,我们已经反复提到这个概念

后续的讨论中一般不讨论多种关系的情况

一般都是只讨论一种关系的情况

在后续的课程当中,我们主要讨论4种典型的数据结构

第1种称为集合,对集合这样的数据结构

数据元素之间除了同属一个类型之外,别无其他关系

我们在第9章查找

第10章排序当中所处理的数据就是集合

线性结构前面我们已经看到过了

它是说结构中的数据元素之间存在所谓1对1的关系

也就是说序列当中每一个元素有一个唯一的前驱

有一个唯一的后继,例1中,图书序列就是线性结构

在树形结构中的数据元素之间存在所谓一对多的关系

也就是说,对一个数据元素来说,它有一个唯一的前驱

但是可能有多个后继。在第2个例子中,对一个格局而言

它有一个演化的来源,那是它的前驱,根据落子的不同

它可能演化为多个格局,那就是它的后继

图状结构是指结构中的数据元素之间存在多对多的关系

也就是说它可能有多个前驱也可能有多个后继

例3中的针对交通灯的模型就是图状结构

如果图状结构当中的关系带有权值,那么就称它为一个网状结构

所以网状结构实际上就是带权的图状结构

例如交通图就是网状结构

交通图中描述城市连接关系的道路一般是带有里程的

从上面的讨论当中,我们看到数据结构包含两个东西

一个是数据元素,一个是数据元素之间的关系

下面呢,我们给出数据结构的形式定义

数据结构可以被描述为一个二元组

其中D是数据元素的有限集,也就是前面说的数据对象

S是在D上定义的,数据元素之间关系的有限集

是一个关系的集合,它说明了数据元素集

以及一个在数据元素集上定义的,数据元素之间的关系集

两者一起就构成了数据结构

这个数据结构就是针对某一个问题的一个数学模型

如上面例子中的线性结构,树结构和图结构

好了,同学们

我们今天的课程就到这里

下节课再见

数据结构课程列表:

前言

-1.算法概念导入

--1.1 算法概念导入

-2.数据结构课程介绍

--2.数据结构课程介绍

-数据结构前言PPT

第0章 预备知识

-0.1变量、类型和表达式

--0.1变量、类型和表达式

-0.2 函数

--0.2 函数

-0.3 指针和单链表

--0.3 指针和单链表

-0.4 数组、指向函数的指针

--0.4 数组、指向函数的指针

-第0章 预备知识讨论题

-数据结构第0章预备知识PPT

第1章 绪论

-1.1什么是数据结构

--1.1什么是数据结构

--测试题

-1.2基本概念和术语

--1.2基本概念和术语

--测试题

-1.3数据结构的描述

--1.3数据结构的描述

--测试题

-1.4抽象数据类型的定义和实现

--1.4抽象数据类型的定义和实现

--测试题

-1.5算法和算法分析概念

--1.5算法和算法分析概念

--测试题

-1.6算法分析示例

--1.6算法分析示例

--测试题

-第1章 绪论讨论题

-数据结构第1章 绪论PPT

第2章 线性表

-2.1 线性表的类型定义

--2.1线性表的类型定义

--测试题

-2.2线性表的顺序表示和实现

--2.2 线性表的顺序表示和实现

--测试题

-2.3 线性链表

--2.3 线性链表

--测试题

-2.4 静态链表

--2.4 静态链表

--测试题

-2.5 循环链表和双向链表

--2.5 循环链表和双向链表

--测试题

-第2章 线性表讨论题

-数据结构第2章线性表PPT

第3章 栈和队列

-3.1 栈

--3.1栈

--测试题

-3.2 栈的实现

--3.2 栈的实现

--测试题

-3.3 栈的应用

--3.3 栈的应用

-3.4 栈与递归的实现

--3.4栈与递归的实现

--测试题

-3.5 队列和链队列

--3.5 队列和链队列

--测试题

-3.6 循环队列

--3.6 循环队列

--测试题

-第3章 栈和队列讨论题

-数据结构第3章栈和队列PPT

第4章 串

-4.1 串

--4.1 串

--测试题

-数据结构第4章 串PPT

第5章 数组

-5.1 数组定义和表示

--5.1 数组定义和表示

--测试题

-5.2矩阵的压缩存储

--5.2 矩阵的压缩存储

--测试题

-第5章 数组讨论题

-数据结构第5章数组PPT

第6章 树和二叉树

-6.1 树的定义和基本术语

--6.1 树的定义和基本术语

-6.2 二叉树和二叉树的性质

--6.2 二叉树和二叉树的性质

--测试题

-6.3 二叉树的存储结构

--6.3二叉树的存储结构

--测试题

-6.4 遍历二叉树

--6.4 遍历二叉树(1)

--6.4 遍历二叉树(2)

--测试题

-6.5 线索二叉树

--6.5 线索二叉树

--测试题

-6.6 树的存储

--6.6树的存储

-6.7 树的转换和遍历

--6.7 树的转换和遍历

--测试题

-6.8 赫夫曼树

--6.8 赫夫曼树

-6.9 赫夫曼编码

--6.9 赫夫曼编码

--测试题

-第6章 树和二叉树讨论题

-数据结构第6章树和二叉树PPT

第7章 图

-7.1 图的定义和术语

--7.1.1图的定义和术语(1)

--7.1.2图的定义和术语(2)

--测试题

-7.2 图的存储结构

--7.2.1 数组表示法(1)

--7.2.2 数组表示法(2)

--7.2.3 邻接表

--测试题

-7.3 图的遍历

--7.3.1 深度优先搜索

--7.3.2 广度优先搜索

--测试题

-7.4 最小生成树

--7.4.1 普里姆算法

--7.4.2 克鲁斯卡尔算法

--测试题

-7.5 有向无环图

--7.5.1 拓扑排序

--7.5.2 关键路径

--测试题

-7.6 最短路径

--7.6.1 单源最短路径-迪杰斯特拉算法

--7.6.2 每一对顶点之间的最短路径-弗洛伊德算法

--测试题

-第7章 图讨论题

-数据结构第7章图PPT

第8章 查找

-8.1 查找基本概念和顺序查找

--8.1 查找基本概念及顺序查找

--测试题

-8.2 有序表的查找

--8.2 有序表的查找

--测试题

-8.3 二叉排序树

--8.3.1 二叉排序树(1)

--8.3.2 二叉排序树(2)

--测试题

-8.4 平衡二叉树

--8.4 平衡二叉树

--测试题

-8.5 哈希表

--8.5.1 哈希表及哈希函数的构造

--8.5.2 解决冲突的方法

--8.5.3 哈希表的查找和性能分析

--测试题

-第8章 查找讨论题

-数据结构第8章查找PPT

第9章 内部排序

-9.1插入排序

--9.1.1 插入排序(1)

--9.1.2 插入排序(2)

--测试题

-9.2 希尔排序

--9.2 希尔排序

--测试题

-9.3 快速排序

--9.3 快速排序

--测试题

-9.4 选择排序

--9.4 选择排序

--测试题

-9.5 堆排序

--9.5 堆排序

--测试题

-9.6 归并排序

--9.6 归并排序

--测试题

-9.7 基数排序

--9.7 基数排序

--测试题

-9.8 排序方法总结

--9.8 排序方法总结

-第9章 内部排序讨论题

-数据结构第9章内部排序PPT

1.2基本概念和术语笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。