您的位置:首页 > 理论基础 > 数据结构算法

C++数据结构知识点整理

2018-03-13 16:57 507 查看
数据元素是数据的基本单位数据项是数据的最小单位数据元素是讨论数据涉及的最小数据数据结构的存储主要有:(顺序存储结构,链接存储结构)。存储两个内容:数据元素和数据元素之间的关系0或多个输入,一个或多个输出,有穷性,确定性,可行性为数据结构的五个特征算法描述通常有自然语言,程序设计语言,流程图,伪代码。算法语言是伪代码。时间复杂度--问题规模的函数数据元素的逻辑关系由存储位置表示的,链接数据元素间逻辑关系的是指针使用抽象数据类型定义一个完整的数据结构算法分析的目的是分析算法的效率以求改进算法分析的连个主要的方面是空间性能和时间性能算法的时间复杂度是由算法的数量级来衡量的

线性表运算定义在逻辑结构,运算的具体实现在存储结构上的确定了线性表存储的起始位置,线性表任意一个元素都可随机存取,顺序表是随机存取结构置空表 InitList(L) 构造一个空的线性表求表长ListLength(L)求L中的节点个数GetNode (L,i)取L中的第i个元素

顺序表存储方法:把线性表按逻辑次序依次放入一组存储单元中顺序表(Sequential List)插入:O(n)平均移动(n/2)删除:O(n)平均移动(n-1)/2
a、顺序表和b、链表的比较:时间性能:a:线性表--经常性地查找、b:链式存储结构--经常性的插入删除操作空间性能:a: 对数据量的大小事先能够知道的用线性表,b、数据量变化大的用链式存储存储密度越大,空间利用率越高,顺序表的存储密度是1,链表的密度小于1

栈和队列栈--后进先出的线性表,LIFO表(运算受限的线性表,顺序栈也是用数组表示)进栈操作:S->top +1 ①S->top== StackSize -1 表示栈满②上溢现象:当栈满了之后,再进栈运算产生空间溢出退栈操作:S->top -1 ①S->top 表示空栈②空栈:栈空再操作、栈顶指针就是链表头指针允许删除的一端--队头(Front)允许插入的一端--队尾(Rear) 队列亦作先进先出 的线性表 FIFO表顺序队列是一个受限制的线性表 1.入队 新元素插入rear 所指位置 rear+1
2.出队 删去front所指元素 front+1
3.当头尾指针相等时,队列为空
4.非空队列头指针始终指向队尾元素的下一位置,而队尾指针始终指向队尾元素的下一位置。 栈顶指针指
4000
向栈顶元素。

循环队列 上界:(QueueSize) 多维数组和字符串

数组存储结构与寻址
行序为主序(row major order) 行优先 C++LOC(aij)=LOC(al1l2)+((i-l1)*(h2-l2+1)+(j-l2))*c

矩阵压缩与存储压缩存储的基本思想是:多个相同值分配一个存储空间、0不分配空间
对称矩阵的压缩下三角: k = i*(i-1) / 2 + j - 1上三角: k= j*(j-1) / 2 + i - 1 三角矩阵的压缩下三角:k = { i*(i-1) / 2 + j - 1 ;i<=jk = { n*(n+1)/2 ;i>j下三角:k = { (i-1)*(2n-i+2) / 2+ j-i ;i<j k = { n*(n+1)/2 ;i>j
稀疏矩阵的压缩存储 row//行号,col//列号,item//非零元素数值

树与二叉树
二叉树i层结点数目2^(i-1)k深度结点数目2^k - 1

只知道前序和后续,不能唯一确定一棵二叉树
树的前序遍历<==>二叉树的前序遍历树的后序遍历<==>二叉树的中序遍历
森林的遍历方式:前序遍历,后序遍历


顶点的度总和 = 边数 * 2出、入度 = 边数
对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(    ),利用Kruskal算法求最小生成树的时间复杂度为(    )。【解答】O(n2),O(elog2e)

查找技术
顺序查找: ASL = O(n) -->n-i+1 次比较折半查找:关键码有序存储,必须采用顺序存储。只能应用于静态查找。ASL = O(log2 n)

二叉排序树
若s-> data 小于 root ->data , 则把结点s插入root的左子树
平衡二叉树1.根节点的左子树和右子数深度最多相差12.根结点的左右子树也都是平衡二叉树

邻接表邻接的是顶点序号最小生成树无环 有向图 序号+权值 kruscal 无环 权值从小到大排序。prime 任意取一顶点 从最小的权值开始寻找连接
最小权值边 无环
排序直接插入 是一个稳定的排序方法时间复杂度是O(n^2)
希尔排序 是一个不稳定的排序方法时间复杂度是O(n^1.3)
起泡排序是一种稳定的排序方法时间复杂度为O(n)~O(n^2)
快速排序是一种不稳定的排序方式时间复杂度平均O(log n)~O (n^2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  h