- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构知识点部分整理
数据结构的产生(1)计算机的发展:速度→快计算机存储容量→大应用范围不断拓宽价格→降早期计算机→主要用于科学计算→处理对象:纯数值性的信息。(2)计算机的应用:情报检索60 年代后企业管理乃至人类社会活动的一切领系统工程(3)计算机的处理对象:数值性和非数值性(包括字符、图像、声音)算法(还是要掌握好的一部分)概念:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法的特性有穷性:指有穷的步数,以及有穷的时间确定性:每条指令必须有确切的含义,且算法只有唯一的一条执行路径,相同的输入只能是相同的输出可行性:可以通过已经实现的基本运算执行有限次来实现的。输入:一个算法有零个或多个的输入。输出:有一个或者多个的输出,输出的是同输入有着某些特定关系的量。算法的描述方法:自然语言、程序流程图、伪代码(又有自然语言又有程序语言)、程序设计语言。算法的设计目标正确性:明确的无歧义的描述可读性:便于阅读理解健壮性:输入数据非法时,算法也能做出处理,而不产生不可预料的结果高时间效率:算法时间尽量短低储存量需求:指算法执行过程中所需要的最大存储空间要低。算法效率的度量时间复杂度:算法的执行时间是指根据该算法编制的程序在计算机上运行时所消耗的时间总量。基本语句:执行次数与整个算法的执行次数成正比的语句,多数情况下它是最深层循环内的语句。T(n)= O(f(n))Eg:语句的执行次数(就是循环的次数)为n2+1,则算法的时间复杂度为T(n)=)O(n2)空间复杂度:算法的空间复杂度是对一个算法在运行过程中临时占用存储空间大小的度量,它也是衡量算法有效性的一个指标。算法的空间复杂度是对算法的执行过程需要的辅助空间进行度量。通常记作S(n)=O(f(n))其中n为问题的规模(或大小),表示随着问题规模n的增大,算法运行所需存储量的增长率与f(n)的增长率相同。线性表(重点掌握)1.线性表的定义:线性表(linearlist)是n(n≥0)个相同类型的数据元素构成的有限序列。其中称n为线性表的长度,当n=0时,表示线性表是一个空表,即表中不包含任何元素。一个有n个数据元素的线性表常表示为:(a1,a2,…,an)则常把线性表中使用的元素类型用一种通用数据类型标识符ElemType进行抽象,实际使用时可以通过typedef语句把它定义为任何一种具体类型。若线性表中的元素为整数,则可通过下列语句把它定义为整数类型:typedef int ElemType线性表的定义:序列的顺序性,限制顺序,第一个元素无前期,最后一个无后继,其他元素有且仅有一个前驱和后继有限性:元素个数的有限,计算机处理的对象是有限的相同性:元素取自同一个数据对象,每个元素占相同数量的存储单元。抽象性:元素的类型是抽象的、不具体的,看具体问题。线性表的逻辑结构:元素之前的前驱后继关系A1称为ai+1的前驱,后者是前者的后继抽象数据类型(掌握)InitList(L,maxsize,incresize)构造一个容量为maxsize的空线性表LClearList(L)线性表L存在的前提下将线性表重置为空表ListEmpty(L)在线性表存在的前提下,若L为空表,则返回true,否则返回falseListLength(L)在线性表L存在的前提下,返回L中元素的个数,即线性表的长度LocateElem(L,e)在表中找到与e相等的第一个值的位序PriorElem(L,cure,pre-e)cur-e是L的元素,但不是第一个,就用pre-e返回它的前驱,若操作失败,则pre-e无定义。NextElem(L,cur-e,next_e)cur_e是L的元素,但不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义ListInsert(L,i,e)线性表L已存在且1≤iLengthList(L),操作结果是在L的第i个元素之前插入新的元素e,L的长度增1。ListDelete(L,i,e)线性表L已存在且非空,1≤i≤LengthList(L),操作结果是删除L的第i个元素,并用e返回其值,L的长度减1。GetElem(L ,i,e)线性表L已存在,且1≤i≤LengthList(L),操作结果是用e返回L中第i个元素的值。ListTraverse(L)线性表L已存在,操作结果是依次输出L中的每个数据元素。DestroyList(L)线性表L已存在,操作结果是撤销线性表L。顺序表(重点掌握)(1)顺序表的定义:用一组地址连续的存储单元一次存储线性表里各个元素的存储结构称为线性表的顺序存储结构。(常用程序设计语言中的一维数组来描述顺序表中数据元素的存储区域,也就是把线性表中相邻的元素存储在数组中相邻的位置)特点:逻辑上相邻的数据元素,其物理位置上也是相邻
文档评论(0)