计算机-数据结构与算法(共10页).doc
《计算机-数据结构与算法(共10页).doc》由会员分享,可在线阅读,更多相关《计算机-数据结构与算法(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第一章 数据结构与算法1.1 算法1、算法是指解题方案的准确而完整的描述。换句话说,算法是对特定问题求解步骤的一种描述。I=1 ,变量I赋值为1S=0 ,变量S赋值为0DO WHILE I一般)适合于列举量为无限的情况 通过列举少量的特殊情况,经过分析,最后找出一般的关系。(3)递推法 (已知-未知) 从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。(4)递归法(逐层分解) 将一个复杂的问题归结为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题(5)减半递推法 “减半”是指将问题的规模减半,而问题的性质不变,所谓“递推”是指重复“减半”
2、的过程。(6)回溯法 复杂应用,找出解决问题的线索,然后沿着这个线索逐步多次“探”、“试”。5、算法复杂度主要包括时间复杂度和空间复杂度。 算法的复杂度是衡量算法好坏的量度。(1)算法时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量。影响计算机工作量的主要因素:第一:基本运算次数; 第二:问题规模。下面的方法不能用来度量算法的时间复杂度:第一:算法程序的长度或算法程序中的语句(指令)条数;第二:算法程序所执行的语句条数;第三:算法程序执行的具体时间(2)算法空间复杂度是指执行这个算法所需要的内存空间。 一个算法所用的内存空间包括: 1)算法程序所占用
3、的存储空间;2)输入的初始数据所占的存储空间;3)算法执行过程中的额外空间。6、考题练习:1)下列叙述正确的是() (A)算法就是程序(B)算法强调的是利用技巧提高程序执行效率(C)设计算法时只需考虑结果的可靠性(D)以上三种说法都不对2)下面叙述正确的是() (A)算法的执行效率与数据的存储结构无关(B)算法的空间复杂度是指算法程序中指令(或语句)的条数(C)算法的有穷性是指算法必须能在执行有限个步骤之后终止(D)以上三种描述都不对3)下列叙述中正确的是() (A)一个算法的空间复杂度大,则其时间复杂度也必定大(B)一个算法空间复杂度大,则其时间复杂度必定小(C)一个算法的时间复杂度大,则其
4、时间复杂度必定小(D)以上三种说法都不对4)算法的空间复杂度是指( )(A)算法程序中变量的个数(B)算法程序中的指令条数(C)算法程序中各控制变量所占的额外空间(D)算法执行过程中所需要的存储空间1.2 数据结构的基本概念1、基本概念:1)数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。2)数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。3)数据结构:是指相互有关联的数据元素的集合。 线性表 栈 线性结构 队列 数据的逻辑结构 树形结构 非线性结构 图形结构 顺序存储 数据的存储结构 链式存储 数据的运算:检索、排序、插入、删除、修改2、逻
5、辑结构:数据元素之间的逻辑关系,从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。3、存储(物理)结构:是指数据元素及其关系在计算机内存中的表示,即数据的逻辑结构在计算机存储空间中的存放形式。注意:对于同一个逻辑结构来说,采用不同的存储结构,其数据处理的效率是不同的。因此,在数据处理时,选择合适的存储结构很重要。各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定相同。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后间关系)在数据结构中,不仅要存放各数据元素的本身,而且还需要存放各数据元素之间的
6、前后件关系的信息。4、逻辑结构与物理结构的关系:(1)一种逻辑结构可以用不同的物理结构来实现(2)逻辑结构决定了算法的设计(3)物理结构决定了算法的实现数据结构的图形表示:表示数据结构的常用方法:二元关系表和图形表示。例:一年四季的数据结构可以表示成:用图形表示为:春夏秋冬1) 数据元素:用中间标有元素值的方框来表示,称为数据结点,简称为结点。2) 元素之间的前后关系:用一条有向线段从前件结点指向后件结点(有时可以省略箭头)例如:家庭成员数据结构可以表示称为:父亲女儿儿子在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结点(也称为叶子结点)其它的称为内部结点。5、线性结构与非线性
7、结构数据结构的分类:根据数据结构中各数据元素之间的前后关系的复杂度,一般将数据结构分成两大类:线性结构和非线性结构。注意:线性结构与非线性结构是在数据的逻辑结构概念下的一种划分方法,与数据的存储结构无关。前面说过,一种数据的逻辑结构根据需要可以表示成多种存储结构,但只要数据的逻辑结构是属于线性结构,则该逻辑结构的任意一种存储结构也都属于线性结构。6、线性结构的定义:如果一个非空的数据结构满足下列两个条件:(1) 有且只有一个根结点(每有前件的结点称为根结点)(2) 每个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,线性结构又称为线性表。(3) 线性结构的操作。 在一个线性结构
8、中插入或删除任何一个结点后还应是线性结构。1.3 线性表及其顺序存储结构1、线性表就是线性结构。线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。线性表是由n(n0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件2、线性表的顺序存储结构也称为顺序表。3、线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的,其前后两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面。4、线性表的长度:是指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据结构 算法 10
限制150内