数据结构复习
文章平均质量分 87
yws_2973199368
这个作者很懒,什么都没留下…
展开
-
数据结构 图
数据结构 图图概念图由顶点集合和边集合构成,其中边可以是有向的,也可以是无向的,但是不存在顶点有直接和自身相连的边(自环),也不存在两个顶点之间的多个同向边。有向边用(u,v)表示,无向边用<u,v>表示。完全图(complete graph):顶点之间两两相连,有向图中边数为n(n-1),无向图中为n(n-1)/2。权(weight):边上的数值,带权图也叫做网络(network)。子图(subgraph):图的顶点的子集由其边的子集构成的图度(degree):与顶点v关联的原创 2021-04-16 13:43:34 · 591 阅读 · 0 评论 -
数据结构 搜索结构
数据结构 搜索结构搜索是指根据根据元素的关键码或者属性,在存储结构中找到元素所处的位置。搜索结构有两种,静态搜索结构形态事先确定,如数组,动态搜索结构形态动态变化,如二叉搜索树。评价搜索结构的性能用搜索成功时的平均搜索长度ASLsuccess衡量,为找到每个元素的比较次数之和的平均值。二分查找给定n个有重复的元素,从小到大排序,搜索元素x在表中首次出现的位置,若x不存在,返回表中首个大于x的元素的位置(即x应插入的位置),或返回**-1**。#include <iostream>#原创 2021-04-12 16:29:34 · 245 阅读 · 0 评论 -
数据结构 集合与字典
数据结构 集合与字典集合集合,即数学上的集合概念。STL setset底层采用红黑树实现,从小到大排序,无重复元素。#include <iostream>#include <set>#include <vector>using namespace std;struct node{ int val; // 重载<运算符 bool operator < (const node &n)const{原创 2021-04-10 09:34:51 · 266 阅读 · 0 评论 -
数据结构 树
数据结构 树树的基本概念**结点的度(degree):**结点拥有的子树的棵数**兄弟结点(sibling):**同一父结点的的子女**祖先结点(ancestor):**从根结点到该结点所经分支上的所有节点**子孙节点(descendant):**某个结点所有的子女及子女的子女及…**树的度(degree):**树中结点度的最大值**有序树(ordered tree):**各子树有次序二叉树二叉树概念书上的概念如下:**满二叉树(full binary tree):**每一层的结原创 2021-04-03 14:46:23 · 115 阅读 · 0 评论 -
数据结构 数组、串与广义表
数据结构 数组、串与广义表多维数组的存储多维数组在内存中是以一维形式储存的。对于n维数组,有以下映射关系:数组a[m1][m2]…[mn]中,元素a[i1][i2]…[in]的内存位置为:a + i1*m2*m3*…*mn + i2*m3*m4*…mn + … + in特殊矩阵的存储对称矩阵的压缩存储对称矩阵以上三角矩阵为例,压缩成一维数组存储,可以节省一半空间,其映射关系如下:上三角矩阵a[m1][m2],元素a[i][j]的对应一维矩阵的元素内存位置为:a + n + n-1 +原创 2021-03-31 19:36:09 · 94 阅读 · 0 评论 -
数据结构 栈与队列
数据结构 栈与队列栈与队列(优先队列、双端队列)是一类特殊的线性表。顺序栈和链式栈栈的存储方式有两种,基于数组和基于链表,分别被称为顺序栈和链式栈。栈与括号匹配括号匹配问题,某个字符串中的三类括号能否匹配,只需将左括号入栈,每次比较当前字符和栈顶字符是否匹配即可。#include <iostream>#include <stack>using namespace std;int main(){ string in; cin>>in;原创 2021-03-27 20:35:11 · 396 阅读 · 0 评论 -
数据结构 线性表
数据结构 线性表线性表是一个每个相邻表项之间都有直接前驱和直接后继的有限序列。线性表有两种储存方式,顺序存储和链式存储,对应的数据结构就是顺序表(数组)和链表。单链表单链表的每个节点都有一个数据域和一个后继节点指针,其中第一个节点不储存数据,称为头结点,目的是使得开始节点和其它节点的各种操作的流程一致。建立两种建立方式,头插法和尾插法。两种均建立在头结点的基础上。头插法将新节点插入在头结点之后,开始节点之前,和输入顺序相反。尾插法将新节点插入在当前的尾结点之后,和输入顺序相同。插入将某个原创 2021-03-26 21:07:21 · 102 阅读 · 0 评论