• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






天生自然

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  吴裕雄--天生自然数据结构与算法

1 2 3 下一页

 
吴裕雄--天生自然数据结构学习笔记:AOE网求关键路径详解
摘要:AOE 网是在 AOV 网的基础上,其中每一个边都具有各自的权值,是一个有向无环网。其中权值表示活动持续的时间。 如图 1 所示就是一个 AOE 网,例如 a1=6 表示完成 a1 活动完成需要 6 天;AOE 网中每个顶点表示在它之前的活动已经完成,可以开始后边的活动,例如 V5 表示 a4 和 阅读全文
posted @ 2020-05-30 11:43 吴裕雄 阅读(1279) 评论(0) 推荐(1)
吴裕雄--天生自然数据结构学习笔记:重连通图及重连通分量
摘要:在无向图中,如果任意两个顶点之间含有不止一条通路,这个图就被称为重连通图。在重连通图中,在删除某个顶点及该顶点相关的边后,图中各顶点之间的连通性也不会被破坏。 在一个无向图中,如果删除某个顶点及其相关联的边后,原来的图被分割为两个及以上的连通分量,则称该顶点为无向图中的一个关节点(或者“割点”)。 阅读全文
posted @ 2020-05-30 11:39 吴裕雄 阅读(531) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:深度优先生成树和广度优先生成树
摘要:其实在对无向图进行遍历的时候,遍历过程中所经历过的图中的顶点和边的组合,就是图的生成树或者生成森林。 非连通图的生成森林 非连通图在进行遍历时,实则是对非连通图中每个连通分量分别进行遍历,在遍历过程经过的每个顶点和边,就构成了每个连通分量的生成树。 非连通图中,多个连通分量构成的多个生成树为非连通图 阅读全文
posted @ 2020-05-16 17:53 吴裕雄 阅读(648) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:深度优先搜索(DFS、深搜)和广度优先搜索(BFS、广搜)
摘要:#include <stdio.h> #define MAX_VERtEX_NUM 20 //顶点的最大个数 #define VRType int //表示顶点之间的关系的变量类型 #define InfoType char //存储弧或者边额外信息的指针变量类型 #define VertexTyp 阅读全文
posted @ 2020-05-16 17:45 吴裕雄 阅读(281) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:图的邻接多重表存储结构
摘要:为了提高在无向图中操作顶点的效率,本节学习一种新的适用于存储无向图的方法——邻接多重表。 注意,邻接多重表仅适用于存储无向图或无向网。 邻接多重表存储无向图的方式,可看作是邻接表和十字链表的结合。同邻接表和十字链表存储图的方法相同,都是独自为图中各顶点建立一张链表,存储各顶点的节点作为各链表的首元节 阅读全文
posted @ 2020-05-16 17:40 吴裕雄 阅读(224) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:图的十字链表存储结构
摘要:与邻接表不同,十字链表法仅适用于存储有向图和有向网。不仅如此,十字链表法还改善了邻接表计算图中顶点入度的问题。 十字链表存储有向图(网)的方式与邻接表有一些相同,都以图(网)中各顶点为首元节点建立多条链表,同时为了便于管理,还将所有链表的首元节点存储到同一数组(或链表)中。 其中,建立个各个链表中用 阅读全文
posted @ 2020-05-16 17:38 吴裕雄 阅读(403) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:图的邻接表存储结构详解
摘要:通常,图更多的是采用链表存储,具体的存储方法有 3 种,分别是邻接表、邻接多重表和十字链表。 本节先讲解图的邻接表存储法。邻接表既适用于存储无向图,也适用于存储有向图。 在具体讲解邻接表存储图的实现方法之前,先普及一个"邻接点"的概念。在图中,如果两个点相互连通,即通过其中一个顶点,可直接找到另一个 阅读全文
posted @ 2020-05-16 17:35 吴裕雄 阅读(555) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:图的顺序存储结构
摘要:使用图结构表示的数据元素之间虽然具有“多对多”的关系,但是同样可以采用顺序存储,也就是使用数组有效地存储图。 使用数组存储图时,需要使用两个数组,一个数组存放图中顶点本身的数据(一维数组),另外一个数组用于存储各顶点之间的关系(二维数组)。 存储图中各顶点本身数据,使用一维数组就足够了;存储顶点之间 阅读全文
posted @ 2020-05-16 17:31 吴裕雄 阅读(310) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:什么是生成树,生成树(生成森林)详解
摘要:对连通图进行遍历,过程中所经过的边和顶点的组合可看做是一棵普通树,通常称为生成树。 如图 1 所示,图 1a) 是一张连通图,图 1b) 是其对应的 2 种生成树。 连通图中,由于任意两顶点之间可能含有多条通路,遍历连通图的方式有多种,往往一张连通图可能有多种不同的生成树与之对应。 连通图中的生成树 阅读全文
posted @ 2020-05-16 17:26 吴裕雄 阅读(749) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:什么是连通图-(强)连通图详解
摘要:图中从一个顶点到达另一顶点,若存在至少一条路径,则称这两个顶点是连通着的。例如图 1 中,虽然 V1 和 V3 没有直接关联,但从 V1 到 V3 存在两条路径,分别是 V1-V2-V3 和 V1-V4-V3,因此称 V1 和 V3 之间是连通的。 无向图中,如果任意两个顶点之间都能够连通,则称此无 阅读全文
posted @ 2020-05-16 17:22 吴裕雄 阅读(908) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构学习笔记:数据结构的图存储结构
摘要:数据之间的关系有 3 种,分别是 "一对一"、"一对多" 和 "多对多",前两种关系的数据可分别用线性表和树结构存储,存储具有"多对多"逻辑关系数据的结构——图存储结构。 图 1 所示为存储 V1、V2、V3、V4 的图结构,从图中可以清楚的看出数据之间具有的"多对多"关系。例如,V1 与 V4 和 阅读全文
posted @ 2020-05-16 17:17 吴裕雄 阅读(240) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:广义表的复制
摘要:复制一个广义表,也是不断的复制表头和表尾的过程。如果表头或者表尾同样是一个广义表,依旧复制其表头和表尾。 所以,复制广义表的过程,其实就是不断的递归,复制广义表中表头和表尾的过程。 递归的出口有两个: 如果当前遍历的数据元素为空表,则直接返回空表。 如果当前遍历的数据元素为该表的一个原子,那么直接复 阅读全文
posted @ 2020-01-24 18:39 吴裕雄 阅读(251) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:广义表的存储结构
摘要:使用顺序表实现广义表结构,不仅需要操作 n 维数组(例如 {1,{2,{3,4}}} 就需要使用三维数组存储),还会造成存储空间的浪费。 使用链表存储广义表,首先需要确定链表中节点的结构。由于广义表中可同时存储原子和子表两种形式的数据,因此链表节点的结构也有两种 表示原子的节点由两部分构成,分别是 阅读全文
posted @ 2020-01-24 18:37 吴裕雄 阅读(496) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:广义表
摘要:对于存储 {1,{1,2,3}} 这样的数据,更适合用广义表结构来存储。 广义表,又称列表,也是一种线性存储结构。同数组类似,广义表中既可以存储不可再分的元素,也可以存储广义表,记作: LS = (a1,a2,…,an) 其中,LS 代表广义表的名称,an 表示广义表存储的数据。广义表中每个 ai 阅读全文
posted @ 2020-01-24 18:31 吴裕雄 阅读(220) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:链式队列及基本操作
摘要:链式队列,简称"链队列",即使用链表实现的队列存储结构。 链式队列的实现思想同顺序队列类似,只需创建两个指针(命名为 top 和 rear)分别指向链表中队列的队头元素和队尾元素 //链表中的节点结构 typedef struct QNode{ int data; struct QNode * ne 阅读全文
posted @ 2020-01-24 16:04 吴裕雄 阅读(342) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:顺序队列
摘要:顺序队列,即采用顺序表模拟实现的队列结构。 队列具有以下两个特点: 数据从队列的一端进,另一端出; 数据的入队和出队遵循"先进先出"的原则; 由于顺序队列的底层使用的是数组,因此需预先申请一块足够大的内存空间初始化顺序队列。除此之外,为了满足顺序队列中数据从队尾进,队头出且先进先出的要求,我们还需要 阅读全文
posted @ 2020-01-24 15:59 吴裕雄 阅读(170) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:队列存储结构
摘要:队列,和栈一样,也是一种对数据的"存"和"取"有严格要求的线性存储结构。 与栈结构不同的是,队列的两端都"开口",要求数据只能从一端进,从另一端出 通常,称进数据的一端为 "队尾",出数据的一端为 "队头",数据元素进队列的过程称为 "入队",出队列的过程称为 "出队"。 栈和队列不要混淆,栈结构是 阅读全文
posted @ 2020-01-24 15:54 吴裕雄 阅读(164) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:链栈及基本操作
摘要:链栈,即用链表实现栈存储结构。 链栈的实现思路同顺序栈类似,顺序栈是将数顺序表(数组)的一端作为栈底,另一端为栈顶;链栈也如此,通常我们将链表的头部作为栈顶,尾部作为栈底。 将链表头部作为栈顶的一端,可以避免在实现数据 "入栈" 和 "出栈" 操作时做大量遍历链表的耗时操作。 链表的头部作为栈顶,意 阅读全文
posted @ 2020-01-24 15:50 吴裕雄 阅读(191) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:顺序栈及基本操作
摘要:顺序栈,即用顺序表实现栈存储结构 在顺序表中设定一个实时指向栈顶元素的变量(一般命名为 top),top 初始值为 -1,表示栈中没有存储任何数据元素,及栈是"空栈"。一旦有数据元素进栈,则 top 就做 +1 操作;反之,如果数据元素出栈,top 就做 -1 操作。 //元素elem进栈,a为数组 阅读全文
posted @ 2020-01-24 15:47 吴裕雄 阅读(187) 评论(0) 推荐(0)
吴裕雄--天生自然数据结构:栈存储结构
摘要:同顺序表和链表一样,栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构 栈存储结构与之前所学的线性存储结构有所差异,这缘于栈对数据 "存" 和 "取" 的过程有特殊的要求: 栈只能从表的一端存取数据,另一端是封闭的 在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素 阅读全文
posted @ 2020-01-24 15:43 吴裕雄 阅读(154) 评论(0) 推荐(0)
 

1 2 3 下一页