文章分类 -  数据结构与算法

1 2 3 4 5 ··· 20 下一页
摘要:动态规划算法似乎是一种很高深莫测的算法,你会在一些面试或算法书籍的高级技巧部分看到相关内容,什么状态转移方程,重叠子问题,最优子结构等高大上的词汇也可能让你望而却步。 而且,当你去看用动态规划解决某个问题的代码时,你会觉得这样解决问题竟然如此巧妙,但却难以理解,你可能惊讶于人家是怎么想到这种解法的。 阅读全文
posted @ 2019-09-01 13:16 天涯海角路 阅读(659) 评论(0) 推荐(0) 编辑
摘要:/* c7-4.h 无向图的邻接多重表存储表示 */ #define MAX_VERTEX_NUM 20 typedef enum{unvisited,visited}VisitIf; typedef struct EBox { VisitIf mark; /* 访问标记 */ int ivex,j 阅读全文
posted @ 2019-08-09 20:51 天涯海角路 阅读(185) 评论(0) 推荐(0) 编辑
摘要:邻接多重表的实现。这次研讨确实有难度,除了实现这个还要完成最小生成树。直接上代码吧。边节点Arc.h #ifndef ARC_H #define ARC_H #ifndef NULL #define NULL 0 #endif struct Arc { bool tag; int weight; i 阅读全文
posted @ 2019-08-09 20:50 天涯海角路 阅读(467) 评论(0) 推荐(0) 编辑
摘要:图的邻接多重表 是 无向图的 另一种表示法。其与 邻接表 的差别 仅仅 在于 ,邻接表 用 两个 顶点 来表示 一条边,而 邻接多重表 用一个 顶点来表示一条边。这样使得 邻接多重表 在 某些操作 要 来的 方便。例如 将 搜索过的边 做记号 或者 删除 一条边。下面是邻接多重表的结构:下面的 6条 阅读全文
posted @ 2019-08-09 20:50 天涯海角路 阅读(640) 评论(0) 推荐(0) 编辑
摘要:文字描述 邻接多重表是无向图的另一种链式存储结构. 虽然邻接表是无向图的一种很有效的存储结构,在邻接表中容易求得顶点和边的各种信息. 但是,在邻接表中每一条边(vi,vj)有两个结点,分别在第i个和第j个链表中,这给某些图的操作带来不便。如对已被搜索过的边作记号或删除一条边等,此时需要找到表示同一条 阅读全文
posted @ 2019-08-09 20:48 天涯海角路 阅读(783) 评论(0) 推荐(0) 编辑
摘要:前面讲过,无向图的存储可以使用邻接表,但在实际使用时,如果想对图中某顶点进行实操(修改或删除),由于邻接表中存储该顶点的节点有两个,因此需要操作两个节点。 为了提高在无向图中操作顶点的效率,本节学习一种新的适用于存储无向图的方法——邻接多重表。 注意,邻接多重表仅适用于存储无向图或无向网。 邻接多重 阅读全文
posted @ 2019-08-09 20:46 天涯海角路 阅读(653) 评论(0) 推荐(0) 编辑
摘要:1.引言: 若要删除左边的(V0,V2)这条边,需要对图下表的阴影两个结点进行删除操作。 2.邻接多重表的存储结构: iVex和jVex:是与某条边依附的两个顶点在顶点表中的下标。 iLink:指向依附顶点iVex的下一条边。 jLink:指向依附顶点jVex的下一条边。 3.邻接多重表示意图绘制: 阅读全文
posted @ 2019-08-09 20:46 天涯海角路 阅读(142) 评论(0) 推荐(0) 编辑
摘要:上篇博客讲到,图状结构是非常复杂的结构,图也是非常复杂的,所以图的存储就是一个非常重要的部分,因为我们不仅要表示顶点集,还要表示边集,如何完整准确的表示图呢,接下来,给大家讲解四种图的存储方式。一、邻接矩阵法1、定义我们用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵 阅读全文
posted @ 2019-08-07 23:45 天涯海角路 阅读(1082) 评论(0) 推荐(0) 编辑
摘要:邻接表固然优秀,但也有不足,例如对有向图的处理上,有时候需要再建立一个逆邻接表~ 那我们思考了:有没有可能把邻接表和逆邻接表结合起来呢? 答案是肯定的,这就是我们现在要谈的十字链表(Orthogonal List) 为此我们重新定义顶点表结点结构: 接着重新定义边表结点结构 十字链表的好处就是因为把 阅读全文
posted @ 2019-08-07 23:43 天涯海角路 阅读(311) 评论(0) 推荐(0) 编辑
摘要:邻接多重表(Adjacency Multilist)主要用于存储无向图。因为,如果用邻接表存储无向图,每条边的两个边结点分别在以该边 所依附的两个顶点为头结点的链表中,这给图的某些操作带来不便。例如,对已访问过的边做标记,或者要删除图中某一条边等, 都需要找到表示同一条边的两个结点。因此,在进行这一 阅读全文
posted @ 2019-08-07 23:42 天涯海角路 阅读(248) 评论(0) 推荐(0) 编辑
摘要:图(Graph)结构是一种非线性的数据结构,图在实际生活中有很多例子,比如交通运输网,地铁网络,社交网络,计算机中的状态执行(自动机)等等都可以抽象成图结构。图结构比树结构复杂的非线性结构。 图结构构成 1.顶点(vertex):图中的数据元素,如图一。 2.边(edge):图中连接这些顶点的线,如 阅读全文
posted @ 2019-08-07 22:04 天涯海角路 阅读(397) 评论(0) 推荐(0) 编辑
摘要:树,森林与二叉树的转换: 树转换为二叉树: 1;加线:在所有兄弟结点之间加一条连线 2;去线:对树中每个结点,只保留它与第一个孩子结点的连线,删除它与其他孩子结点之间的连线。 3;层次调整;以树的根结点为轴心,将整棵树顺时针旋转一定的角度,使之结构层次分明。(第一个孩子是二叉树结点的左孩子,兄弟转换 阅读全文
posted @ 2019-08-07 20:45 天涯海角路 阅读(442) 评论(0) 推荐(0) 编辑
摘要:树和森林的遍历一、树的遍历树的结构是一个根加上森林,而森林又是树的集合,由此我们可以引出树的两种遍历方式(这两种遍历方式本身也是一种递归定义)。1、先根(先序)遍历:即先访问树的根结点,然后依次先根遍历根的每棵子树2、后根(后序)遍历:即先依次后根遍历根的每棵子树,然后访问根结点3、另外还有一种层序 阅读全文
posted @ 2019-08-07 20:43 天涯海角路 阅读(274) 评论(0) 推荐(0) 编辑
摘要:树和森林的遍历@(数据结构)不要带着二叉树的遍历来限制了对树的遍历的理解。树的遍历的定义:以某种方式访问树中的每一个结点,且仅访问一次。树的遍历主要有先根遍历和后根遍历。 先根遍历:若树非空,则先访问根结点,再按照从左到右的顺序遍历根结点的每一棵子树。这个访问顺序与这棵树对应的二叉树的先序遍历顺序相 阅读全文
posted @ 2019-08-07 20:42 天涯海角路 阅读(570) 评论(0) 推荐(0) 编辑
摘要:说明:本文内容和图片来自课件内容 !!! 一、树的三种存储结构 1. 双亲表示法 2. 孩子链表表示法 3. 树的二叉链表(孩子-兄弟)存储表示法 二、树与二叉树的转换 1. 树转换为二叉树 树转换为二叉树的步骤: 加线:在兄弟结点之间加一连线; 抹线:对任何结点,除了其最左的孩子 外,抹掉该结点原 阅读全文
posted @ 2019-08-07 20:42 天涯海角路 阅读(830) 评论(0) 推荐(0) 编辑
摘要:树的存储结构 双亲表示法 孩子表示法: (a)多重链表(链表中每个指针指向一棵子树的根结点); (b)把每个跟结点的孩子结点排列起来,看成一个线性表,且以单链表做存储结构.且N个头指针也组成一个线性表. 孩子兄弟表示法://二叉树表示法或二叉链表表示法 以二叉链表做树的存储结构,链表中结点的两个链域 阅读全文
posted @ 2019-08-07 20:41 天涯海角路 阅读(227) 评论(0) 推荐(0) 编辑
摘要:一、树的遍历 1、先根(次序)遍历树 先访问树的根节点,然后依次先根遍历根的每棵子树 2、后根(次序)遍历 先依次后根遍历每棵子树,然后访问根结点。 上面的先根遍历为:A B C D E 上面的后根遍历为:B D C E A 二、森林的遍历 1、先序遍历森林 若森林非空,则可按照下述规则遍历之: ( 阅读全文
posted @ 2019-08-07 20:40 天涯海角路 阅读(395) 评论(0) 推荐(0) 编辑
摘要:树的递归定义 树是n(n>0)个结点的有限集,这个集合满足下面条件: ⑴有且仅有一个结点没有前驱(父亲结点)。该结点称为树的根。 ⑵除根外,其余的每一个结点都有且仅有一个前驱; ⑶除根外,每个结点都通过唯一的路径连到根上(否则有环)。 这条路径由根開始,而未端就在该结点上,且除根以外,路径上的每个结 阅读全文
posted @ 2019-08-07 20:36 天涯海角路 阅读(715) 评论(0) 推荐(0) 编辑
摘要:一、树的遍历1、先根遍历先访问树的根结点,然后再依次先根遍历根的每棵子树2、后根遍历先依次遍历每棵子树,然后再访问根结点二、森林的遍历1、前序遍历按照树的先根遍历依次访问森林的每一棵树2、后序遍历按照树的后根遍历依次访问森林的每一棵树 三、树,森林,二叉树遍历的关系这里的二叉树是由树或森林转换而得的 阅读全文
posted @ 2019-08-07 20:24 天涯海角路 阅读(174) 评论(0) 推荐(0) 编辑
摘要:转自http://blog.csdn.net/xin917480852/article/details/50503501 目录(?)[+] 前言 树转换成二叉树 森林转换成二叉树 二叉树转换成树 二叉树转换成森林 目录(?)[+] 前言: 在树这一块的数据结构中最重要的就是二叉树,但是对于我们大部分 阅读全文
posted @ 2019-08-07 20:23 天涯海角路 阅读(873) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 20 下一页
点击右上角即可分享
微信分享提示