《数据结构》教学纲要(doc 9页)
《数据结构》课程教学大纲(电子信息、自动化、通信专业)
![《数据结构》课程教学大纲(电子信息、自动化、通信专业)](https://img.taocdn.com/s3/m/5d12056548d7c1c708a1457c.png)
《数据结构》课程教学大纲(Data Structure)一、基本信息课程编号:B3132312课程类别:学科基础选修课适用层次:本科适用专业:自动化,电子信息工程,通信工程开课学期:第五学期总学分:2总学时:32学时(理论课24学时,实验课8学时)考核方式:考查二、课程教育目标本课程是机电类各专业的学科基础选修课。
通过本课程的学习,学生可以掌握数据结构的基本知识,学会使用合理的数据组织和清晰的算法编写效率更高的程序,积累编写复杂程序的经验,为从事软件设计工作打下坚实基础。
三、教学内容与要求1.理论课教学内容(1)绪论教学内容:数据结构的原则和地位,抽象数据类型和数据结构,算法和算法的效率。
基本要求:使学生了解学习数据结构的必要性,掌握数据结构的定义。
要求学生深刻认识该课程的重要地位。
教学重点:数据结构的定义,算法。
教学难点:算法。
(2)算法分析教学内容:算法基本概念,最佳、最差和平均情况,渐近分析和程序运行时间的计算,空间代价,时间和空间权衡。
基本要求:本章的目的在于使学生了算法分析的方法 ,要求学生掌握时间和空间权衡的意义。
教学重点:算法分析的方法。
教学难点:算法分析的方法。
(3)线性表、栈和队列教学内容:线性表,栈和队列等概念。
基本要求:本章的目的是使学生了解线性表、栈和队列及其实现方式与应用。
教学重点:线性表,栈和队列教学难点:线性表,栈和队列的程序设计。
(4)二叉树教学内容:二叉树定义及主要特征,周游二叉树,二叉树的实现,二叉检索树和堆的概念与应用。
基本要求:本章的目的是使学生了解二叉树、二叉检索树和堆及其实现方式,并能应用。
教学重点:二叉树。
教学难点:二叉树和堆的应用。
(5)树教学内容:树的定义与术语,父指针表示法,树的实现,树的顺序表示法。
基本要求:本章的目的是使学生了解树及其实现方式并应用。
教学重点:树的实现。
教学难点:树的程序实现。
(6)图教学内容:术语与表示法,图的实现,图的周游,最短路径问题。
《数据结构》教学大纲
![《数据结构》教学大纲](https://img.taocdn.com/s3/m/d1fccdeb3086bceb19e8b8f67c1cfad6195fe926.png)
《数据结构》教学大纲一、课程简介《数据结构》是计算机科学与技术相关专业的基础课程之一。
本课程旨在通过理论与实践相结合的方式,培养学生具备良好的数据结构基础、灵活运用和设计数据结构的能力,并通过算法分析、问题求解等方式培养学生的编程思维和创新能力。
二、教学目标1. 理解数据结构的基本概念和原理,包括栈、队列、链表、树、图等基本数据结构的应用场景与实现。
2. 掌握数据结构的基本算法与操作,包括插入、删除、查找、排序等常用操作的实现与分析。
3. 培养学生良好的编程实践能力,能够灵活运用不同的数据结构解决实际问题。
4. 培养学生团队合作精神和沟通能力,能够与他人合作设计和实现复杂的数据结构与算法。
三、教学内容1. 数据结构基础1.1 数据结构与算法的关系1.2 抽象数据类型与数据结构1.3 算法复杂度与评估方法2. 线性结构2.1 线性表的基本概念与实现2.2 栈与队列的定义与应用2.3 数组与链表的对比与选择3. 树形结构3.1 树的基本概念与性质3.2 二叉树的存储与遍历3.3 二叉搜索树与平衡树的应用4. 图结构4.1 图的基本概念与表示方法4.2 图的遍历与连通性算法4.3 最短路径与最小生成树算法5. 排序与查找5.1 常用排序算法的实现与性能分析 5.2 二分查找算法与应用5.3 哈希表的概念与应用四、教学方法1. 理论讲解:通过授课方式向学生讲解数据结构的基本概念、原理和算法分析方法。
2. 实验实践:通过编写程序实践,巩固和加深学生对数据结构的理解与应用能力。
3. 课堂讨论:鼓励学生在课堂上提问和讨论问题,促进学生思维的活跃和沟通能力的培养。
4. 课程设计:结合实际案例,进行小组项目设计,培养学生团队合作和创新能力。
五、教学评价与考核1. 平时成绩:包括课堂讨论与实验成绩,在课堂上主动提问、积极参与实验的学生将获得较高成绩。
2. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。
数据结构教学大纲doc
![数据结构教学大纲doc](https://img.taocdn.com/s3/m/d2d0177042323968011ca300a6c30c225901f039.png)
数据结构教学大纲doc数据结构教学大纲引言:数据结构是计算机科学中的基础概念之一,它涉及到如何组织和存储数据以及如何有效地访问和操作这些数据。
在计算机科学的教学中,数据结构的学习是非常重要的,它为学生提供了解决实际问题的基本工具。
本文将探讨数据结构教学的内容和方法,以及如何设计一份合适的数据结构教学大纲。
一、数据结构的基础知识1.1 数据结构的定义和分类数据结构是指一组数据元素及其之间的关系,它可以分为线性结构、树形结构和图形结构等。
学生需要了解不同类型的数据结构以及它们的特点和应用场景。
1.2 数据结构的存储方式数据结构可以通过不同的存储方式来实现,比如数组、链表、栈和队列等。
学生需要了解每种存储方式的优缺点,以及如何选择适合的存储方式。
1.3 常用的数据结构操作学生需要学习如何对数据结构进行插入、删除、查找和排序等操作。
这些操作是解决实际问题的基本操作,学生需要熟练掌握它们。
二、数据结构的高级知识2.1 树和图的基本概念树和图是数据结构中的重要概念,学生需要了解它们的定义和基本性质。
同时,学生还需要学习树和图的遍历算法和应用。
2.2 哈希表和散列函数哈希表是一种高效的数据结构,它可以快速地查找和插入数据。
学生需要了解哈希表的原理和实现方式,以及如何设计合适的散列函数。
2.3 图的算法图的算法是数据结构中的重点内容,学生需要学习最短路径算法、最小生成树算法和拓扑排序等。
这些算法在实际问题中有着广泛的应用。
三、数据结构的应用3.1 数据库系统数据库系统是数据结构的重要应用之一,学生需要了解数据库的基本概念和操作方式。
同时,学生还需要学习如何设计合适的数据结构来支持数据库的高效操作。
3.2 图形图像处理图形图像处理是另一个重要的数据结构应用领域,学生需要了解如何使用数据结构来表示和处理图形图像数据。
同时,学生还需要学习图形图像处理的基本算法和技术。
3.3 算法设计与分析数据结构和算法是密切相关的,学生需要学习如何设计和分析高效的算法。
《数据结构》教学大纲
![《数据结构》教学大纲](https://img.taocdn.com/s3/m/52d86f24011ca300a7c39033.png)
《数据结构》教学大纲一、课程基本信息二、课程描述(一)课程简介《数据结构》是信息类各专业的核心基础课程,是一门理论与实践相结合的课程,在整个信息相关专业的教学体系中处于举足轻重的地位。
数据结构是设计和实现编译程序、操作系统、数据库系统及其它系统程序和大型应用程序的重要基础。
通过本课程理论和实践的教学,使学生较牢固地掌握数据结构的基本概念、原理、算法,了解算法复杂性的度量方法,初步掌握根据所求解问题的性质选择合理的数据结构,并对时间空间复杂性进行必要的控制,培养和提高学生理论、抽象、设计的能力,掌握数据结构和算法的设计分析技术,提高程序设计的质量,为将来的研究和开发工作打下坚实的基础。
“Data Structures and Algorithms”, one of the most important core courses in Computer Science. The course also covers fundamental data structures and classical algorithms which are widely used in the succeeding specialized courses,such as Operating Systems, Software Engineering, Database Systems, Compiler Principles, Computer Graphics and Human Computer Interaction.What is the combination of data structures and algorithms? Niklaus Wirth wrote a book titled "Algorithms + Data Structures = Programs", which points out their important roles in computing discipline:algorithm and data structure are two closely linked and indivisible parts of programming.The course will follow the idea of“Algorithms + Data Structures = Programs”, aimed at improving students’ knowledge and skills of theory, abstraction and design in problem solving.This course will focus on data structures and algorithms for manipulating them. Data structures for storing information in tables, lists, trees, queues and stacks will be covered. Some basic graph and discrete transform algorithms will also be discussed. On a solid basis of the fundamental theory, the students will analyze the problems using problem, data and algorithm abstraction. Making a tradeoff between space and time complexity, the students will learn how to organize data reasonably, design efficient and effective algorithms, and implement high quality programs, so that they can solve real-world complex problems.After studying the course, the students’ ability of abstract thinking and problem solving should have improvedconsiderably.Their programming skills and the quality of their codes would have increased as well. After studying this course, students should be well prepared for further study, engineering and research in computer related areas.(二)课程教学基本设计本课程由大班授课、小班讨论和实验组成,学时分配分别为48学时、16学时、16学时。
《数据结构》课程教学大纲
![《数据结构》课程教学大纲](https://img.taocdn.com/s3/m/1f6c19337dd184254b35eefdc8d376eeaeaa17e9.png)
《数据结构》课程教学大纲一、课程概述数据结构是计算机科学与技术专业的重要基础课程之一。
本课程旨在介绍数据结构的基本概念、常用数据结构及其应用。
通过本课程的学习,学生应具备设计和实现基本数据结构的能力,能够分析并解决实际问题中的数据组织与处理需求。
二、教学目标1. 掌握数据结构的基本概念和分类。
2. 理解不同数据结构的特点、存储结构和操作方式。
3. 能够应用各类数据结构解决实际问题,并分析其性能。
4. 具备编写高质量代码的能力,考虑代码的可读性和可维护性。
5. 培养团队合作意识和解决问题的能力。
三、教学内容1. 数据结构基础1.1 数据结构的定义和作用1.2 数据结构的分类及常用术语1.3 数据结构的表示与实现方式2. 线性结构2.1 线性结构的概念和特点2.2 线性表的顺序存储结构和链式存储结构2.3 线性表的基本操作(插入、删除、查找)2.4 栈和队列的定义、基本操作以及应用3. 非线性结构3.1 树形结构的概念和特点3.2 二叉树及其存储结构(顺序存储和链式存储)3.3 二叉树的遍历(先序、中序、后序)3.4 树与森林的转换和应用4. 图结构4.1 图的定义和基本术语4.2 图的存储结构(邻接矩阵和邻接表)4.3 图的遍历(深度优先搜索和广度优先搜索)4.4 最小生成树和最短路径算法5. 查找算法5.1 查找的基本概念和分类5.2 顺序查找算法5.3 二分查找算法5.4 哈希查找算法6. 排序算法6.1 排序的基本概念和分类6.2 内部排序算法(插入排序、冒泡排序、选择排序、快速排序、归并排序)6.3 外部排序算法四、教学方法1. 集中讲述与课堂演示相结合的教学方法。
2. 利用多媒体技术展示数据结构的基本概念、实例和操作过程。
3. 提供编程实践的机会,让学生独立设计和实现各类数据结构。
4. 组织小组讨论和团队合作,解决数据结构相关问题。
五、考核方式1. 平时成绩包括课堂表现、作业、实验和参与度。
《数据结构》教学大纲
![《数据结构》教学大纲](https://img.taocdn.com/s3/m/4fc7cf0d3868011ca300a6c30c2259010302f367.png)
《数据结构》教学大纲数据结构教学大纲一、课程介绍1.1课程名称:数据结构1.2学分:3学分1.3先修课程:计算机基础1.4课程性质:必修课程1.5学习方式:课堂讲授、实践操作、实验、课程作业二、教学目标2.1知识目标通过本课程的学习,学生应该掌握以下知识:-基本数据结构的概念和特性,包括数组、链表、栈、队列、树和图等;-常用的数据结构算法,如查找、排序、插入和删除等;-理解数据结构的时间复杂度和空间复杂度,并能进行分析和评估;-能够选择合适的数据结构和算法来解决实际问题。
2.2能力目标-能够运用所学的数据结构和算法解决实际问题;-能够分析和评估不同数据结构和算法的优劣;-具备良好的编程能力,能够实现数据结构的基本操作;-能够进行抽象思维和问题建模,将实际问题转化为数据结构的操作。
2.3态度目标-具备良好的团队合作和沟通能力,能够与他人合作解决问题;-具备批判性思维和创新精神,能够提出新的数据结构和算法。
三、教学内容3.1数据结构概述-数据结构的定义和分类;-数据结构与算法的关系;-数据结构的应用领域。
3.2线性表-线性表的定义和基本操作;-顺序表和链表的实现;-线性表的应用。
3.3栈和队列-栈和队列的定义和基本操作;-栈和队列的实现;-栈和队列的应用。
3.4树和二叉树-树和二叉树的定义和基本操作;-二叉树的遍历和线索化;-树和二叉树的应用。
3.5图-图的定义和基本操作;-图的存储结构和遍历算法;-图的应用。
3.6查找和排序-查找算法的分类和基本思想;-顺序查找和二分查找;-排序算法的分类和基本思想;-冒泡排序、插入排序和快速排序。
四、教学方法4.1讲授法:通过课堂讲授,向学生介绍数据结构的概念、特性和应用,讲解基本操作和算法的原理和实现方法。
4.2实践操作:通过编程实践和课程作业,让学生运用所学的数据结构和算法解决实际问题,加深对知识的理解和运用能力。
4.3实验:通过实验,让学生亲自操作和实验不同的数据结构,加深对数据结构和算法的理解。
计算机专业《数据结构》教学大纲
![计算机专业《数据结构》教学大纲](https://img.taocdn.com/s3/m/cacf27d285868762caaedd3383c4bb4cf6ecb740.png)
计算机专业《数据结构》教学大纲一、课程基本信息课程名称:数据结构课程类别:专业基础课课程学分:X学分课程总学时:X学时适用专业:计算机专业二、课程的性质、目的和任务(一)课程性质《数据结构》是计算机专业的一门重要的专业基础课,它是介于数学、计算机硬件和计算机软件之间的一门核心课程,不仅是程序设计的基础,也是设计和实现操作系统、数据库系统、编译系统及其他系统程序和大型应用程序的重要基础。
(二)课程目的通过本课程的学习,使学生能够掌握数据结构的基本概念、基本原理和基本算法,培养学生分析问题和解决问题的能力,为后续课程的学习和今后从事软件开发工作打下坚实的基础。
(三)课程任务1、使学生掌握数据结构的基本概念和术语,包括数据、数据元素、数据对象、数据结构等。
2、使学生掌握线性表、栈、队列、串、数组、广义表、树、图等常用数据结构的逻辑结构、存储结构和基本操作的实现算法。
3、使学生掌握查找和排序的基本算法,包括顺序查找、二分查找、哈希查找、插入排序、选择排序、交换排序、归并排序等。
4、培养学生运用所学数据结构和算法知识解决实际问题的能力,能够根据具体问题选择合适的数据结构和算法,并进行算法设计和程序实现。
5、培养学生的程序设计能力和良好的编程风格,提高学生的代码可读性和可维护性。
三、课程教学内容和要求(一)绪论1、教学内容数据结构的基本概念和术语,包括数据、数据元素、数据对象、数据结构、数据类型等。
数据结构的研究内容和研究方法。
算法的基本概念和特性,包括有穷性、确定性、可行性、输入和输出。
算法的描述方法,包括自然语言描述、流程图描述、伪代码描述等。
算法的分析方法,包括时间复杂度和空间复杂度的分析。
2、教学要求理解数据结构的基本概念和术语。
了解数据结构的研究内容和研究方法。
掌握算法的基本概念和特性。
掌握算法的描述方法。
掌握算法的时间复杂度和空间复杂度的分析方法。
(二)线性表1、教学内容线性表的定义和逻辑结构。
《数据结构》教学大纲资料
![《数据结构》教学大纲资料](https://img.taocdn.com/s3/m/ea52cf48a98271fe910ef97c.png)
《数据结构》教学大纲适用专业:计算机科学与技术(本科)理论学时:72 实践学时:36一、课程的性质、目的和任务1、课程性质数据结构是计算机学科的一门专业基础理论课,是计算机科学的核心课程之一。
它介于数学、计算机硬件和软件三者之间,是操作系统、数据库、编译系统等课程以及也计算机科学各领域及相关的应用软件开发的重要基础。
2、课程的教学目的本课程教学目的是使学生学会在非数值计算数学模型下分析计算机加工数据的理论和方法,掌握各种数据结构(线性表、堆栈与队列、树、图)的特性,为应用所涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并且灵活地进行各种数据结构的基本操作,同时初步掌握对算法的时间分析和空间效率分析。
另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力、良好的程序设计能力,为后续课程的学习及以后从事软件开发工作打下良好的基础。
3、课程的任务本课程,在学习基本数据结构(即:线性表、栈、队列、串、广义表、树、图)及其基本操作算法的全过程中,坚持“既授人鱼,更授人以渔”,指导学生按照“非结构化→结构化→对象化→同构化”的特点学习和利用可指导各种计算机语言进行数据结构算法实现的共性本质和方法,学会“举一反三、触类旁通,自主学习、力求创新”。
本课程,要求学生熟悉数据信息在计算机系统中的逻辑结构、物理结构,掌握各种数据结构(例如:线性表,堆栈与队列,树,图)特性,可把现实信息抽象成它所对应的、科学数据及其数据结构,能灵活运用各种数据结构及其基本操作解决实际问题的程序设计能力。
本课程,注重“算法+数据结构=程序设计”的实践动手能力培养,通过“习题练习、上机实习,课程设计”三位一体的训练,促使学生把理论学习和上机编程密切结合起来,可设计出正确、规范、严密、高效的算法并能编程实现,提高学生的逻辑思维能力、抽象能力和应用能力。
二、课程与其他课程的关系1、先修课程:高等数学、高级语言程序设计(C语言)2、关联课程:离散数学等三、课程内容与重点难点第一章绪论教学目的与要求:1.掌握数据结构、存储结构和数据类型的基本概念及相关术语2.理解算法要素的确切含义3.掌握算法设计的基本要求以及分析算法的时间与空间复杂度的方法教学内容:1.数据结构的课程体系2.基本概念和术语3.算法和算法分析重点:数据与数据元素,抽象数据类型表示法,类 C 语言语法,渐近时间复杂度的意义、作用以及计算方法难点:数据元素间的四种结构关系,抽象数据类型表示法,渐近时间复杂度的意义第二章线性表教学目的与要求:1.掌握线性表的逻辑结构特性2.掌握线性表的顺序存储结构和链式存储结构的描述方法及其结构特点3.熟练掌握线性表在顺序存储结构和链式存储结构的结构上进行相关的查找、插入、删除等操作的算法,并且能够从时间和空间复杂度的角度综合比较两种存储结构的不同特点教学内容1.线性表的定义2.线性表的顺序表示和实现3.线性表的链式表示和实现4.线性表的应用重点:线性表的定义,线性表的顺序表示和实现方法,线性链表的单链表表示及实现方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》教学纲要(doc 9页)《数据结构》教学大纲2001年9月一、开课系(部):经济信息管理系二、教学对象:信息管理与信息系统专业本科三、教学目的:数据结构是高等教育计算机信息管理专业中的一门专业基础课,在计算机软件的各个领域中均会使用到数据结构的有关知识。
本课程的目的和任务是使学生较全面地掌握各种常用的数据结构,为学习后续软件课程提供必要的基础,提高运用数据结构解决实际问题的能力。
四、教学要求:1. 从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、广义表、树、图和文件等常用的数据结构。
2. 掌握在各种常用的数据结构上实现的排序和查找运算。
3. 对算法的时间和空间复杂性有一定的分析能力。
4. 针对简单的应用问题.应能选择合适的数据结构及设计有效的算法解决之。
五、教学课时:教学内容课内学时第1章绪论 2第2章线性表 4第3章栈和队列 6第4章串 4笫5章数组和广义表 4第6章树和二叉树 6第7、8章略第9章查找 4第10章内部排序 4课程总复习 2六、考核形式:期末考试与平时讨论相结合(80%和20%)。
期末试卷结构:单项选择填空简答应用算法设计20 15分20分15分30分态。
3.3 算法描述和算法分析的方法,对于一般算法能分析出时间复杂度。
第2章线性表(一)课程内容2.1 线性表的逻辑结构2.2 线性表的顺序存储结构2.3 线性表的链式存储结构2.4 顺序表和链表的比较(二)学习目的与要求本章目的是介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本运算。
要求在熟悉这些内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。
本章重点是熟练掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是能够使用本章所学到的基本知识设计有效算法解决与线性表相关的应用问题。
(三)考核知识点与考核要求1. 线性表的逻辑结构,要求达到“识记”层次。
1.1 线性表的逻辑结构特征。
1.2 线性表上定义的基本运算,并能利用基本运算构造出较复杂的运算。
2. 线性表的顺序存储结构.要求达到“综合应用”层次。
2.1 顺序表的含义及特点,即顺序表如何反映线性表中元素之间的逻辑关系。
2.2 顺序表上的插入、删除操作及其平均时间性能分析。
2.3 利用顺序表设计算法解决筒单的应用问题。
3. 线性表的链式存储结构,要求达到“综合应用”层次。
3.1 链表如何表示线性表中元素之间的逻辑关系。
3.2 链表中头指针和头结点的使用。
3.3 单链表、双链表、循环链表链接方式上的区别。
3.4 单链表上实现的建表、查找、插入和删除等基本算法,并分析其时间复杂度。
3.5 循环链表上尾指针取代头指针的作用,以及单循环链表上的算法与单链表上相应算法的异同点。
3.6 双链表的定义及其相关的算法。
3.7 利用链表设计算法解决简单的应用问题。
4.顺序表和链表的比较.要求达到“领会”层次。
4.1 顺序表和链表的主要优缺点。
4.2 针对线性表上所需要执行的主要操作,知道选择顺序表还是链表作为其存储结构才能取得较优的时空性能。
第3章栈和队列(一) 课程内容3.1 栈3.2 队列3.3 栈和队列的应用(二) 学习目的与要求本章目的是介绍栈和队列的逻辑结构定义及在两种存储结构上如柯实现栈和队列的基本运算。
要求在掌握栈和队列的特点的基础上,懂得在什么样的情况下能够使用栈或队列。
本章重点是掌握栈和队列在两种存储结构上实现的基本运算,难点是循环队列中对边界条件的处理。
(三) 考核知识点与考核要求1. 栈的逻辑结构、存储结构及其相关算法,要求达到“综合应用”层次。
1.1 栈的逻辑结构特点,栈与线性表的异同。
1.2 顺序栈和链栈上实现的进栈、退栈等基本算法。
1.3 栈的“上溢”和“下溢”的概念及其判别条件。
1.4 利用栈设计算法解决简单的应用问题。
2. 队列的逻辑结构、存储结构及其相关算法,要求达到“综合应用’层次。
2.1 队列的逻辑结构特点,队列与线性表的异同。
2.2 顺序队列(主要是循环队列)和链队列上实现的入队、出队等基本算法。
2.3 队列的“上溢”和“下溢”的概念及其判别条件。
2.4 使用数组实现的循环队列取代普通的顺序队列的原因。
2.5 循环队列中对边界条件的处理方法。
2.6 利用队列设计算法解决筒单的应用问题。
3. 栈和队列的应用,要求达到“领会”层次。
栈和队列的特点,什么样的情况下能够使用栈或队列。
第4章串(一) 课程内容4.1 串及其运算4.2 串的存储结构(二) 学习目的与要求本章目的是介绍串的逻辑结构、存储结构及其中上的基本运算,由于C语言及其它高级语言均已具备了较强的串处理功能,故本章重点是掌握串上实现的模式匹配算法,这也是本章的难点。
(三) 考核知识点与考核要求1. 串及其运算,要求达到“领会”层次。
1.1 串的有关概念及基本运算。
1.2 串与线性表的关系。
2. 串的存储结构,要求达到“简单应用”层次。
2.1 串的两种存储表示。
2.2 串上实现的模式匹配算法及其时间性能分析。
2.3 使用C语言提供的串操作函数构造与中相关的算法解决简单的应用问题。
笫5章数组和广义表(一) 课程内容5.1 多维数组5.2 矩阵的压缩存储5.3 广义表的概念(二) 学习目的与要求本章目的是介绍多维数组的逻辑结构特征及其存储方式,特殊矩阵和稀疏矩阵的压缩存储方法及广义表的概念,要求考生熟悉这些内容。
本章重点是熟悉多维数组的存储方式、矩阵的压缩存储方式、广义表的定义及其求表头和表尾的运算.难点是稀疏矩阵的压缩存储表示下实现的算法。
(三) 考核知识点与考核要求1. 多维数组,要求达到“领会”层次。
1.1 多维数组的逻辑结构特征。
1.2 多维数组的顺序存储结构及地址计算方式。
1.3 数组是一种随机存取结构的原因。
2. 矩阵的压缩存储,要求达到“领会”层次。
2.1 特殊矩阵和疏稀矩阵的概念。
2.2 特殊矩阵和压缩存储时的下标变换方法。
2.3 稀疏矩阵的三元组表表示方法及有关算法。
3. 广义表的概念,要求达到“领会”层次。
3.1 广义表的有关概念及其与线性表的关系。
3.2 广义表的括号表示和图形表示之间的转换。
3.3 求给定的非空广义表的表头和表尾运算。
第6章树和二叉树(一) 课程内容6.1 树的概念6.2 二叉树6.3 二叉树的遍历6.4 线索二又树6.5 树和森林6.6 哈夫曼树及其应用(二) 学习目的与需求本章目的是介绍二叉树的定义、性质、存储结构、遍历、线索化,树的定义、存储结构、遍历、树和森林与二叉树的转换,哈夫曼树及哈夫曼编码等内容。
要求在熟悉这些内容的基础上,重点掌握二叉树的遍历算法及其有关应用,难点是使用本章所学到的有关知识设计出有效算法,解决与树或二叉树相关的应用问题。
(三) 考核知识点与考核要求1. 树的概念,要求达到“领会”层次。
1.1 树的逻辑结构特征。
1.2 树的不同表示方法。
1.3 树的常用术语及含义。
2. 二叉树,要求达到“简单应用”层次。
2.1 二叉树的递归定义及树与二叉树的差别。
2.2 二叉树的性质,了解相应的证明方法。
2.3 二叉树的两种存储方法、特点及适用范围。
3. 二叉树的遍历,要求达到“综合应用”层次。
3.1 二叉树的三种遍历算法,理解其执行过程。
3.2 确定三种遍历所得到的相应的结点访问序列。
3.3 以遍历算法为基础,设计有关算法解决简单的应用问题。
4. 线索二叉树,要求达到“领会”层次。
4.1 二叉树线索化的目的及实质。
4.2 在中序线索树中查找给定结点的中序前趋和中序后继的方法。
4.3 查找给定结点的前序前趋和后序后继井非有效的原因。
5. 树和森林,要求达到“领会”层次。
5.1 树和森林与二又树之间的转换方法。
5.2 树的各种存储结构及其特点。
5.3 树的两种遍历方法。
6. 哈夫曼树及其应用,要求达到“简单应用”层次。
6.1 最优二叉树和最优前缀码的概念及特点。
6.2 哈夫曼算法的思想。
6.3 根据给定的叶结点及其权值构造出相应的最优二叉树。
6.4 根据最优二叉树构造对应的哈夫曼编码。
第9章查找(一) 课程内容9.1 基本概念9.2 线性表的查找9.3 树的查找9.4 散列技术(二) 学习目的与要求本章目的是介招线性表、树和散列表的查找方法、算法实现以及各种查找方法的时间性能(平均查找长度)分析。
要求考生在熟悉这些内容的基础上,重点掌握顺序查找、二分查找,二叉查找树上查找以及散列表上查找的基本思想和算法实现。
本章难点是二叉查找树的删除算法及B—树上的插入和删除算法。
(三) 考核知识点与考核要求1. 基本概念,要求达到“识记”层次。
1.1 查找在数据处理中的重要性。
1.2 查找算法效率的评判标准。
2. 线性表的查找,要求达到“简单应用”层次。
2.1 顺序查找、二分查找、分块查找的基本思想、算法实现和查找效率分析。
2.2 顺序查找中哨兵的作用。
2.3 二分查找对存储结构及关键字的要求。
2.4 通过比较线性表上三种查找方法的优缺点,能根据实际问题的要求和特点,选择出合适的查找方法。
3. 树的查找,要求达到“简单应用”层次。
3.1 二叉查找树和B—树的定义和特点以及用途。
3.2 二叉查找树的插入、删除、建树和查找算法及时间性能。
3.3 建立一棵二叉查找树的过程实质上是对输入实例的排序过程,输入实例对所建立的二叉查找树形态的影响。
3.4 B—树的插入、删除及查找方法的基本思想。
3.5 B—树的查找效率。
4. 散列技术,要求达到“简单应用”层次。
4.1 散列表、散列函数、散列地址和装填因子等有关概念。
4.2 散列函数的选取原则及产生冲突的原因。
4.3 几种常用的散列函数构造方法。
4.4 两类解决冲突的方法及其优缺点。
4.5 产生“堆积”现象的原因。
4.6 采用线性探测法和拉链法解决冲突时,散列表的建表方法、查找过程以及算法实现和时间分析。
4.7 散列表和其它表的本质区别。
第10章排序(一) 课程内容10.1 基本概念10.2 插入排序10.3 交换排序10.4 选择排序10.5 归并排序10.6 分配排序10.7 各种排序方法的比较和选择(二) 学习目的与要求本章目的是介绍五类内部排序方法的基本思想、排序过程、算法实现、时间和空间性能的分析以及各种排序方法的比较和选择。
要求在熟悉这些内容的基础上,重点掌握快速排序、堆排序、归并排序和基数排序的基本思想及排序过程,本章难点是这四个排序算法的实现。
(三) 考核知识点与考核要求1. 基本概念,要求达到“识记”层次。
1.1 排序在数据处理中的重要性。
1.2 排序方法的“稳定”性含义。
1.3 排序方法的分类及算法好坏的评判标准。