ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:1.71MB ,
资源ID:13403746      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13403746.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构知识点总结文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构知识点总结文档格式.docx

1、是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构。根据数据元素之间关系的不同特性,通常有下列4类基本结构:(1)集合-数据元素仅有同属一个关系的关系(2)线性结构-结构中数据元素之间存在一个对一个的关系(3)树形结构-结构中的数据元素之间存在一个对多个的关系(4)图状结构或网状结构-结构中的数据元素之间存在多个对多个的关系五、元素在存贮结构(1)物理结构(存储结构):它包括数据元素的表示和关系。(2)逻辑结构六、位bit:在计算机中表示信息的最小单位是二进制的一位七、元素element/节

2、点node:位串八、数据域:当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串九、数据元素之间的关系在计算机中有两种不同的表示方法,顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构(借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系)和链式存储结构(借助指示元素存储地址的指针表示数据元素之间的逻辑关系)。算法设计要求:(1)正确性(2)可读性(3)健壮性(4)效率与低存储量需求-线性表:采用顺序存储,便于进行插入和删除的操作顺序表的优点:结构紧凑,存储空间利用率高,操作简单。(存储密度大) 缺点:它需要一块连续的存贮空间。当线性表的元素总数基本稳定,且很少进行插

3、入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用顺序存储结构。若某线性表最常用的操作是存取任一指定序号的元素和最后进行插入和删除运算,则利用顺序表的存储方式最节省时间;若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除一个元素,则采用仅有尾指针的单循环链表的存储方式最节省时间。设一个链表最常用的操作是在末尾插入结点或删除尾结点,则利用带头结点的双循环链表的存储方式最节省时间。若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则利用带头结点的双循环链表的存储方式最节省时间。链表的优点:在空间的合理利用上和插入、删除时不需要移动,是线性表的首选存储结构。(

4、不必事先估计存储空间、所需空间与线性长度成正比)缺点:求线性表的长度时不如顺序存储结构(不可随机访问任一元素)线性表在顺序存储时,查找第i个元素的时间同i的值无关;线性表在链式存储时,查找第i个元素的时间同i的值成正比。对于顺序存储的线性表,访问结点的时间复杂度为O(1),插入和删除结点的时间复杂度为O(n)。对于链式存储的线性表,访问第i个元素的时间复杂度为O(n)。对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为O(1),在给定值为x的结点后插入一个新结点的时间复杂度为O(n)根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分为单链表和多重链表;根

5、据指针的连接方式,链表又可分为动态链表和静态链表。链表的头结点的作用:1.标识作用2.使操作统一3.其数据域可写入链表长度,或作监视哨。静态链表中指针表示的是下一个元素地址静态链表能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。线性表是线性结构的基本形式线性表的逻辑结构线性表的定义 线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”。 线性表是具有相同数据类型的n(n=0)个数据元素的有限序列,记为:(a1,a2, ai-1,ai,ai+1,an); 其中:n为表长, n0 时称为空表。 表中相邻元素

6、之间存在顺序关系: ai-1 称为ai的直接前趋,ai+1称为ai的直接后继。 a1, an-1有且仅有一个直接后继;(非空线性表) a2, an有且仅有一个直接前趋。(非空线性表) 线性表的顺序存储是指在内存中用地址连续的一块存储空间顺序存放线性表的各元素,用这种存储形式存储的线性表称其为顺序表。存储的特点:物理上的相邻实现了逻辑相邻的表示。顺序存储能随机访问第i个元素: 设 a的存储地址为Loc(a),每个数据元素占d个存储地址,则第i个数据元素的地址为: Loc(ai)=Loc(a)+(i-1)*d 1In 顺序表插入运算时间主要消耗:数据的移动。一般情况下,在第i(1=i=n)个元素之

7、前插入一个元素时,需将第n至第i(共n-i+1)个元素向后移动一个位置。 (在第i个位置上插入 x ,从 ai 到 an 都要向下移动一个位置,共需要移动 ni1个元素。)一般情况下,删除第i(1=n)个元素时,需从第i+1至第n(共n-i)个元素向前移动一个位置 i 的取值范围为 :1 i n+1(即有 n1个位置可以插入)。 设在第i个位置上作插入的概率为Pi:在等概率情况下:Pi=1/ (n+1) ,则平均移动数据元素的次数则为:这说明:在顺序表上做插入操作需移动表中一半的数据元素。 显然顺序表上插入时间复杂度为(n)。int SeqlistInsert(A,n,i,x)if(in) /

8、检查插入位置的正确性Printf(“参数非法”);return 0; /插入位置参数错,返回错误代码0elsefor(k=n;k=i;k-)Ak-1=Ak; /结点移动Ai=x; /新元素插入nn) /检查空表及删除位置的合法性 /不存在第i个元素,返回错误代码0for(k=i+1;knext=p-next;p-next=s;注意:两个指针的操作顺序不能交换。在某结点前面插入新结点: 设指向链表中某结点,指向待插入的值为x的新结点,将*s插入到*p的前面。与后插不同的是:首先要找到*p的前驱*q,然后再完成在*q之后插入*s。 设单链表头指针为L,操作如下:q=L;while (q-next!

9、=p) q=q- /找*p的直接前驱s-next=q-q-删除结点:设p指向单链表中某结点,删除*p。作业1:线性表中元素为整型,以50为界,小于50在左,大于50在右。作业讲解:x=x and ij) j=j-1; if(Ajx) Ai=Aj; i=i+1;while(Aix and xj) i=x)Aj jdate=a1;指针p指向对象date=a1,该对象是一个结构体,指向结构体里a1那部分 删除a1并把存储空间解放:free(p);二、链表的构造q=1;i-)p=(NODE*)malloc(sizeof(NODE);date=an; 将an替换为ai 注:i此处为n-1next把指针设为空指针,替换为q=p;考虑链表的头指针当ai未插入时:CreatLinkList(n) 构造链表,n为节点for(i=n;scanf(ai);=ai;=q;return(p);注:此时p、q一样已被赋值给对方作业4:倒过来。从前节点到后节点。头指针head pdata);=p-三、链表的插入算法:假定

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1