菜鸟笔记
提升您的技术认知

算法笔记-ag真人游戏

关键路径

菜鸟阅读 : 91

aoe网:在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,用边上的权值表示活动的持续时间,这种有向图的边表示活动的网,我们称之为aoe网(activity on edge network)。 如下图所示: aov网与aoe网...

最短路径(迪杰斯特拉算法)

菜鸟阅读 : 91

例如,要求下图v0到v8的最短路径 所以我们可以找到这样的一条最短路径 下面是他的邻接矩阵: 伪代码如下: #define maxvex 9 #define infinity 65535 typedef int patharc[maxvex...

最短路径(弗洛伊德算法)

菜鸟阅读 : 73

迪杰特斯拉算法求的是一个顶点到所有顶点的最短路径,但弗洛伊德算法是求所有顶点到所有顶点的最短路径。 首先,来看下面这个简单的图: 我们把他的邻接矩阵和初始化的p做出来,如下图所示: 代码如下: #define maxvex 9 #defin...

树、森林、二叉树的转换

菜鸟阅读 : 444

树转换成二叉树: 1.在树中所有的兄弟结点之间加一连线。 2.对每个结点,除了保留与其长子的连线外,去掉该结点的其他孩子连线。 如下图所示: 下面是森林转化二叉树: 1.先将森林中的每棵树变为二叉树。 2.再将各二叉树的根结点视为兄弟从左至...

平衡二叉树的实现原理

菜鸟阅读 : 58

已经下面的这个数列 则构造的二叉树为: 下面把这个二叉树转为平衡二叉树: 如下图所示: 最后结果如下图:

二叉排序树的删除操作

菜鸟阅读 : 75

先来看这个二叉排序树 下面是讨论删除的情况: 我们知道,如果要删除的叶子结点,则可以直接删除。 但如果删除的不是叶子结点呢? 我们知道这个树的中序遍历如下: 也就是说,比如要删除105,则我们可以把104,或108提上去覆盖掉,这样实现了删...

排列组合数计算公式

菜鸟阅读 : 83

从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 a(n,m)表示。 排列数:从n个中取m个排一下,有n(n-1)(n-2)...(n-m 1)种,即n!/(n-m)! 组合数:从n个...

递归算法(图文详解)

菜鸟阅读 : 317

递归算法 一、算法概述 递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的调用。 二、算法实质 递归算法就是将原问题不断分解为规模缩小的子问题,然后递归调用方法来表示 问题的解。(用同一个方法去解决规模不同的问题)...

递归算法详解

菜鸟阅读 : 185

前言 递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到 google 的 pagerank 算法都能看到,也是面试官很喜欢的考点 最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的...

【c 算法】:反转链表

菜鸟阅读 : 216

方法一:使用栈解决 利用栈 先进后出 的特点,将链表的结点一个个入栈,然后一个个出栈,出栈的链表组成一个新的链表,这样就可以实现链表的反转了。 /* struct listnode { int val; struct listnode *n...

网站地图