数据结构复习1-7...pptx

上传人:b****1 文档编号:1192355 上传时间:2022-10-18 格式:PPTX 页数:266 大小:1.99MB
下载 相关 举报
数据结构复习1-7...pptx_第1页
第1页 / 共266页
数据结构复习1-7...pptx_第2页
第2页 / 共266页
数据结构复习1-7...pptx_第3页
第3页 / 共266页
数据结构复习1-7...pptx_第4页
第4页 / 共266页
数据结构复习1-7...pptx_第5页
第5页 / 共266页
点击查看更多>>
下载资源
资源描述

数据结构复习1-7...pptx

《数据结构复习1-7...pptx》由会员分享,可在线阅读,更多相关《数据结构复习1-7...pptx(266页珍藏版)》请在冰豆网上搜索。

数据结构复习1-7...pptx

数据结构复习

(1)本次复习的主要内容数据结构复习-1教材:

余腊生:

数据结构基于C+模板的实现严蔚敏吴伟民:

数据结构(C语言版)清华大学出版社内容:

第一部分:

17章第二部分:

810章第一部分

(1)数据结构复习-1第一章:

绪论重点:

逻辑结构、存储结构及算法三者的概念及相互关系算法复杂度分析第二章:

线性表重点:

顺序表和链表上各种基本算法的实现及相关的时间性能分析第三章:

栈和队列重点:

栈和队列的基本特征,表示与实现第一部分

(2)数据结构复习-1第四章:

递归与广义表重点:

递归与递归执行过程,广义表的基本概念第五章:

串重点:

串的基本操作和KMP算法第六章:

数组和矩阵重点:

数组、矩阵的存储和压缩存储第七章:

树和二叉树重点:

二叉树的存储和遍历,huffman,树与二叉树考试的要求5研究生考试主要从两个方面进行考查:

知识和技能。

1.知识方面从数据结构的结构定义和使用,以及存储表示和操作的实现两个层次,系统地考查:

1)掌握常用的基本数据结构(包括顺序表、链接表、栈与队列、数组、二叉树、堆、树与森林、图、查找结构、索引结构、散列结构)及其不同的实现。

2)6掌握分析、比较和选择不同数据结构、不同存储结构、不同算法的原则和方法。

2.技能方面1)系统地掌握基本数据结构的设计方法;2)掌握选择结构的方法和算法设计的思考方式及技巧;3)提高分析问题和解决问题的能力。

复习的纲领7数据结构课程是计算机专业的专业基础课程,为业界做系统开发提供了不可或缺的技术和知识,是计算机专业考研的重头科目。

数据结构课程复习有几点重要的体会提供给大家参考。

注重概念抓住特点学会算法拓展应用1.注重概念8从考研情况分析,试题涉及的内容都很基本,没有很深很难的内容,所以要重视概念的复习:

a)牢记定义。

结构定义有规范写出的,有言外隐藏的和引伸的概念。

b)注意传承。

某些结构与其他结构间有传承关系,有变种关系。

c)区分层次。

分清逻辑的和物理的结构,以及它们之间的关系。

d)挖掘细节。

细节可提供更多解题的知识。

2.抓住特点9每种结构有它的特点和用途,这对于在解题中应使用哪种结构(who),在何时(when),何种场合(where)使用,以及如何(how)使用有重要作用。

1)理解结构的行为特征。

明确每种结构的行为特征,例如栈是先进后出,队列是先进先出的,可帮助在解题时作出选择。

2)理解结构的应用背景。

知道每种结构常在什么场合做什么用,可适时作出适当选择。

3)理解结构的声明方式。

在适当时机合理地定义它们,可减少算法逻辑的混乱。

3.学会算法10包括结构必要操作(初始化、建立、销毁、遍历、插入、删除)的实现和常用算法(查找、排序)、算法设计(迭代、递归、分治、回溯)的设计与分析。

a)基本数据结构的实现方式。

主要是数据结构的存储方式定义和相应操作的程序实现。

b)常用算法的设计。

包括设计的三阶段(基本思想、算法框架、程序实现)。

c)算法的简单分析。

掌握时间复杂性的分析技能和附加存储空间的计算。

4.拓展应用11每种结构都有许多应用场合,有不同应用目的和应用方式。

每种算法也可变通以适用于不同的问题求解。

a)明确问题求解的步骤。

掌握问题求解的三阶段:

分析(弄懂题意)、设计(考虑解决方案)、实现(算法设计与分析)。

