01343数据结构原理与分析 1文档格式.docx
- 文档编号:18830189
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:7
- 大小:17.61KB
01343数据结构原理与分析 1文档格式.docx
《01343数据结构原理与分析 1文档格式.docx》由会员分享,可在线阅读,更多相关《01343数据结构原理与分析 1文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
4、掌握各种查找及排序的方法和算法实现;
5、掌握树、图的存储结构;
了解这两章的相关算法。
6、学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法。
7、通过对本课程算法设计和上机实践的训练,还要注重培养学生的数据抽象能力和基本程序设计的能力。
三、与本专业其他课程的关系
本课程的先修课程为离散数学和高级语言程序设计(C语言和C++语言),后续课程为操作系统、数据库原理等。
数据结构中存储结构及基本运算的实现需要程序设计的基本知识和编程的经验及能力,本课程的大部分实例均是用C语言(或C++)实现的,故要求较熟练地掌握C语言(或C++)。
【课程修读对象】
第二部分考核内容与考核目标
第一章
绪论
一、学习目的和要求
通过本章学习,学生需要掌握常用的基本概念,了解本书涉及的逻辑结构和存储结构,对本教材的体系有一个大致的了解。
二、考核知识点与考核目标
(一)基本概念和术语(重点)
数据的相关概念:
数据,数据项,数据元素。
数据结构的相关概念:
数据结构,数据的逻辑结构与物理结构,逻辑结构与物理结构间的关系。
数据类型的相关内容:
数据类型、抽象数据类型、数据抽象和信息隐蔽原则,了解什么是面向对象。
1、识记:
数据和数据结构的相关概念。
2、理解:
数据结构的相关概念,区分逻辑结构与物理结构的关系。
(二)算法的描述和分析(一般)
算法的相关内容:
算法的定义、算法的特性、算法的时间代价、算法的空间代价。
描述算法的方法:
类C语言,能够使用C语言编写程序。
C语言中函数的定义和调用。
描述算法的方法。
2、应用:
分析算法的时间和空间复杂度。
第二章
线性表
通过本章学习,学生需要了解两种存储方法各自的优缺点,以便针对不同的需求运用合适的存储方式,掌握线性表的逻辑结构的特点、线性表在内存中的两种存储方法,熟练掌握并理解链式存储方法,会针对数据在不同存储方法时的处理以及相应算法的描述,如果有条件还应通过上机来实现算法。
(一)线性表的逻辑结构(次重点)
线性表的概念、线性表的逻辑结构的特征;
常见的线性表的基本运算(有六种):
线性表的初始化、求表长、读取线性表中的元素、在线性表中查找某个元素、在线性表中插入元素、在线性表中删除元素。
线性表的概念。
逻辑结构的特征。
(二)线性表的顺序存储结构(重点)
顺序存储结构的实现方法:
用一维数组实现。
顺序存储结构中任意元素的地址的计算方法。
顺序存储结构的定义。
基于顺序存储结构的算法描述:
插入元素、删除元素的算法描述及应用。
1、识记:
线性表顺序存储的实现方法。
2、理解:
顺序存储结构中任意元素的地址的计算方法、存储结构的定义方法。
3、应用:
在存储结构定义的基础上用类C语言描述算法,并能写出标准的C语言程序上机实现。
(三)线性表的链式存储结构(重点)
1)采用链表存储的实现方法;
链式存储结构的定义;
单链表中结点的表示方法;
2)单链表的相关概念:
头结点、头指针、尾结点;
3)单链表算法中常用的C语言的函数:
malloc(),free()的格式、功能、返回值以及调用方法;
4)指针的定义和使用;
5)链表可分为动态链表和静态链表,主要是对动态链表的理解。
6)单链表的结构、特点。
7)带表头结点的单链表和类定义及相应操作的实现。
8)单链表的类定义、构造函数、单链表的插入与删除算法及其应用。
9)循环链表的特点,循环链表的类定义,以及用循环链表解决问题的方法。
10)双向链表的特点,双向链表的类定义及相关操作的实现,用双向链表解决问题的方法。
线性表链式存储的实现方法、实现所用的函数以及相关概念。
链表中存储结构的定义,单链表、双向链表和循环链表的构成,单链表上运算的实现。
能用类C语言编写相关算法。
(三)顺序表和链表的比较(一般)
1)基于空间的考虑:
从数据的存储密度上考虑。
2)基于时间的考虑:
从运算所需要的时间上进行考虑。
顺序表和链表各自的优缺点。
2、应用:
能针对数据的不同的使用目的为数据选择合适的存储方法。
第三章
栈和队列
通过本章学习,学生需要掌握栈和队列的特征,栈和队列的顺序存储方式以及在顺序存储方式上的各种操作,并能读懂相关的算法,了解栈和队列的链式存储结构以及栈和队列的简单应用。
(一)栈(重点)
1)栈的定义、栈的特征。
2)栈的基本运算定义:
六种基本运算函数的应用。
3)栈的顺序存储:
顺序栈的类型定义和六种基本运算的实现方法和具体算法。
4)顺序栈中掌握栈空和栈满的条件。
5)栈的链式存储。
6)栈的应用。
栈的定义和特征,六种基本运算函数。
顺序栈上的六种基本运算。
通过掌握栈的特征来读懂栈的相关的算法,可以不要求写算法。
(二)队列(重点)
1)队列的定义、队列的特征。
2)队列的基本运算定义:
六种基本运算函数的函数名、参数、返回值和调用方法。
3)队列的顺序存储:
一般顺序存储的队列和循环队列,循环队列主要解决的问题。
4)在循环队列中六种基本运算的实现方法和具体算法。
4)循环队列中掌握队列空和队列满的条件。
5)队列的链式存储。
6)队列的应用。
队列的定义和特征,六种基本运算函数。
循环队列上的六种基本运算。
通过掌握循环的特征来读懂队列的相关的算法。
第四章
串
通过本章学习,学生需要了解串的基本概念及串的基本操作,掌握串的顺序存储结构和顺序串的各种运算的实现,了解串的链式存储结构。
(一)串及其运算(重点)
1)串的基本概念:
串、串名、串值、串长。
2)区别下列概念:
空串和空格串
3)理解一下概念:
子串、主串、串相等、子串在主串中的位置。
4)串的运算有:
赋值运算、判相等运算、求串长运算、插入运算、删除运算、连接运算、替换运算、取子串运算。
5)掌握以上各种运算的函数的写法、函数参数的含义和各函数的返回值、函数的调用方式。
串的相关概念、串的基本运算函数的原型。
串的各种有关的概念、串的基本运算函数的参数。
串的概念在实际例子中的应用、能够用串的基本函数对给出的字符串进行处理。
(二)串的存储结构(一般)
1)串的顺序存储结构。
2)串的链式存储结构。
1、理解:
串顺序存储结构。
第五章
数组和广义表
通过本章学习,学生需要了解数组的逻辑定义和基本运算;
熟练掌握数组的两种顺序存储方式;
掌握特殊矩阵和稀疏矩阵的压缩存储;
了解广义表的基本概念及其操作。
(一)数组的定义和运算(重点)
1)一维数组、二维数组的定义;
2)一维数组的顺序存储以及在顺序存储中求任意一个元素的首地址。
3)二维数组的顺序存储:
行主序、列主序
4)在二维数组的两种顺序存储方式中分别求任意一个元素的首地址。
数组的定义。
二维数组的两种存储方式。
能计算一维、二维数组中各元素的首地址。
(二)矩阵的压缩存储(重点)
1)特殊矩阵:
对称矩阵、三角矩阵、对角矩阵、稀疏矩阵。
2)压缩存储的意义。
3)各种特殊矩阵的压缩存储方式。
4)在压缩存储中元素与存储下标的关系。
5)稀疏矩阵的特殊存储。
特殊矩阵的压缩存储方式。
能计算在压缩存储中元素与存储下标的关系。
(三)广义表(一般)
1)广义表的概念和它的定义方式、表头和表尾的定义。
2)广义表的性质。
3)广义表的存储结构。
4)广义表的基本操作。
广义表的概念,表头和表尾的表示。
广义表的基本操作即对给定的广义表分离出表头和表尾。
第六章
树和二叉树
通过本章学习,学生需要了解树的定义及基本术语;
熟练掌握二叉树的性质,了解其性质的证明方法;
熟练掌握二叉树的存储结构和各种遍历方法;
了解二叉树的线索化的方法;
熟练掌握哈夫曼树的构造方法及应用;
熟练掌握树的各种存储结构及特点;
掌握树和森林与二叉树的相互转换方法。
(一)树的概念和基本术语(次重点)
1)树的定义:
掌握其定义的递归性。
2)树的基本术语:
结点的度、分支结点、叶结点以及树的家族关系的描述方法。
3)森林的概念。
树的概念及基本术语。
(二)二叉树(重点)
1)二叉树的定义;
2)二叉树的五种基本形态;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01343数据结构原理与分析 01343 数据结构 原理 分析