博客专栏  >  编程语言   >  数据结构

数据结构

常用数据结构解析

关注
2 已关注
18篇博文
  • 判断一棵树是不是二叉搜索树

    背景:LeetCode - 98. Validate Binary Search Tree 方法: 我们先要看看二叉搜索树的定义,根节点的值要大于左子树的任意节点的值,小于右子树任意节点的值,而且...

    2017-04-28 21:20
    181
  • 用链表实现大整数加法

    背景:LeetCode - 2. Add Two Numbers描述: 给你两个不为空的链表,而且链表中的数字是反序的,现在要你求出这两个链表所代表的数字的和,同样用链表表示。 链表的定义: //...

    2017-04-25 15:25
    573
  • EK算法

    EK原理EK算法是求网络流最大流的算法。也称为寻找增广路算法,每次寻找一条增广路,求出这条路上最小的容量(木板原理),然后累加起来,直到最后找不到一条增广路为止。注意,在找到最小容量的时候,前向边要减...

    2016-07-28 09:39
    195
  • 次小生成树

    Description: 次小生成树是次于最小生成树的一个生成树,也就是说存在一种大于且仅仅大于最小生成树的一种连接所有点的方式来连通一个图。 Solution: 我们知道,次小生成树可以由图中不属...

    2016-03-29 11:20
    203
  • DINIC算法

    DINIC原理 DINIC算法和EK算法原理其实是一样的,都是寻找增广路,但是在实现的细节上不同,首先,用bfs对顶点进行层次编号,当汇点不在层次图中的时候算法结束;其次,用dfs寻找增广...

    2016-07-28 10:36
    171
  • MCMF算法

    最小费用最大流算法: 以费用作为权值,求出最小费用链,然后在这条链上求得一个最小流量,直到找不到费用链。求最小费用链也就相当于求src−>dessrc->des的最短路径。使用spfa+EKspf...

    2016-08-04 15:34
    294
  • 最小环

    算法: 在一个图中求出一个路径长度最小的环。首先,我们可以想到迪杰斯特拉算法,计算出dis[src,i]dis[src,i]+map[i][src]map[i][src],然后维护一个最大值就好了...

    2016-08-08 09:52
    183
  • 平衡二叉树_AVLTree

    DataStruct :   平衡二叉树的出现是为了解决类似用序列{1,2,3,4,……}\{1,2,3,4,……\}来构造二叉排序树而出现的树高过高,树高过高会导致查询的时间变大。最理想的二叉排...

    2016-11-06 17:33
    223
  • 求无向图中的三元环个数

    无向图是个稀疏图,点数n<105n<10^5, 边数m<min(105,n∗(n−1)2)m<min(10^5, \frac{n*(n - 1)}{2}).现在给出n,m,E(边的集合)n, m,E(...

    2017-04-16 14:36
    1008
  • 单链表逆转

    本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode; stru...

    2017-04-12 15:30
    149
  • 顺序表操作集

    本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L,...

    2017-04-12 16:00
    180
  • 求链式表的表长

    本题要求实现一个函数,求链式表的表长。函数接口定义:int Length( List L );其中List结构定义如下:typedef struct LNode *PtrToLNode; struct...

    2017-04-12 16:07
    174
  • 链式表的按序号查找

    本题要求实现一个函数,找到并返回链式表的第K个元素。函数接口定义:ElementType FindKth( List L, int K );其中List结构定义如下:typedef struct LN...

    2017-04-12 16:20
    104
  • 链式表操作集

    本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X ); List Insert( List L, ElementType X, Pos...

    2017-04-12 17:13
    128
  • 带头结点的链式表操作集

    本题要求实现带头结点的链式表操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( Lis...

    2017-04-12 17:28
    182
  • 在一个数组中实现两个堆栈

    本题要求在一个数组中实现两个堆栈。函数接口定义:Stack CreateStack( int MaxSize ); bool Push( Stack S, ElementType X, int Tag...

    2017-04-13 00:22
    115
  • 求二叉树高度

    本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position; type...

    2017-04-13 00:28
    203
  • 二叉树的遍历

    本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT ); void PreorderTraversal( BinTree BT ); voi...

    2017-04-13 00:48
    178

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部