图论算法----最短路径Floyed算法和Dijkstra算法详解
摘要:一、题目描述最短路径问题(floyed.cpp & dijkstra.cpp)题目描述平面上有n个点(n#include#include#include#includeusing namespace std;do...
阅读全文
并查集算法----犯罪团伙(黑科技)
摘要:一、题目描述犯罪团伙(gang.cpp)题目描述 警察抓到了n个罪犯,警察根据经验知道他们属于不同的犯罪团伙,却不能判断有多少个团伙,但通过警察的审讯,知道其中的一些罪犯之间相互认识,已知同一犯罪团伙的成员之间直...
阅读全文
数据结构----链表----单向链表排序
摘要:一、题目描述单向链表排序(link-sort.cpp)题目描述输入N个不下降的整数,有一个整数X,把X插入到N个数中,使N+1个数仍然是不下降序列。输入第1行:整数N第2行:N个空格分开的整数,以不降序排列。第3...
阅读全文
图论算法---- 一笔画问题(欧拉路)
摘要:一、题目描述题目描述对给定的一个无向图,判断能否一笔画出。若能,输出一笔画的先后顺序,否则输出“No Solution!”所谓一笔画出,即每条边仅走一次,每个顶点可以多次经过。输出字典序最小的一笔画顺序。输入第1...
阅读全文
动态规划----背包问题(上)
摘要:一、01背包问题1、概念有N件物品和一个容量为V的背包。第i件物品的重量(即费用)为w[i],价值为c[i]。求解将哪些物品装入背包可以使这些物品的重量不超过背包的容积,且使价值总和最大。01背包问题容易和贪心背...
阅读全文
数据结构----堆----合并果子
摘要:一、题目描述合并果子(fruit)题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。 多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两...
阅读全文
数据结构----二叉树----建立与遍历
摘要:一、题目描述二叉树的建立与遍历(binary-tree)题目描述给出一棵二叉树,分别输出先序、中序、后序遍历结果。输入第1行:结点数n(1<=n<=100)以下若干行,每行3个整数,分别表示父结点、左孩子、右孩子...
阅读全文