二叉搜索树:对于二叉树中的任意节点,左子树中所有的值都小于当前位置的值,右子树中所有的值都大于当前位置的值。 操作: 1.插入一个数值。 2.查询是否包含某个数值。 3.删除某个数值。 插入和查找是差不多的,都是比当前值(要找的值)大就往左走,否则就往右走,直到找到为止。 最复杂的操作是删除某个节点 ...
分类:
其他好文 时间:
2017-11-01 22:54:22
阅读次数:
207
引用来自https://www.renfei.org/blog/bipartite-matching.html 二分图:把一个图G的所有顶点划分为两个不相交集 L 和 R ,使得图G中每一条边都分别连接 L , R 中的顶点。如果存在这样的划分,则此图为一个二分图。 匹配:一个「匹配」(matchi ...
分类:
编程语言 时间:
2017-10-10 21:55:37
阅读次数:
237
题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 输出格式: 共一行,二分图最大匹配 输入输出样例 输入样例#1: 1 1 1 1 1 输出样例#1 ...
分类:
其他好文 时间:
2017-10-03 17:50:16
阅读次数:
146
二叉查找树BST 就是二叉搜索树 二叉排序树。 就是满足 左儿子<父节点<右儿子 的一颗树,插入和查询复杂度最好情况都是logN的,写起来很简单。 根据BST的性质可以很好的解决这些东西 1.查询值 int Search(int k,int x) { if(x<a[k].key && a[k].l) ...
分类:
其他好文 时间:
2017-09-19 22:59:57
阅读次数:
187
P3386 【模板】二分图匹配(复习) 题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 输出格式: 共一行,二分图最大匹配 输入输出样例 输入样例 ...
分类:
其他好文 时间:
2017-08-24 16:11:07
阅读次数:
247
题目链接: http://poj.org/problem?id=3041 Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N gr ...
分类:
其他好文 时间:
2017-08-15 10:08:32
阅读次数:
192
题目描述 题目描述 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 查询k在区间内的排名 查询区间内排名为k的值 修改某一位值上的数值 查询k在区间内的前驱(前驱定义为严格小于x,且最大的数,若不存在输出-2147483647) 查询k在区间内的后继(后 ...
分类:
编程语言 时间:
2017-08-13 12:18:19
阅读次数:
195
1 没有使用模板的栈实现 2 使用模板以后的栈实现 可以其他类型可以自己多敲敲哦 ...
分类:
编程语言 时间:
2017-08-06 20:55:22
阅读次数:
148
二分查找就是指对于一个有序数列,取其中间值,与要查找的值比较,若大于,则舍弃右半部分序列,若小于则舍弃左半部分序列,其复杂度是O(logn)的。二分查找看似简单,但到处都说要想不出错很难。 inline int search(int *arr,int size,int key) { //内联查找函数 ...
分类:
其他好文 时间:
2017-07-31 16:27:03
阅读次数:
126