- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACCESS201103笔试
数据结构与算法
算法
算法的基本概念
所谓算法是指解题方案的准确而完整的描述。
算法的基本特征
可行性 确定性 有穷性 拥有足够的情报
算法的基本要素
是对数据对象的运算和操作:算术运算 逻辑运算 关系运算 数据传输
是算法的控制结构 :顺序 选择 循环
算法的设计方法
列举法 归纳法 递推 递归 减半递推技术 回溯法
算法复杂度
算法的时间复杂度:是指执行算法所需要的计算工作量。算法的空间复杂度:是指执行这个算法所需要的内存空间。
数据结构的基本概念
数据结构三方面问题:
数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。
在对数据进行数据处理时,各数据元素在计算机中的存储关系,即数据的存储结构
在对各种数据结构进行的运算
什么是数据结构
数据的逻辑结构:表示数据元素的信息;表示各数据元素之间的前后件关系。
数据的存储结构:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(物理结构)。
数据结构的图形化表示
在数据结构中没有前件的结点称为根结点,没有后件的结点称为终点结点。
线性结构与非线性结构
从数据逻辑结构上分为线性结构与非线性结构
如果一个非空的数据结构满足下列两个条件:有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件。
线性表及其顺序结构
线性表的基本概念
线性表是一种线性结构,数据元素在线性表中的位置只取决于它们自己的序号,即数据元素之间的想爱你相对位置是线性的。非空线性表有以下特征:有且只有一个根节点a1,它无前件;有且只有一个终端结点an,它无后件;除根结点与终端结点外,其他所有结点有且只有一个前件,有且只有一个后件。
线性表的顺序存储结构
线性表的顺序存储结构具有以下两个基本特点:
线性表中所有元素所占的存储空间是连续的
线性表中各数据元素在存储空间中是按逻辑顺序依次存放的
线性表在插入和删除的需要大量的移动数据元素,效率很低。只适合小线性表和不太经常变动的线性表。
栈和队列
栈及其基本运算
什么是栈
栈是限定在一端进行插入与删除的线性表。在栈中允许插入与删除的一端称为栈顶,不允许插入与删除的一端称为栈底。栈是按照先进后出或后进先出的原则组织数据的,栈有记忆作用。
栈的顺序存储及其运算
栈的基本运算有三种: 入栈运算(top+1) 退栈运算(top-1) 读栈顶元素
队列及其基本运算
什么是队列
队列是在一端进行插入而在另一端进行删除的线性表。允许插入的一端称为队尾,尾指针指向队尾元素。允许删除的一端称为排头(也称为队头),排头指针指向排头元素的前一个位置。队列是按照先进先出或后进后出的原则组织数据。
循环队列及其运算
循环队列的初始状态为空,即rear=font=m。入队时队尾加1,当队尾指针rear=m+1时,则置rear=1。退队时队头指针加1,当队头指针font=m+1时,则置font=1。当循环队列非空时队尾指针等于队头指针时说明循环队列已满,称为上溢。当循环队列为空时,为下溢。
线性链表
线性链表的基本概念
顺序存储结构的缺点:插入删除的运算效率很低,线性表的存储空间不便于扩充,不便于对存储空间的动态分配。
链式存储结构的特点:存储数据的结构可以不连续,各数据结点的顺序与数据元素之间的逻辑关系可以不一致,而数据元素的之间的逻辑关系是由指针域来确定的。即可表示线性结构,也可以表示非线性结构。
线性链表
线性表的链式存储结构称为线性链表。
线性元素的访问要按顺序访问,不能直接定位到对应的位置。插入删除不需要移动数据元素,只需要改变指针。
树与二叉树
树的基本概念
树是非线性结构。认识:根,父结点,子结点,结点的度,树的度,树的层次,树的深度
二叉树及其基本性质
什么是二叉树
二叉树特点:非空二叉树只有一个根结点;每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
二叉树的基本性质
性质1:在二叉树的第k层上,最多有2k-1(k=1)个结点。性质2:深度为m的二叉树上最多有2m-1个结点。
性质3:在任意一棵二叉树上,度为0的结点(即叶子结点)总是比度为2的结点多一个。
性质4:具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]为整数部分。
满二叉树与完全二叉树
满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。
完全二叉树:除最后一层外,每一层都达到最大值,在最后一层上只缺少右边的结点。
二叉树的存储结构
二叉树通常采用链式存储结构。分一个数据域,两个指针域。
二叉树遍历
指不重复的访问二叉树上的所有结点。前序:DLR 中序:LDR 后序:LRD
查找技术
顺序查找
顺序查找效率很低,但在以下情况下,如果线性表为无序表,不管是采用顺序存储结构还是链式存储结构,只能采用顺序查找;
文档评论(0)