数据结构与问题求解 课程教学大纲_第1页
数据结构与问题求解 课程教学大纲_第2页
数据结构与问题求解 课程教学大纲_第3页
数据结构与问题求解 课程教学大纲_第4页
数据结构与问题求解 课程教学大纲_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构与问题求解课程教学大纲01基本信息课程名称:数据结构与问题求解

英文名称:DataStructureandProblemSolving课程类别:学科基础教育课程课程性质:必修学分:5总学时:80其中,讲授44学时,上机24学时,研讨12学时适用专业:计算机科学与技术、软件工程、网络工程、大数据、人工智能、信息与计算科学等先修课程:程序设计与问题求解后继课程:算法设计与问题求解02课程简介《数据结构与问题求解》是信息类专业基础课程,其目标是要求学生理解和掌握面向对象程序设计(C++)基础知识和编程方法、数据结构的相关知识。讨论各种数据的抽象表示、实现方法、处理数据的算法设计以及对算法性能的分析。使学生能够运用面向对象程序设计的方法开发应用程序,理解使用面向对象的方式如何能提高程序的可维护性。本课程主要通过案例学习和实训练习,初步掌握使用经典模型解决实际问题的方法;通过设置预习和研讨环节,引导学生自主学习、对数据结构进行深入的探讨,分析不同解决方案的优劣,具备一定的复杂工程问题求解能力。03课程目标1、课程思政教学目标:通过本课程的学习,使学生学习沟通、组织、团队合作的社会能力,培养学生安全、规范的专业素养以及一丝不苟的工匠精神;了解计算机软件从业人员应当具备的职业道德守则,为进军软件行业做准备;理解并敬重工匠精神,在学习中努力发扬工匠精神。帮助学生了解新时代国家对软件行业从业者的要求;通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感。通过课程思政教学,培养爱国、爱党、具有良好的职业道德和高度职业责任感的专业人才。2、课程教学总目标:通过本课程的学习,使学生能够运用C++面向对象程序设计的方法,能初步的理解和能够运用面向对象中重要的四个概念--抽象、封装、继承和多态,能理解面向对象程序设计的优势,能使用面向对象的思想完成程序的设计,能对类进行拓展和维护。以堆栈和队列为例,进一步了解线性表的应用范畴和规约,能以树和图为例了解非线性结构的数据结构的应用范畴和规约。能使用经典的数据结构解决实际问题。通过进一步学习数据的查询算法和排序算法,能比较使用不同方案实现同一功能的效率优劣。能通过查阅相关技术文档、查阅文献或者通过与老师同学讨论,解决在程序设计过程中遇到的问题。能够通过阅读老师提供的文献、观看老师提供的线上资源或者自主学习,能够运用一定的课堂外的拓展知识,并能使用拓展知识解决实际问题。3、课程目标与学生能力和素质培养的关系:课程思政目标的实施有利于培养学生爱国精神、职业责任感,团队合作、组织、沟通等社会能力。课程教学目标的实施有利于培养学生对复杂问题的分析判断能力,培养学生对复杂问题的求解和创新思维,培养学生自主学习、拓展知识的意识。4、毕业要求—课程目标关系(OBE结果导向)考虑本课程与专业毕业要求的支撑关系,制定本课程学习目标。通过本课程的教学,达到以下课程目标,见表1:■