b)坚持算法设计与分析的步骤。

算法设计三阶段(基本思想、算法框架、程序实现)。

c)结构和算法的不同应用。

这是最繁杂、范围最广的部分。

通过多练习达到熟练应用。

为在有限的时间内复习好这门课程,应当注意以下几点:

1.注意复习用C/C+/Java语言编写小程序时的语法规则和方法,为算法分析和算法设计题的求解打下基础。

1)函数定义和参数使用。

算法一般以函数形式给出,函数编写需要注意的问题包括函数类型,函数参数传递,函数返回值类型等,以及传值参数和引用参数在使用上的区别。

2)函数中局部变量的作用域。

特别注意在函数中对局部变量的任何改变,在函数外不能使用。

123)算法设计所用数据结构的自定义。

算法设计时不能忽视所用数据结构的声明。

2009年考试42题有关链表的题,在答案中不写链表结点定义是扣了分的。

133)CC+中的动态存储分配和回收方式。

涉及链表结构的地方都可能有动态存储分配和回收操作。

要掌握正确使用相关语句的方法。

3)在CC+中输入输出文件的定义和使用。

特别注意正确使用文件的打开、关闭、读入、写出操作的使用。

2.在复习数据结构时,要注意知识体系。

数据结构课程中的知识本身具有良好的结构性,有些结构面向应用,有些结构面向实现。

在复习时要注意这两个层次以及它们之间的联系。

1)注意循序渐进在复习数据结构时,首先需要复习数据结构的定义和特点,数据结构的使用范围,再复习各种操作的实现。

14在阅读算法之前,要先弄清其基本设计思想、基本步骤,并通过事例学习了解每个算法的处理流程以加深理解,最后再阅读程序代码。

2)注意比较15在复习中应当注意从“横向”和“纵向”进行对比以加深理解。

纵向对比将一种结构与它的各种不同的实现加以比较,理解不同实现方式的优点和问题。

如二叉树的顺序和链表实现。

横向对比是对属于同一类逻辑结构的不同数据结构(如线性表、栈、队列)加以比较,对具有相同功能的不同算法进行比较等,了解数据结构与算法实现间的关系。

3)注意练习16只看书不做题,不能真正学会有关知识,不能达到技能培养的目的。

做题是自我检查的重要手段。

在做算法设计类型的习题时,应考虑数据结构的定义。

3.提高算法设计的能力。

编写算法的题可能是学生比较棘手的问题,特别是在考试这样一个氛围,时间又短促,想编出一个好算法不太容易。

a)b)c)d)一个建议是首先仔细阅读试题题目,了解它到底要你干什么。

然后用一个简单的例子走一下,总结每一步向下走可用什么语句实现。

再做归纳,整理出处理流程。

按照结构化程序设计的方法,搭建框架,再根据例子填入细节。

在设计一个算法时,要考虑问题解决方案的多样性、算法的适用性、问题对算法选择的限制。

选择合适的数据结构,设计有效的算法。

17数据结构复习-1第一章:

绪论数据结构的基本概念数据的逻辑结构数据的存储结构算法和算法分析1.数据结构的定义数据数据元素数据项数据结构是指数据以及相互之间的联系(或关系)。

包括:

1数据的逻辑结构。

2数据的存储结构(物理结构)。

3施加在该数据上的运算。

概述数据结构的基本概念

(1)数据结构复习-1数据:

数据是信息的载体,是用计算机能识别、存储和处理的数字或符号对世界的描述,即是计算机化的信息数据元素:

数据的基本单位,在计算机中一般作为一个整体来考虑。

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

数据元素的组成部分,是数据不可分割的最小单位,如关键码数据结构的基本概念

(2)数据结构复习-1数据结构数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科形式定义Data_Structure=(D,S)D-数据对象S该对象中各数据元素之间的关系的有限集数据结构的基本概念(4)数据结构复习-1数据结构包括三个方面:

逻辑结构:

数据之间的关系,不管数据在计算机中的存储方式存储结构:

数据在计算机中的存储方式运算:

定义在数据上的运算的集合数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象),它是依赖于计算机语言的。

数据的运算是定义在数据的逻辑结构上的,每种逻辑结构都有一组相应的运算。

但运算的实现与数据的存储结构有关。

程序数据结构算法概述数据的逻辑结构

(1)数据结构复习-1特征从逻辑关系上描述数据,与数据的存储无关与数据元素的相对位置无关分类线性结构:

线性表、数组、堆栈、队列、字符串等非线性结构:

