1 / 27
文档名称:

数据结构基础知识要点.docx

格式:docx   大小:250KB   页数:27页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构基础知识要点.docx

上传人:scuzhrouh 2020/9/29 文件大小:250 KB

下载得到文件列表

数据结构基础知识要点.docx

文档介绍

文档介绍:、组织数据的方式。数据结构是抽象数据类型的物理实现。:(1)数据元素之间的逻辑关系,即数据的逻辑结构。(2)数据元素及其关系在计算机存储器中的存储方式,即数据的存储结构,也称为数据的物理结构。(3)施加在该数据上的操作,即数据的运算。(1)集合结构。交通工具的集合,动物的集合(2)线性结构。一对一,综合素质测评产生的学生排名(3)树形结构。一对多,单位的组织结构图,族谱(4)图形结构。多对多,生产流程、施工计划、网络建设图等存储结构类型(1)顺序存储方法。数组(2)链式存储方法。链表(3)索引存储方法(4)散列存储方法算法通常把具体存储结构上的操作实现步骤或过程称为算法。C语言里通常表现为解决问题的步骤程序=算法(加工数据)+数据结构(数据的存储和组织)算法的五个特征(1)有穷性:在有穷步之后结束。(2)确定性:无二义性。(3)可行性:可通过基本运算有限次执行来实现。(4)有输入:可有零个或多个。(5)有输出:至少有一个输出。算法分析时间复杂度:(算法的工作量大小)通常把算法中包含基本运算次数的多少称为算法的时间复杂度,也就是说,一个算法的时间复杂度是指该算法的基本运算次数。算法中基本运算次数T(n)是问题规模n的某个函数f(n),记作:T(n)=O(f(n))(2)空间复杂度:。该序列中所含元素的个数叫做线性表的长度,用n表示,n≥0。: (1)集合中必存在唯一的一个“第一元素”; (2)集合中必存在唯一的一个“最后元素”; (3)除最后一个元素之外,均有唯一的后继(后件); (4)除第一个元素之外,均有唯一的前驱(前件)。{ ElemTypedata[MAXCOUNT];//定义存放顺序表元素的数组 intlength;//length为存放线性表的实际长度}SqList;//(1).建立顺序表CreateList创建一个空的顺序表,要完成线性表所需空间的分配和其他初始化设置。(2)求线性表的长度ListLength(3)输出线性表DispList(4)在线性表中的指定位置插入一个元素InsertElem(5)根据键值查找指定元素FindElemByNum(6)获取指定位置的元素信息GetElem(7)删除指定位置的元素DelElem(8)——单链表(data域和指针域next)由于顺序表中的每个元素至多只有一个前驱元素和一个后继元素,即数据元素之间是一对一的逻辑关系,所以当进行链式存储时,一种最简单也最常用的方法是:在每个结点中除包含有数据域外,只设置一个指针域,用以指向其后继结点,这样构成的链接表称为线性单向链接表,简称单链表;:typedefstructLNode/*定义单链表结点类型*/{ElemTypedata;structLNode*next;/*指向后继结点*/}LinkList;、创建单链表LinkList*CreateList();2、初始化单链表voidInitList(LinkList*list);3、释放单链表voidDestroyList(LinkList*list);4、获取单链表中元素的数量intListLength(LinkList*list);5、输出单链表中的所有数据voidDispList(LinkList*list);6、获取单链表中指定位置的元素intGetElem(LinkList*list,intloc,ElemType*pElem);7、根据键值查找指定元素intFindElemByNum(LinkList*list,char*keyCh,ElemType*pElem);8、采用头插法向单链表中插入一个元素intInsertElem_Head(LinkList*list,ElemTypemyElem);9、采用尾插法向单链表中插入一个元素intInsertElem_Foot(LinkList*list,ElemTypemyElem);10、向单链表中的指定位置插入一个元素ntInsertElem_Loc(LinkList*list,intloc,ElemTypemyElem);11、删除指定位置的元素intDelElem(LinkList*list,intloc,ElemType*pElem);——双链表(data域指针域nex