表1毕业要求-课程目标关系表04课程内容及学时分配(一)C++语言基本知识(2学时)学习C++基本语法,包括输入/输出、常量、命名空间、内存分配与回收、引用等基本语法。1、基本要求(1)掌握输入输出cin/cout(2)掌握const常量的使用(3)学会使用命名空间(4)掌握使用new与delete进行内存的分配与回收(5)理解引用、内联函数等知识点。2、重点、难点重点:输入输出格式控制、new/delete内存分配与回收难点:new/delete、引用。3、小组讨论问题1:C语言和C++语言的比较。问题2:C++的引用模式和C语言的指针模式有什么区别和联系。问题3:什么场合使用内联函数。问题4:C++的输入输出语句的特点。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本部分基本概念较多,是C++编程的基础。本章的教学支撑“毕业要求1.2”,使得学生开始掌握软件设计的理论与方法,运用C++语言进行软件系统开发的能力。(二)类的定义(4学时)了解基本的面向对象程序设计思维、初步培养学生抽象思维能力,并在抽象结果的基础上进行类的定义。掌握类定义中的基本元素,包括构造函数、成员函数、析构函数、构造函数重载、默认构造函数等语法。1、基本要求(1)类与对象的基本概念(2)类的定义(3)成员函数(4)构造函数(5)析构函数(6)带参数的构造函数与构造函数重载(7)默认构造函数(8)成员初始化列表(9)this指针(10)应用:栈(Stack)类、队列(Queue)类、链表(LinkList)分析与实现2、重点、难点重点:构造函数、析构函数、this指针、构造函数重载、成员初始化列表难点:构造函数重载、成员初始化列表3、小组讨论问题1:大小写的转换。问题2:不同数据类型的转换。问题3:实际问题的计算机表示。问题4:数学公式在计算机中的实现。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本部分是类的定义的基础,需要熟练掌握。本章的教学支撑“毕业要求4.1”,通过为学生提供数据输入输出、数据存储等技术文档,使得学生能掌握数据的输入输出和处理方法。通过案例学习掌握对实际问题进行抽象,设计出合适的类并进行封装的方法。(三)类的继承(4学时)在基本抽象能力的基础之上培养学生发现类之间的继承关系的能力,提高程序代码的重用性,消除代码冗余。掌握类的继承的语法、访问控制规则、派生类构造函数的定义、调用次序等。1、基本要求(1)继承与派生的概念(2)继承语法(3)访问控制规则(4)派生类构造函数定义(5)派生类构造函数与析构函数调用次序(6)构造函数与析构函数构造规则(7)应用:队列与双向队列、链表与双向链表2、重点、难点重点:继承语法、访问控制规则、构造函数与析构调用次序难点:访问控制规则、构造函数与析构调用次序3、小组讨论问题1:哪些场景会使用到类的继承。问题2:父类和子类中分别设计哪些类的成员。问题3:堆栈类的特点是什么?能够用它解决哪些实际问题。问题4:队列类的特点是什么?能够用它解决哪些实际问题。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本部分是类的继承,需要培养较好的抽象能力、并应用继承的语法加以实现的能力。本章的教学支撑“毕业要求1.2”,使得学生开始掌握面向对象程序设计的理论与方法,能够运用C++语言设计出具有继承关系的类,能进行包含多个类的较为复杂的程序开发,提高软件系统开发的能力。(四)多态(4学时)C++的多态分为两种:静态多态(重载,模板)和动态多态(覆盖,虚函数实现),多态是面向对象编程中最重要的环节,需要培养学生较高的抽象能力,特别是应用纯虚函数进行抽象、编程实现的能力。1、基本要求(1)多态性概念(2)运算符重载(3)虚函数意义(4)虚函数定义(5)虚析构函数(6)纯虚函数抽象类(7)应用:几何图形求面积2、重点、难点重点:多态性概念、运算符重载、虚函数、纯虚函数、抽象类难点:运算符重载、纯虚函数与抽象类3、说明:本部分是面向对象编程中最重要的环节,需要深入理解、反复实践,提高抽象能力。4、小组讨论问题1:多态能够运用于哪些场景。问题2:运算符重载能运用于哪些场景,对软件的可维护性有何意义。问题3:在设计程序中能否使用多继承。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。本章的教学支撑“毕业要求1.2”,使得学生开始掌握软件设计的理论与方法,运用C++语言实现多态,提高软件系统开发的能力。同时,对于复杂的工程问题需要设计复杂的类图、类之间的关系图,能够通过查询资料完成类的设计,可以支撑“支撑毕业要求4.1”。(五)模板与容器(2学时)模板(template)是C++语言的一项重要技术,代码重用的重要机制,是泛型技术的基础。STL即标准模板,是基于模板技术的一个库,提供了模板化的通用数据结构、类和算法。STL的核心内容包括容器、迭代器和算法。1、基本要求(1)模板概念(2)函数模板(3)类模板(4)容器(5)迭代器(6)关联式容器(7)算法2、重点、难点重点:函数模板、类模板、容器、迭代器、关联式容器难点:类模板、迭代器、关联式容器3、小组讨论问题1:使用STL重新完成约瑟夫环问题,和前面的解题方式进行比较。问题2:观察STL中堆栈类和队列类的设计,从中可以学习到哪些设计思路。问题3:使用模板的意义有哪些。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本部分主要讲解STL标准容器,需要熟练掌握。本章的教学支撑“毕业要求12.1”,通过为学生提供STL的拓展学习资料,STL的技术文档,以及STL的案例程序,使学生能自主学习STL的拓展知识,能够根据明确的需求,调用标准库,实现针对计算机相关复杂工程问题的算法。