树、二叉树、图等数据的逻辑结构

(2)四个基本的逻辑结构集合结构:

关系集合是空集顶点元素间无任何关系,R=空集线性结构:

元素间的关系是1:

1一个结点(除尾结点外)有且仅有一个直接前驱一个结点(除头结点外)有且仅有一个直接后继数据结构复习-1数据的逻辑结构(3)树型结构:

一般树、二叉树、森林一个结点可以有多个直接后继(除叶子结点外),但只有一个直接前驱(除根结点外)数据结构复习-1数据的逻辑结构(4)图状结构:

元素间的关系是m:

n一个结点可以有多个直接后继,也可以有多个直接前驱数据结构复习-1数据的存储结构

(1)数据结构复习-1数据结构在计算机中的表示数据元素之间的关系的表示为全面的表示逻辑结构,在存储器中的映像包括两个方面:

数据元素自身值:

自身值的域,info数据元素之间的关系:

链接信息域,link有些存储结构包括info和link域,有些存储结构只有info域数据的存储结构

(2)数据结构复习-1存储结构分类:

顺序存储结构向量(表格存储结构)链式存储结构单链表、双链表、多重链表、循环链表索引结构散列结构数据的存储结构(3)数据结构复习-1顺序存储结构:

逻辑上相邻的数据元素在物理地址上也相邻结点中只有自身信息域,没有链接信息域link优点:

简单,易理解,占用较少的空间,空间利用率高,存储密度大可通过计算,直接确定每个结点的存储地址缺点:

需要一片连续的空间插入和删除等操作会引起大量结点的移动。

数据的存储结构(4)数据结构复习-1链式存储结构:

每个结点中至少包括一个link域,用指针来体现数据元素之间的联系逻辑上相邻的数据在物理上不一定相邻优点:

存储空间不需要事先准备,可节省存储空间插入和删除效率比顺序存储高缺点:

需要为link域提供额外的空间数据的存储结构(5)数据结构复习-1索引结构:

利用数据元素的索引关系确定数据元素的存储位置。

由数据元素本身和索引表两部分组成(两个不同的部分)优点:

一些操作,如插入、删除和查找等,效率比较高缺点:

需要为索引表提供额外的空间插入、删除等操作的同时需要修改索引表,需要花费一定的时间数据的存储结构(6)数据结构复习-1散列结构:

利用散列函数关系与冲突处理的方法确定数据元素的散列表中的存储位置优点:

一些操作,如插入、删除和查找等,时间效率比较高缺点:

确定散列函数不容易冲突也会造成额外的时间和空间开销算法和算法分析

(1)数据结构复习-1算法是运算实现步骤的描述是为了完成某个特定任务的指令的有穷集合,其中每条指令表示一个或多个操作数据的运算:

运算定义在数据的逻辑结构上运算实现在数据的存储结构上特征:

输入有0个或多个输入输出有一个或多个输出(处理结果)确定性每步定义都是确切、无歧义的有穷性算法应在执行有穷步后结束有效性每一条运算应足够基本,可以付诸实施,具有一定的意义。

算法和算法分析

(2)数据结构复习-1算法设计的要求正确性可使用性可读性效率和低存储需求健壮性算法和算法分析(3)数据结构复习-1算法分析主要分析算法所占用的计算机资源包括三个方面:

时间代价:

程序在计算机上运行时间的度量,只是算法时间的大致数量级空间代价:

在计算机上占用存储空间的度量,也是以数量级给出。

其他方面:

可移植性、可读性、简洁性等算法和算法分析(4)数据结构复习-1时间复杂度:

一个语句的频度,是指该语句在算法中被重复执行的次数。

算法中所有语句的频度之和记为T(n),它是该算法所求问题规模n的函数当问题的规模趋于无穷大时,T(n)的数量级称为渐进时间复杂度,简称为时间复杂度,记为T(n)=O(f(n),表示T(n)的数量级空间复杂度:

定义为算法所耗费的存储空间,它是问题规模n的函数。

渐进空间复杂度简称为空间复杂度,记做S(n)=O(f(n)例分析以下程序段的时间复杂度。

i=1;while(inext=p-next;p-next=s;注意:

两个指针的操作顺序不能交换。

线性链表(3)数据结构复习-1

(2)前插结点:

设指向链表中某结点,指向待插入的值为x的新结点,将*s插入到*p的前面,。

与后插不同的是:

首先要找到*p的前驱*q,然后再完成在*q之后插入*s,设单

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1