最新数据结构总结 数据结构和数据分析
文件夹
在当下这个社会中,报告的使用成为日常生活的常态,报告具有成文事后性的特点。那么什么样的报告才是有效的呢?下面是小编给大家带来的报告的范文模板,希望能够帮到你哟!
数据结构:数据结构就是数据的组织形式,也可看成是包含数据结构的数据表,说明数据之间存在着一定的相互关系或约束。数据结构被形式地定义为(d,r),其中d是数据元素的有限集合,r是d上的关系有限集合.数据类型:一个值的集合和定义在这个值集上的一组操作的总称;数据运算:对数据施加的一种操作;数据结构和数据类型两个概念之间区别:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。
逻辑结构:我们把只表现元素之间逻辑关系,而不涉及它们在计算机中的表示,只是理论的、反映在纸面上的东西,这种抽象的数据结构称为逻辑结构。
物理结构:抽象的数据结构在计算机内的表示,也就是映射在存储空间上的、具体的数据结构在计算机内表示,也就是映射在存储空间上的、具体的数据结构。
数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称;数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项组成。数据项是数据的最小单位。
数据对象:性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间一种或多种特定关系的数据元素的集合。根据数据元素之间关系的不同特性。数据结构包括逻辑结构(线性结构,如线性表,栈,队,串,数组 和非线性结构如 树结构、图结构)、物理(存储)结构(集合、线性结构、树形结构和图状结构或网状结构)和数据运算如插入、删除、修改、排序、查找。数据结构中,与所使用的计算机无关的数据叫逻辑结构,数据结构在计算机内存中的表示是指数据的存储结构
四大类存储结构:顺序存储、链式存储、索引存储和散列存储。顺序存储包括数据存储(把逻辑上相邻的元素存储在地址连续的存储单位)和数据关系存储(通过连续的物理地址体现关系);链式存储包括数据存储(把逻辑上相邻的元素存放在物理地址随意的存储单元)和数据关系存储(不仅存放数据本身还存放数据元素的物理地址)
抽象数据类型adt:一个数学模型以及定义在该模型上的一组操作,包括_数据和操作_两个部分 算法的特性:有穷性(执行有穷步结束)、确定性(确切含义,不会产生二义性)、可行性、输入(零个或多个输入)和输出(一个或多个输出)
算法设计的要求:正确性、可读写、健壮性、效率与低存储量需求。
2、数据的逻辑结构是指图形结构_三种类型,树形结构和图形结构合称为非线性结构_。数据的逻辑结构被分为集合结构、线性结构、树形结构、图形结构4种。
17_称为存储结构.1821、算法的执行时间是
371、某算法的时间复杂度为o(n2),表明该算法的_____.2.算法分析的目的是问题规模之间的关系;算法分析的两个主要方面是空间复杂度和时间复杂度
5.在决定选取何种存储结构时,一般不考虑
a.各结点的值如何b.结点个数的多少c.对数据有哪些运算d.编程语言实现这种结构是否方便。
10.程序段i = 0;while(i<=n){i = i * 3
12数据项的个数要相同,而且对应的数据项的类型要一致 1.数据结构是一门研究非数值计算的程序设计问题中计算机的系和运算等的学科。数据结构式相互之间存在一种或多种特定关系的数据元素的集合。10.数据的运算最常用的有5-1-
第二章 线性表
1.线性表:一个线性表是n个类型相同的数据元素的有限序列。线性表的顺序表示:用一组地址连
续的存储单元依次存储线性表的数据元素。顺序存储结构的特点:优,可随机存取表中任一元素,方便快捷;缺,再插入或删除时,需移动大量元素,数组的静态空间分配。
2.线性结构与非线性结构的不同点:线性结构反映结点间的逻辑关系是 一对一的,非线性结构反
映结点间的逻辑关系是多对多的。
3.从一个具有n个节点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较个结点,4.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q和*p之间插入*s结点,则执行 5.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的,删除一个
元素时大约要移动表中的(n-1)/2两种情况下求平均个元素。
6.设单链表中指针p指着结点m,指针f指着将要插入的新结点x,当x插在链表中最后一个结点
m之后时,只要先修改后修改p->link=f即可。
7.在一个长度为n的顺序存储的线性表中,删除第i个元素(1<=i<=n)时,需要从前向后依次前移i个元素前插入元素需移动
存储结构需要分配较大空间,插入和删除不需要移动元素的线性表
9、在双向链表存储结构中,删除p所指的结点时需修改指针p所指的结点的前趋结点(若存在)时需修改指针
1.在循环双链表的p所指结点之前插入s所指结点的操作是12.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用_结点的双循环链表__存储方式最节省运算时间;某线性表最常用的操作是在最后一个结点之后插
入一个结点或删除第一个结点,故采用_仅有尾指针的单循环链表存储方式最节省运算时间;对
于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为用尾指针表示的循环单链表
14.15.16.17、不带头结点的单链表head为空的判定条件是 带头结点的~是
19、带头结点的双循环表l为空表的条件是。
20、非空的循环单链表head的尾结点(由p所指向)满足21.在一个长度为n(n>1)操作与链表的长度有关;与单链表相比,双链表的优点之一是顺序访问相邻结点更灵活
23线性表的链接存储中,元素之间的逻辑关系是通过链接指针决定的。
24、从顺序表中删除第i个元素时,首先把第i个元素赋给_针开始向后的所有元素均前移一个位置,最后使线性表的长度减1。
25,26、循环单链表l为空的条件是
27、在以hl为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为。
28、在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为,若p为一个数组a中的下标,则其后继结点的下标的a[p].next。
29、在由数组a中元素结点构成的单链表中,在下标为i的结点的后面插入一个下标为j的结点
时,需要进行的操作为a[j].next=a[i].next和a[i].next=j语句。
第三章 栈和队列
1.栈:是限定仅在表尾进行插入或删除操作的线性表。栈又称为先进后出lifo的线性表。
2.判定一个栈st(最多元素为m0)为空的条件是
2.栈的两种存储方法:一是顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存
放自栈底到栈顶的元素;二是栈的链式表示。
3.队列:队列是一种先进先出fifo的线性表。允许插入的一端叫做队尾rear,允许删除的一段则
称为队头front
4.链队的出队入队操作:s入队,rear->next=s;rear=s;p出队:front->next=p->next
5.顺序队:插入元素:front不变,rear加1;删除元素:rear不变,front加1。判定一个顺序栈
st(最多元素为maxsize)为空的条件是6.循环队列:空队满队都是rea=r=front为区分,规定循环队列中剩一个元素即为满队,front=rear+1
7.8.9.向一个栈项指针为hs的链栈中插入一个*s结点时,则执行。
10.在一个链队列中,假定front和rear分别为队首指针和队尾指针,则进行插入*s结点的操作时
应执行rear->next=s;rear=s;
11.若己知一个栈的进栈序列是1,2,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi(1
23、判定一个环形队列qu(最多元素为maxsize)为空的条件是是(qu->rear+1)%maxsize==qu->front
列的元素个数是(rear-front+maxsize)%maxsize。
24.从一个不带头结点的栈顶指针为1st的链栈中删除一个结点时,用x保存被删结点的值,则执行5.栈顶指针
7.在链表qu中,判定只有一个结点的条件是设有一个顺序栈s,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为3。
9.设计一个判别表达式中左、右括号是否配对出现的算法,采用数据结构最佳
例:设有编号为1,2,3,4的四辆列车,顺序进入一个栈式结构的车站,具体写出这四辆
列车开出车站的所有可能的顺序。
答:至少有14种①全进之后再出情况,只有1种:4,3,2,1②进3个之后再出的情况,有
3种,3,4,2,13,2,4,13,2,1,4③进2个之后再出的情况,有5种,2,4,3,12,3,4,12,1, 3,4
2,1,4,32,1,3,4④进1个之后再出的情况,有5种,1,4,3,21,3,2,41,3,4,21, 2,3,41,2,4,3
第四章 串
1.串:由零个或多个字符组成的有限序列;串中字符的数目n称为串的长度,零个字符的串称为
空串。包含子串的串相应的称为主串,通常称字符在序列中的序号为该字符在串中的位置。
2.空串是,其长度等于度等于其包含的空格个数。组成串的数据元素只能是 单个字符。
4.一个字符串中称为该串的子串。
5.若串s= ‘software’,其子串的数目是字符串长度为n的字串的个数计算公式 :[n+(n-1)+...+ 1+1])
60.串是一种特殊的线性表,其特殊性体现在61.设有两个串p和q,求q在p中首次出现的位置的运算称为 串:1。kmp算法,求next函数值等。时间:o(n+m)。其中,模式匹配为o(n);预处理为
o(m);求两串的最长公共子串,时间为o(n)是不行的,至少要o(n2)。
第五章 数组(线性结构,元素受限,操作不限)和广义表
1.矩阵的压缩存储:是指为多个值相同的元只分配一个存储空间,对零元不分配空间。
2.树的存储结构:
一、双亲表示法:就是用一组连续空间存储树的结点,同时在每个结点中附设
一个指示器指示其双亲的结点在数组中位置。特点:找双亲容易,找孩子难;
二、孩子兄弟表示
法(又称二叉树和二叉链表表示法)链表结构中的两个链域分别指向该结点的的第一个孩子结点
和下一个兄弟结点。操作容易,破坏了树的层次
第六章 树和二叉树
1.树:树是由n个类型相同的元素构成的有限集。
2.二叉树的性质:在二叉树的第i层上至多有2i-1个结点;深度为k的二叉树最多有2k-1个结点;
叶子结点比度为2的结点个数多1。
3.遍历二叉树:先序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)。前后序遍历确定
跟,中序遍历确定左右子树,依次判断,方法是:由前序先确定root,由中序可确定root的左、右子树。然后由其左子树的元素集合和右子树的集合对应前序遍历序列中的元素集合,可继
续确定root的左右孩子。将他们分别作为新的root,不断递归,则所有元素都将被唯一确定.第七章图
一、图的定义和术语:
1、图(graph)——图g是由两个集合v(g)和e(g)组成的,记为g=(v,e)
其中:v(g)是顶点的非空有限集 e(g)是边的有限集合,边是顶点的无序对或有序对
2、有向图—有向图g是由两个集合v(g)和e(g)组成的其中:v(g)是顶点的非空有限集e(g)是有
向边(也称弧)的有限集合,弧是顶点的有序对,记为
最新数据结构总结报告 数据结构和数据分析(四篇)
文件夹