(六)压缩矩阵与字符串(4学时)掌握特殊矩阵、稀疏矩阵的压缩方法,设计良好的存储结构来降低内存消耗,理解字符串匹配算法KMP,掌握KMP算法中转移函数next的计算方法。1、基本要求(1)特殊矩阵的压缩存储(2)稀疏矩阵的压缩存储(3)字符串的存储(4)字符串的转移函数(5)KMP算法2、重点、难点重点:稀疏矩阵、字符串的转移函数、KMP算法难点:稀疏矩阵、字符串转移函数next3、小组讨论问题1:在稀疏矩阵压缩后,能否完整的还原,探讨哪些压缩方式是不能还原的。问题2:稀疏矩阵的计算是否需要还原,哪些情况下还原效率更高。问题3:kmp算法是如何提高模式识别的效率。对算法的效率提高有哪些启发。问题4:kmp算法还能应用与哪些场景。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本部分介绍矩阵压缩、字符串匹配,需要掌握基本的矩阵压缩方法和字符串匹配算法。本章的教学支撑“毕业要求1.2”,使得学生能够掌握运用数学方法对矩阵进行压缩存储,能够分析KMP算法是如何提高程序效率的。(七)树与二叉树(10学时)掌握树的概念、特别是二叉树的存储和基本算法。掌握二叉树的基本性质、遍历访问操作、非递归遍历方法和哈夫曼树及编码。1、基本要求(1)树的逻辑结构(2)树的存储结构(3)二叉树的逻辑结构(4)二叉树的存储结构及实现(5)二叉树遍历的非递归算法(6)树、森林与二叉树的转换(7)哈夫曼树和哈夫曼编码2、重点、难点重点:二叉树的逻辑结构、二叉树的非递归算法、哈夫曼树和哈夫曼编码难点:二叉树的非递归算法、哈夫曼树及编码3、小组讨论问题1:树的结构能应用与哪些场景。问题2:各种树的存储方式有哪些,分别适合于存储什么类型的数据。问题3:哈夫曼编码的编码方式是否有多种,效率是否一致。问题4:哈夫曼编码可以运用于哪些场合。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本部分介绍树与二叉树,需要深入掌握二叉树的主要操作。本章的教学支撑“毕业要求1.2”,通过将哈夫曼树应用于哈夫曼编码问题,根据具体的问题确定叶子结点的权值计算方法,培养学生的复杂工程问题分析、改进的能力。同时本章的教学支撑“毕业要求4.1”,使得学生能掌握软件设计的理论与方法,运用C++语言进行软件系统开发的能力。(八)图(10学时)掌握图的基本概念、基本实现,以及对图的基本操作,包括深度遍历、广度遍历、最小生成树、最短路径、关键路径等。具备应用这些知识求解实际问题的能力。1、基本要求(1)图的逻辑结构(2)图的存储结构及实现(3)图的遍历(4)最小生成树(5)最短路径(6)有向无环图及其应用2、重点、难点重点:图的存储及实现、图的遍历、最小生成树、最短路径、有向无环图。难点:最小生成树、最短路径、有向无环图3、小组讨论问题1:图的遍历可以应用于哪些场景。问题2:最小生成树可以应用于哪些场景。问题3:最短路径可以应用于哪些场景。问题4:如何判断图中是否存在环。问题5:关键路径是否存在多条?组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明:本章的教学支撑“毕业要求1.2”,通过将复杂的工程问题抽象为图的问题,来培养学生应用数据结构模型的能力。本章的教学支撑“毕业要求4.1”,使得学生能掌握软件设计的理论与方法,运用C++语言进行软件系统开发的能力。(九)排序与查找(8学时)掌握查找的主要方法,二叉排序树、平衡二叉树、散列技术等;掌握基本的排序算法的实现及性能,能够针对问题选择合适的算法。1、基本要求(1)查找概述(2)二叉排序树(3)平衡二叉树(4)散列表的查找技术(5)直接插入排序(6)希尔排序(7)快速排序(8)堆排序(9)归并排序2、重点、难点重点:二叉排序树、平衡二叉树、散列表的查找技术、快速排序、堆排序、归并排序难点:平衡二叉树、散列表的查找技术、快速排序、堆排序3、说明:高效的查找方法和排序方法是解决一般工程问题的常用方法,需要熟练掌握。4、小组讨论问题1:如何判断二叉树是否是平衡的。问题2:二叉排序树是否可以用于排序,如何实现。问题3:哈希函数的设计方法有哪些,以学生学号为关键字可以如何设计哈希函数。问题4:比较各种排序算法的效率。组织方式:小组内进行讨论,每组推选两位同学讲解和演示老师指定的习题,进行讲解的同学由老师评讲解分。研讨完毕后所有同学上交研讨作业,按正确率和研讨记录进行评分。4、说明本章的教学支撑“毕业要求12.1”,通过为学生提供拓展学习资料,使得学生能自主掌握二叉排序树平衡的实现算法的思想,能比较多种哈希函数的设计方法适用于那些场景,培养学生运用C++语言进行软件系统开发的能力。另外,通过培养学生对比学习不同的查找、排序算法,理解不同算法的优缺点,为解决复杂软件工程问题分析打基础。(十)索引技术(2学时)掌握基本的索引技术,包括静态索引技术、动态索引技术。1、基本要求(1)静态索引(2)B-树(3)B+树(4)Trie树(5)哈希索引2、重点、难点重点:B-树、B+树、哈希索引难点:B-树、B+树、哈希索引本课程内容、建议学时以及知识单元与课程目标支撑关系如表2所示。■

