数据结构与算法基础知识归纳归纳总结(超详细).docx

数据结构与算法基础知识归纳归纳总结(超详细).docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品学习资料 名师归纳总结——欢迎下载 学习好资料欢迎下载数据结构与算法基础学问总结1 算法算法:是指解题方案的精确而完整的描述;算法不等于程序,也不等运算机方法,程序的编制不行能优于算法的设计;算法的基本特点 学习好资料 欢迎下载 数据结构与算法基础学问总结 1 算法 算法:是指解题方案的精确而完整的描述; 算法不等于程序,也不等运算机方法,程序的编制不行能优于算法的设计; 算法的基本特点:是一组严谨地定义运算次序的规章,每一个规章都是有效的,是明确的, 此次序将在有限的次数下终止;特点包括: (1)可行性; (2)确定性,算法中每一步骤都必需有明确定义,不充许有模棱两可的说明,不答应有多 义性; (3)有穷性,算法必需能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理 的执行时间的含义; (4)拥有足够的情报; 算法的基本要素:一是对数据对象的运算和操作;二是算法的掌握结构; 指令系统:一个运算机系统能执行的全部指令的集合; 基本运算和操作包括:算术运算,规律运算,关系运算,数据传输; 算法的掌握结构:次序结构,挑选结构,循环结构; 算法基本设计方法:列举法,归纳法,递推,递归,减斗递推技术,回溯法; 算法复杂度:算法时间复杂度和算法空间复杂度; 算法时间复杂度是指执行算法所需要的运算工作量; 算法空间复杂度是指执行这个算法所需要的内存空间; 2 数据结构的基本基本概念 数据结构讨论的三个方面: (1)数据集合中各数据元素之间所固有的规律关系,即数据的规律结构; (2)在对数据进行处理时,各数据元素在运算机中的储备关系,即数据的储备结构; (3)对各种数据结构进行的运算; 数据结构是指相互有关联的数据元素的集合; 数据的规律结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系; 数据的储备结构有次序,链接,索引等; 线性结构条件: 第 1 页,共 4 页 精品学习资料 名师归纳总结——欢迎下载 学习好资料欢迎下载(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件; 非线性结构:不满意线性结构条件的数据结构;3 线性表及其次序储备结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的;在复杂线性表中, 由如干项数据元素组成的数据元素称为记录,又称为文件;而由多个记录构成的线性表非空线性表的结构特点:(1)且只有一个根结点a1,它无前件;( 学习好资料 欢迎下载 (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件; 非线性结构:不满意线性结构条件的数据结构; 3 线性表及其次序储备结构 线性表由一组数据元素构成, 数据元素的位置只取决于自己的序号, 元素之间的相对位置是 线性的; 在复杂线性表中, 由如干项数据元素组成的数据元素称为记录, 又称为文件; 而由多个记录构成的线性表 非空线性表的结构特点: (1)且只有一个根结点 a1,它无前件; (2)有且只有一个终端结点 an,它无后件; (3)除根结点与终端结点外,其他全部结点有且只有一个前件,也有且只有一个后件;结 点个数 n 称为线性表的长度,当 n=0 时,称为空表; 线性表的次序储备结构具有以下两个基本特点: (1)线性表中全部元素的所占的储备空间是连续的; (2)线性表中各数据元素在储备空间中是按规律次序依次存放的; ai 的储备地址为: adr(ai)=adr(a1)+(i-1)k, ,adr(a1)为第一个元素的地址, 字节数; k 代表每个元素占的 次序表的运算:插入,删除; (详见 14--16 页) 4 栈和队列 栈是限定在一端进行插入与删除的线性表, 答应插入与删除的一端称为栈顶, 不答应插入与 删除的另一端称为栈底; 栈根据 “先进后出 ”( filo )或 “后进先出 ”( lifo )组织数据,栈具有记忆作用;用 top 表示栈 顶位置,用 bottom 表示栈底; 栈的基本运算: ( 1)插入元素称为入栈运算; ( 2)删除元素称为退栈运算; ( 3)读栈顶元素 是将栈顶元素赋给一个指定的变量,此时指针无变化; 队列是指答应在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表; rear 指针 指向队尾, front 指针指向队头; 队列是 “先进行出 ”( fifo )或 “后进后出 ”( lilo )的线性表; 队列运算包括( 1)入队运算:从队尾插入一个元素; ( 2)退队运算:从队头删除一个元素; 循环队列: s=0 表示队列空, s=1 且 front=rear 表示队列满 第 2 页,共 4 页 精品学习资料 名师归纳总结——欢迎下载 学习好资料欢迎下载5 线性链表数据结构中的每一个结点对应于一个储备单元,这

文档评论(0)

橙老师资料铺 + 关注
实名认证
内容提供者

精选资料欢迎下载

1亿VIP精品文档

相关文档