(44)王道数据结构-图的基本操作基本操作Adjacent(G, x, y): 判断图G是否存在边<x,y>或(x,y) Neighbors(G, x): 列出图G中与结点x邻接的边 InsertVertex(G, x): 在图中插入顶点x DeleteVertex(G, x): 在图中删除顶点x AddEdge(G, x, y): 若无向边(x,y)或有向边<x,y>不存在,则向图G中添加该边 Remov 2022-08-18 信工核心 #数据结构 #图
(43)王道数据结构-十字链表和邻接多重表十字链表基本概念十字链表是有向图的一种链式存储结构。在十字链表中,对应于有向图中的每条弧有一个结点,对应于每个顶点也有一个结点。 tailvex: 弧尾顶点编号headvex: 弧头顶点编号info: 权值hlink: 弧头相同的下一条弧tlink: 弧尾相同的下一条弧 弧结点中有5个域:尾域(tailvex)和头域(headvex)分别指示弧尾和弧头这两个顶点在图中的位置;链域hlink指向弧头 2022-08-17 信工核心 #数据结构 #图 #十字链表 #邻接多重表
(42)王道数据结构-邻接表法基本概念当一个图为稀疏图时,使用邻接矩阵表示显然要浪费大量的存储空间,而图的邻接表法结合了顺序存储和链式存储方法,大大减少了这种不必要的浪费。 邻接表,是指对图G中的每一个顶点vi建立一个单链表,第 i 个单链表中的结点表示依附于顶点 vi 的边(对于有向图则是以顶点vi为尾的弧),这个单链表就称为顶点vi的边表(对于有向图则称为出边表)。边表的头指针和顶点的数据信息采用顺序存储(成为顶点表),所 2022-08-17 信工核心 #数据结构 #图 #邻接表
(41)王道数据结构-邻接矩阵法基本概念指用一个一维数组存储图中顶点的信息,用一个二维数组存储图中边的信息(即各顶点之间的邻接关系),存储顶点之间邻接关系的二维数组称为邻接矩阵。其中有指向关系用1表示,没有指向关系用0表示 结点数为n的图G=(V, E)的邻接矩阵A是nxn的。将G的顶点编号为v1, v2,…, vn。 A[i][j]={1,若(vi,vj)或<vi,vj>是E(G)的边0,若(vi,vj)或< 2022-08-16 信工核心 #数据结构 #图 #邻接矩阵
(40)王道数据结构-哈夫曼树基本概念路径: 定点Vp到顶点Vq之间的一条路径是指顶点序列,有向图的路径也是有向的。无向图之间可能不存在路径$$V_p,V_{i_1},V_{i_2},…,V_{i_m},V_q$$ 回路: 第一个顶点和最后一个顶点相同的路径称为回路或环 简单路径: 在路径序列中,顶点不重复出现的路径称为简单路径 路径长度: 路径上边的数目 点到点的距离 从顶点u出发到顶点v的最短路径若存在,则此路径长度称为从 2022-08-15 信工核心 #数据结构 #图
使用Vercel优雅的部署Hexo博客简单介绍首先我们看一下官网的介绍:Vercel官网Vercel is the best place to deploy any frontend app. Start by deploying with zero configuration to our global edge network. Scale dynamically to millions of pages without brea 2022-08-15 项目部署 #Vercel #Hexo #博客 #github
(39)王道数据结构-平衡二叉树基本概念平衡二叉树,简称平衡树(AVL树)–树上任一结点的左子树和右子树的高度之差不超过1。 平衡因子: 左树树高-右树树高1.平衡二叉树结点的平衡因子的值只可能是-1、0或12.只要有任一结点的平衡因子绝对值大于1就不是平衡二叉树 代码结构123456//平衡二叉树结点typedef struct AVLNode { int key; //数据域 int ba 2022-08-11 信工核心 #数据结构 #平衡二叉树
(38)王道数据结构-二叉排序树基本概念二叉排序树,又称二叉查找树,一棵二叉树或者是空二叉树,或者是具有如下特质的二叉树 1.左子树上所以的结点的关键字均小于根结点的关键字2.右子树上所有结点的关键字均大于根结点的关键字3.左子树和右子树又各是一棵二叉排序树 左子树结点值 < 根结点值 < 右子树结点值进行中序遍历,可以得到一个递增的有序序列 二叉排序树可用于元素的有序组织、搜索 查找操作1.若树非空,目标值与根结点 2022-08-11 信工核心 #数据结构 #二叉排序树
(37)王道数据结构-树和森林的遍历树的遍历先根遍历先根遍历。若树非空,先访问根结点,再依次对每棵子树进行先根遍历 代码逻辑123456789//树的先根遍历void PreOrder(ThreeNode *R) { if (R != NULL) { visit(R); //访问根结点 while(R还有下一个子树T) { PreOrder(T 2022-08-10 信工核心 #数据结构 #树 #森林
(36)王道数据结构-树的存储结构双亲表示法每个结点中保存指向双亲的指针,采用的是顺序存储 代码结构1234typedef struct { //树结构定义 PTNode nodes[MAX_TREE_SIZE]; //双亲表示 int n; //结点数} 增删结点新增结点新增数据元素,无需按逻辑上的次序存储 删除结点方案一:待删除结点的双亲指针设为-1代表当前结点是空的 方案二 2022-08-09 信工核心 #数据结构 #树