表2

课程内容及学时分配05教学方法及要求1、教学方法要求:要求任课教师具有计算机科学与技术专业、软件工程、信息技术等背景;教学大纲的基本内容要认真执行,根据课程目标、教学计划和所选教材在深度上可做恰当处理,整个教学活动由理论课教学+研讨上机课教学完成,二者是一个有机整体。在教学开始之前,教师需要制定详细的教学计划。教学计划应该根据学生的实际情况进行调整和优化。为了使学生更好地理解和掌握程序设计的知识和技能,教师需要准备丰富的教学资源。这包括教材、教案、PPT、案例、练习题等。教师需要搭建适合学生实验和练习的环境。这包括编程环境、调试工具、测试数据等。在教学开始之前,教师需要了解学生的学习情况、兴趣爱好、学习习惯等方面的信息。这有助于教师更好地制定教学计划和教学资源,以及更好地指导学生掌握编程知识和技能。在理论教学时,以课堂教学为主,采用线上+线下混合式教学,结合多媒体和网络等多种教学手段,增加教学内容的信息量,增强教学的互动性;注重联系实际,介绍数据结构相关算法的典型应用实例,帮助学生掌握基本求解方法;利用OJ平台训练学生的编程能力。2、课程思政教学方法及要求:在数据结构相关算法介绍中引入科学人物、新闻、事件等,加深对中国计算机算法研究和应用的发展现状的认识;运用案例式、讨论式教学方法加深学生对程序设计和软件开发的国家标准、法律法规的认识;通过课程分组实验,培养学生的沟通、组织、团队合作的能力。引导学生明确:建设网络强国,不仅仅是靠网络技术,还要有软件技术等其他各类技术的支撑。引导学生作为软件技术专业的一员,应更加明晰专业人才的培养目标,更加明确专业领域内工作岗位和工作内容的社会价值,自觉树立远大职业理想,将职业生涯、职业发展脉络与国家发展的历史进程融合起来。06重点与难点1、重点:构造函数及成员初始化列表、继承语法、纯虚函数与抽象类、函数模板与类模板、稀疏矩阵、KMP算法、二叉树的逻辑结构、二叉树的递归算法、图的遍历、有向无环图、二叉排序树、散列表的查找技术、归并排序。2、难点:构造函数重载、访问控制规则、运算符重载、迭代器与关联式容器、字符串转移函数next、二叉树的非递归算法、哈夫曼树及编码、最小生成树、最短路径、平衡二叉树、快速排序、堆排序。07学习要求课堂回答问题及讨论要求:运用相关知识对问题进行多人讨论,提出正确解决方案。作业要求:每章提交一次研讨作业,能够熟练掌握链表、队列、栈、树、图等知识,且针对问题进行建模并求解。课外自主学习要求:每章提交一次预习作业,对课程内容进行预习并完成相关练习。考试要求:机试考试。题型为:编程题。针对所有知识点进行综合类程序设计考核。08考核内容及考核方式1、考核内容及评价依据本课程考核内容、建议评价依据以及与课程目标对应关系如表3所示。■

