第一部分数据结构与算法.ppt
《第一部分数据结构与算法.ppt》由会员分享,可在线阅读,更多相关《第一部分数据结构与算法.ppt(62页珍藏版)》请在三一办公上搜索。
1、公共基础知识考试方式1 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。公共基础知识的考试方式为笔试,所有语言程序设计的笔试部分合为一张试卷,公共基础知识部分占全卷的30分。公共基础知识有l0道选择题和5道填空题。2 上机操作:90分钟上,满分100分。上机题目类型要求:(1)基本操作。(2)简单应用。(3)综合应用。,基本要求 新大纲的二级基础知识分为四部分数据结构与算法程序设计基础软件工程基础数据库设计基础,数据结构与算法 本章的知识用于提高程序的效率以及对较复杂的问题进行求解。本章内容在计算机专业基础课中也属于比较难的一门,学习本章的内容必须进行理解,死记硬背是无效的。本章
2、重点的考核点主要在二叉树,同时这也是本章的难点,考核形式主要为二叉树的遍历问题(如给图求遍历序列、给前序、中序遍历求后序遍历等)、二叉树的结点问题(如给出一些条件然后求叶子结点个数);还有排序和查找考试中也经常会涉及到,排序主要以计算时间复杂度的形式考核,查找主要以计算最佳/最坏比较次数的方式考核。其余的知识点主要以概念的形式考察,考生需要仔细看书并理解。,程序设计基础与软件工程基础 这两章以概述的形式简介了规范化开发软件的方法。与数据结构不同,这两章内容主要是记忆性的知识点。程序设计基础的内容与大纲改革前添加了面向对象程序设计的内容,考生可以对本章进行几次细读后了解即可;软件工程基础这章主要
3、考核内容为结构化分析及结构化设计方法(即SA及SD,约占50%),信息量较大,其次是软件测试(约占20%),考生需要将相关的概念及规则背诵,在以后有机会进行程序开发时这些知识可以得到深刻理解。,数据库设计基础 数据库是当前软件处理的信息核心,目前大部分软件都是基于数据库的,因此学习一下数据库知识对程序开发也是很有帮助的。本章主要的考核点是关系模型、关系代数及数据库系统的基本概念,其余的知识点了解即可,其中数据库的设计和管理可以结合着软件工程来看,考生会发现这两者有很多相似之处。除了关系代数会考一些简单的计算问题外,其余的都是以概念题的形式考核,考生需要仔细的阅读。,05年4 月:10/2(选择
4、/填空)05年9月:6/606年4月:8/206年9月:6/407年4月:6/407年9月:8/408年4月:6/408年9月:6/409年3月:6/409年9月:6/410年3月:8/210年9月:8/2,数据结构与算法,近几年出题情况,考点1:算法考点2:数据结构考点3:线性表及其顺序存储结构考点4:栈和队列考点5:线性链表考点6:树与二叉树考点7:查找技术考点8:排序技术,数据结构与算法,1算法的基本概念 算法是指对解题方案的准确而完整的描述。2、算法的基本特征 可行性 确定性 有穷性(即算法必须能在执行有限个步骤之后终止)拥有足够的情报 算法是一组严谨地定义运算顺序的规则,并且每一个规
5、则都是有效的,而且是明确的,此顺序将在有限的次数下终止。,数据结构与算法考点1:算法,3、算法设计基本方法 一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成 列举法:解决“是否存在”或“有多少种可能”等类型问题 归纳法 递推 递归:分为直接递归和间接递归 减半递推技术 回溯法,数据结构与算法考点1:算法,4算法复杂度算法的复杂度主要包括时间复杂度和空间复杂度两种。算法时间复杂度:指算法在执行过程中所需基本运算的执行次数,即指执行算法所需要的计算工作量。度量一个算法的工作量,与计算机、程序设计语言以及程序编制者无关、与算法实现过程中的许多细节无关,只 与问题的规模有关。)算法的空间复
6、杂度:指执行这个算法所需要的内存空间。,数据结构与算法考点1:算法,填空题 1、问题处理方案的正确而完整的描述称为_ 2、算法的复杂度主要包括_复杂度和空间复杂度选择题 1、下面叙述正确的是算法的执行效率与数据的存储结构无关算法的空间复杂度是指算法程序中指令(或语句)的条数算法的有穷性是指算法必须能在执行有限个步骤之后终止以上三种描述都不对。,数据结构与算法考点1:算法,1、研究内容:主要研究数据的逻辑结构、数据的存储结构、对各种数据结构进行的运算(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;,数据
7、结构与算法考点2:数据结构,2、数据结构概念:数据结构是指相互有关联的数据元素的集合。理解(前件、后件)数据元素具有广泛的含义,一般来说,现实世界中客观存在的一切个体都可以是数据元素。例如,描述一年四季的季节名春、夏、秋、冬可以作为季节的数据元素;表示家庭成员的各成员名父亲、儿子、女儿可以作为家庭成员的数据元素。,数据结构与算法考点2:数据结构,具有相同特征的数据元素集合中,各个数据元素之间存在有某种关系,这种关系反映了该集合中的数据元素所固有的一种结构。在数据处理领域中通常把数据元素之间这种固有的关系简单地用前后件关系来描述。例如,在考虑一年4个季节的顺序关系时,“春”是“夏”的前件,而“夏
8、”是“春”的后件等。,数据结构与算法考点2:数据结构,3、数据的逻辑结构 数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构。,数据结构与算法考点2:数据结构,数据的逻辑结构有两个要素:一是数据元素的集合,通常记为 D;二是D上的关系,它反映了 D 中各数据元素之间的前后件关系,通常记为 R,即一个数据结构可以表示成:B=(D,R)其中 B 表示数据结构。为了反映 D 中各数据元素之间的前后件关系,一般用二元组来表示。例如,一年四季的数据结构可以表示成:B=(D,R)D=春,夏,秋,冬 R=(春,夏),(夏,秋),(秋,冬),数据结构与算法考点2:数据结构,4 数据的存储结构 数据的逻辑结
9、构在计算机存储空间的存放形式称为数据的存储结构。(也称数据的物理结构)数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,一种数据的逻辑结构根据需要可以表示成多种存储结构。常用的存储结构有顺序、链接、索引等存储结构。而采取不同的存储结构数据处理时效率不同,选择合适的存储结构是很重要的。,数据结构与算法考点2:数据结构,数据结构的图形表示 一个数据结构除了用二元关系表示外,还可以直观地用图形表示。在数据结构的图形表示中,对于数据集合 D 中的每一个数据元素用中间标有元素值的方框表示,称为结点。对于关系 R中的每一个二元组,用一条有向线段从前件结点指向后件结点。,数据结构与算法考点2:数据结构
10、,例如,一年四季的数据结构可以用如下图所示的图形来表示。反映家庭成员间辈分关系的数据结构可以用如下图所示的图形表示:在数据结构中,没有前件的结点称为根结点;没有后件的结点称为叶子结点.,数据结构与算法考点2:数据结构,5线性结构与非线性结构 数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足两个条件:有且只有一个根结点.每一个结点最多有一个前件,也最多有一个后件.则称该数据结构为线性结构。也称为线性表。注意:在一个线性结构中插入或删除任何一个结点后还应是线性结构。如数据结构不是线性结构,则称为非线性结构。,数据结构与算法考点2:数据结构,填空题:数据的逻辑结构在计算机存储空
11、间中的存放形式称为数据的_。选择题1、以下关于数据的逻辑结构的叙述中,哪一条是不正确的?数据的逻辑结构是数据间关系的描述数据的逻辑结构抽象地反映数据元素间的逻辑关系数据逻辑结构具体的反映数据在计算机中的存储方式数据的逻辑分为线性结构和非线性结构,数据结构与算法考点2:数据结构,2、数据的存储结构是指_.A、存储在外存中的数据B、数据所占的存储空间C、数据在计算机中的顺序存储方式D、数据的逻辑结构在计算机中的表示,数据结构与算法考点2:数据结构,1线性表的基本概念:线性表是一种线性结构。非空线性表有如下一些结构特征:有且只有一个根结点a1,它无前件;有且只有一个终端结点an,它无后件;除根结点与
12、终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。,数据结构与算法考点3:线性表及其顺序存储结构,线性表由一组数据元素构成。例如,一维数组int a10=1,2,3,4,5,6,7,8,9,10是一个长度为10的线性表,其中的每一个元素就是一个数据元素。又如一年中的4个季节(春,夏,秋,冬)是一个长度为4的线性表,其中的每一个季节名就是一个数据元素。线性表是由 n(n=O)个数据元素a1,a2,an 组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。线性表中的元素ai(i=1,2,n)通常称其为线性表中的一个结点。,数据结构
13、与算法考点3:线性表及其顺序存储结构,2线性表的顺序存储结构线性表的顺序存储结构具有以下两个基本特点:线性表中所有元素所占的存储空间是连续的;线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。在线性表的顺序存储结构中,如果线性表中各数据元素所占的存储空间(字节数)相等,第1个数据元素的存储地址为 ADR(a1),每一个数据元素占k 个字节,则线性表中第 i 个元素ai存储地址为:ADR(ai)=ADR(a1)+(i-1)*k,数据结构与算法考点3:线性表及其顺序存储结构,1栈及其基本运算1)什么是栈 栈实际上也是线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,其插入与删除运算都只在
14、线性表的一端进行,即这种线性表的一端是封闭的,不允许进行插入与删除元素;另一端是开口的,允许进行插入与删除元素。例如,子弹夹就是一种栈的结构。,数据结构与算法考点4:栈和队列,栈是一种特殊的线性表,一端是封闭的,不允许进行插入和删除,另一端是开口的,允许插入与删除元素。按照“先进后出“或”后进先出“的原则结构数据,栈具有记忆功能。往栈中插入一个元素称为入栈运算,从栈中删除一个元素称为退栈运算。,数据结构与算法考点4:栈和队列,栈是限定在一端进行插入与删除的线性表,允许进行插入与删除的一端成为栈顶(top),而不允许进行插入与删除的一端成为栈底(bottom)。栈顶的元素总是最后被插入的元素,也
15、是最先被删除的元素;栈底的元素总是最先被插入的元素,也是最后被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。栈具有记忆功能.2)栈运算 往栈中插入一个元素称为入栈运算,从栈中删除一个元素称为退栈运算。,数据结构与算法考点4:栈和队列,2队列及其基本运算 队列是指允许在一端进行插入,而在另一端进行删除的线性表。是“先进先出”或“后进后出”的原则。允许插入的一端称为队尾,允许删除的一端称为排头(也称为队头).在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除。因此,队列又称为先进先出 或后进后出的线性表,它体现了先来先服务的原则。往队列的
16、队尾插入一个元素称为入队运算,从队列的排头删除一个元素称为退队运算。,数据结构与算法考点4:栈和队列,3.循环队列及其运算 循环队列就是将队列存储空间的最后一个位置绕到第1个位置,形成逻辑上的环状空间,供队列循环使用。,数据结构与算法考点4:栈和队列,1线性链表的基本概念 线性表的链式存储结构称为线性链表。在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。,数据结构与算法考点5:线性链表,线性链表:为了适应线性表的链式存储结构,计算机存储空间被划分为一个一个的小块,每一小块占若干字节,通常称这些小块为存储结点。为了存储线性表中的每一个
17、元素,一方面要存储数据元素的值,另一方面要存储各数据元素之间的前后件关系。为此目的,将存储空间中的每一个存储结点分为两部分:一部分用于存储数据元素的值,称为数据域;另一部分用于存放下一个数据元素的存储序号(即存储结点的地址),即指向后件结点,称为指针域,数据结构与算法考点5:线性链表,在线性链表中,用一个专门的指针 HEAD 指向线性链表中第1 个数据元素的结点(即存放线性表中第 1 个数据元素的存储结点的序号)。线性表中最后一个元素没有后件,因此,线性链表中最后一个结点的指针域为空(用 NULL 或 O 表示),表示链表终止。线性链表的逻辑结构如下图所示。,数据结构与算法考点5:线性链表,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一 部分 数据结构 算法
链接地址:https://www.31ppt.com/p-5636917.html