- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
全国计算机二级公共基础知识
一、数据结构与算法
数据结构 指的是数据之间的相互关系,即数据的组织形式。
数据结构用来反映一个数据的内部构成, 即一个数据由哪些成分构成、以什么方式构成、呈现 什么样的结构。 数据结构有逻辑上的数据结构和物理上的数据结构之 分。逻辑上的数据结构反映数据之间的逻辑关系,而物理上的数据结构反映数据在计算机内部的 存储安排。数据结构是数据存在的形式。
算法是解题的步骤,是指令的有限序列。它们规定了解决某一特定类型问题的一系列运算, 是对解题方案的准确与完整的描述。一个问题的解决方案要以算法为基础。
1.1概念介绍
?算法的时间复杂度:
算法的时间复杂度 是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算次数来度量, 而算法所执行的基本运算次数是问题规模 的函数,即
算法的工作量=f(n)
其中n是问题的规模。
例如,两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3, 也就是时间复杂度为n3。
?算法的空间复杂度:
算法的空间复杂度一般是指执行这个算法所需要的内存空间。
?数据的逻辑结构
数据元素相互之间的关系,称为结构。
数据的逻辑结构:是指反映数据元素之间逻辑关系的数据结构。
?数据的存储结构
数据的存储结构:是数据的逻辑结构在计算机存储空间中的存放形式。也称数据的物理结构。
各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的。 同一种数据的
逻辑结构可以根据需要表示成任意一种或几种不同的存储结构。
数据的顺序存储方式 :是将逻辑上相邻的结点存储在物理位置上亦相邻的存储单元 里。也就是将所有存储结点相继存入在一个连续相邻的存储区里。
数据的链式存储方式:是在存储每个结点信息的同时,增加一个指针来表示结点间的 逻辑关系。该方式不要求逻辑上相邻结点在物理位置上亦相邻, 结点间的逻辑关系是由附加的指针
字段表示的。因此,链式存储结构中的每个结点都由两部分组成: 一部分用于存储结点本身的信息, 称为数据域;另一部分用于存储该结点的后继结点(或前驱结点)的存储单元地址,称为指针域 指针域可以包含一个或多个指针,这由结点之间的关系所决定。
?线性结构和非线性结构
如果在一个线性结构中,一个数据元素都没有,则称该数据结构为空数据结构。
线性结构的逻辑特征:在一个非空的数据结构中,除第一个数据元素只有一个后继没
严 \// / / /、)
有前驱、最后一个数据元素只有一个前驱没有后继外,其他的每一个数据元素仅有一个前驱和一个 后继。线性结构也称为线性表。
注:某个元素直接相邻的前一个元素称为此元素的 前马区、直接相邻的后一个元素称为此元素 的后继。
非线性结构的逻辑特征:在一个非空的数据结构中,某数据元素可能有多于一个前驱 或后继。如树型结构等。
精心整理
精心整理
精心整理
精心整理
精心整理
习题:
(一)选择题(单选)
1.算法的时间复杂度是指(D)
A) 算法的执行时间
B) 算法所处理的数据量
C) 算法程序中的语句或指令条数
D) 算法在执行过程中所需要的基本运算次数
1.2线性表
线性表是由同一类型的数据元素构成的一种线性的数据结构。 是一种最基本、最常用的数据结
构。线性表常用的存储方式有两种:顺序存储方式和链接存储方式。
线性表的数学定义:
L=(ai ,a2,a3,…,a)
说明:
线性表是具有相同类型的n(n》0)个数据元素组成的有限序列。
L :为表的名称。
ai(i=1,2,…:,r为表的元素,也称为线性表中的一个结点。它可以是一个数、一个字符、一个字 符串,也可以是一条记录,还可以是复杂的数据对象。 ai是a2的前驱、a2是ai的后继,a2是a3的
前驱、a3是a2的后继,…,依次类推。
n:为线性表的长度(元素个数),当n=0时称线性表为空表。
线性表的特点:
在非空的线性表中:存在唯一的一个“第一个元素” (根结点)。存在唯一的一个“最后一个元
素”(终端结点)。除第一个元素外,其他的元素均有唯一的前驱。除最后一个元素外,其他的元素 均有唯一的后继。
1.3栈和队列
栈和队列本质上也是线性表, 只是它们的操作受到了限制
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
精心整理
1.3.1 栈
栈是限定仅在表尾进行插入和删除操作的线性表。 表尾称为栈顶(top),表头称为栈底(bottom) 栈这种数据结构,类似于子弹夹,底端是封闭的,最后压入的子弹总是最先被弹出,最先压入的子 弹只能最后被弹出。
栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的
文档评论(0)