表3课程目标-考核方式关系表2、成绩评定最终成绩由平时成绩、期末成绩组合而成。期末考试以OJ系统评判结果来考核。各部分所占比例如下:平时作业成绩:50%。预习作业占总成绩20%,每周进行一次主题研讨,占总成绩的30%。考试成绩:50%。主要考核程序设计、算法与数据结构知识掌握程度。机试考试。题型为:编程题。预习作业、小组研讨作业的成绩评定标准分别如表4、5所示。表4,5中优秀分数段为100-90,良好分数段为89-80,合格分数段为79-60,不合格分数段为≤59。考试成绩:50%。主要考核程序设计、算法与数据结构知识掌握程度。机试考试。题型为:编程题。(1)成绩评定标准预习作业考核与评价标准如表4所示。■

表4

预习作业考核与评价标准研讨作业考核与评价标准如表5所示。■

表5

研讨作业考核与评价标准通过预习作业、研讨作业、期末机试来对学生专业核心知识掌握进行考核,即对3个毕业指标点的达成度进行评估。(2)课程目标与评分标准之间的对应关系■

表6

课程目标达-成绩评定标准关系表09教材及参考书目教材:邓泽林、李峰编著.数据结构与问题求解(C++版、微课版),清华大学出版社,2024.参考书目:[1]谭浩强.C++面向对象程序设计(第3版)[M],北京:清华大学出版社,2020.11[2],在线判定系统[3]长沙理工大学ACM集训队编著.OJ习题汇总(电子版)✦参考书籍本书是为以数据结构、问题求解为阅读目的的读者编写的教材,以培养读者的数据结构分析、算法设计、问题求解能力为基本目标。本书读者需要掌握程序设计基础知识,并具备一定的编程能力。本书以数据结构为主线,通过问题和案例引入内容,重点讲解利用数据结构知识求解问题的思路、算法实现与执行过程、能力拓展。全书主要内容为概论、C++编程入门、线性表、堆栈和队列、串、数组和广义表、树与二叉树、图、查找、排序、索引结构等,讲解了栈和队列、KMP、哈夫曼树与编码、最短路径、最小生成树、拓扑排序、关键路径、哈希查找、二叉查找树、B树、B+树、Trie树等经典问题,并提供了能力拓展环节,引导读者开展数据结构应用实践。代码使用C++语言加以描述和实现,并用图解的形式详细描述了算法的执行过程,使读者能够深入了解数据结构相关算法的运行过程和结果。本书可作为本科院校数据结构的教学用书,也可作为从事数据结构与算法设计的科技人员、算法竞赛选手的参考书及培训教材。第1章概论11.1数据结构简介11.2数据结构的研究对象11.2.1数据逻辑结构11.2.2数据物理结构21.2.3数据存储结构21.3常用数据结构31.3.1数组31.3.2栈31.3.3队列31.3.4链表31.3.5树31.3.6图41.3.7堆41.3.8散列(哈希)表41.4数据结构常用运算41.4.1数据结构常用的运算41.4.2算法性能分析5习题5第2章C++编程入门62.1语法基础62.1.1数据类型62.1.2输入输出72.1.3命名空间72.1.4内存分配与回收82.1.5引用92.1.6内联函数102.1.7运算符重载102.1.8函数重载112.1.9异常112.2类与对象132.2.1概述132.2.2构造函数142.2.3对象的定义与使用152.2.4默认构造函数152.2.5成员初始化列表162.2.6this指针172.2.7析构函数182.3继承18目录〖3〗2.3.1继承与派生的概念182.3.2继承语法形式182.3.3访问控制规则192.3.4派生类构造函数定义202.3.5派生类构造函数与析构函数调用次序202.3.6构造函数与析构函数构造规则232.4多态252.4.1多态的概念252.4.2虚函数252.4.3虚析构函数272.4.4纯虚函数与抽象类282.5模板与容器292.5.1模板概念292.5.2函数模板302.5.3类模板302.5.4容器312.5.5迭代器322.5.6关联式容器322.5.7算法332.6能力拓展342.6.1C#语言索引器模拟342.6.2数据访问服务器模拟35习题39第3章线性表403.1线性表概述403.2线性表的定义及基本操作403.3线性表存储结构413.3.1线性表的顺序存储结构413.3.2线性表的链表存储结构413.4线性表的实现413.4.1单链表413.4.2双向链表453.4.3循环链表463.5能力拓展473.5.1判断链表中是否存在环473.5.2约瑟夫环49习题50第4章堆栈和队列534.1堆栈534.1.1堆栈的定义534.1.2堆栈的基本操作及抽象数据类型描述534.2堆栈的存储结构及实现544.2.1堆栈的顺序存储结构及类的实现544.2.2堆栈的链表存储结构及类的实现564.3队列594.3.1队列的定义594.3.2队列的基本操作及抽象数据类型描述594.4队列的存储结构及实现604.4.1队列的顺序存储结构及类的实现604.4.2队列的链表存储结构及类的实现634.5堆栈和队列的应用场景654.5.1堆栈的应用场景654.5.2队列的应用场景664.6能力拓展664.6.1波兰表达式求值664.6.2银行排队模拟68习题72第5章串755.1串的定义755.1.1串的基本概念755.1.2抽象数据类型定义755.2串的实现765.2.1串的构造765.2.2串的赋值775.2.3子串截取785.2.4子串插入785.2.5串的复制805.2.6串的比较815.2.7串的拼接815.3串的模式匹配算法825.3.1暴力匹配825.3.2KMP匹配算法835.3.3改进的

KMP

算法875.4能力拓展88习题90第6章数组和广义表936.1数组的基本概念936.1.1数组的定义936.1.2数组的基本操作936.2数组的存储结构与抽象数据类型描述946.3特殊矩阵的压缩存储966.3.1对称矩阵966.3.2三角矩阵986.3.3对角矩阵996.4稀疏矩阵的压缩存储1006.4.1稀疏矩阵的顺序存储结构——三元组顺序表1016.4.2稀疏矩阵的链式存储结构——十字链表1036.5广义表1046.5.1广义表的定义和基本运算1046.5.2广义表的存储1056.6能力拓展106习题107第7章树与二叉树1117.1树的概念1117.2二叉树1127.2.1二叉树的定义1127.2.2二叉树的性质1137.2.3二叉树的存储结构1147.3二叉树的抽象数据类型描述1167.4二叉树的操作1177.4.1前序遍历1177.4.2二叉树的构建1187.4.3中序遍历1197.4.4后序遍历1197.4.5层序遍历1207.4.6线索二叉树1207.5二叉树与树、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论