![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 60
Hacker_Wind
这个作者很懒,什么都没留下…
展开
-
并查集详解及例题
一、并查集是什么并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。也就是说并查集用于将分散的树结构进行合并或者查询。二、并查集代码并查集主要分为三个过程1、初始化:将每个散点的父节点设为自己本身。void Init(){ for(int i=1;i<=n;i++) { pre[i]=i; }}2、Fi...原创 2018-03-25 16:01:48 · 1666 阅读 · 1 评论 -
最小生成树算法Kruskal详解
一、算法概述最小生成树(Minimum Spanning Tree,MST):或者称为最小代价树Minimum-cost Spanning Tree:对无向连通图的生成树,各边的权值总和称为生成树的权,权最小的生成树称为最小生成树。最小生成树问题其实就是求一棵怎样的树可以遍历每个节点,且总权值最小。本文介绍用Kruskal算法解决最小生成树问题。二、算法步骤1、将连通图看做无边的散点,每个散点即为...原创 2018-03-26 18:03:18 · 868 阅读 · 1 评论 -
希尔排序及例题
一、算法详解希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。一般情况下增量gap=length/2,缩小增量为gap=gap/2。例:8 9 1 7 2 3 5 4 6 0 进行排序1、gap=10/2=5,根据gap值对数组进行分组,则分组数等于gap的数值,所以分为五组,因为增量...原创 2018-04-14 11:32:22 · 8262 阅读 · 0 评论 -
DFS法解决n皇后问题
一、问题介绍八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。二、算法详解n皇后问题的解法有很多...原创 2018-04-12 19:37:10 · 766 阅读 · 0 评论 -
c++实现四舍五入问题
方法一:<cmath>头文件中的round函数,可以直接实现四舍五入。方法二:判断奇偶数。以除以二后得数取整为例。if(n%2==1) row=n/2+1;//n为奇数,上取整 else row=n/2;PATB 1036. 跟奥巴马一起编程(15) 时间限制 400 ms 内存限制 65536 kB ...原创 2018-04-21 14:42:34 · 1388 阅读 · 0 评论 -
C/C++输入带有空格的字符串
#include<iostream> #include<string>using namespace std; int main() { string s; getline(cin,s); cout<<s<<endl; char ch[205]; cin.getline( ch,205 ); cout<<ch&l...原创 2018-05-20 14:41:36 · 348 阅读 · 0 评论 -
codeup 装箱问题
问题 A: 装箱问题时间限制: 1 Sec 内存限制: 128 MB献花: 105 解决: 44[献花][花圈][TK题库]题目描述【问题描述】 有一个箱子的容量为V(V为正整数,且满足0≤V≤20000),同时有n件物品(0的体积值为正整数。 要求从n件物品中,选取若干装入箱内,使箱子的剩余空间最小。 输入:1行整数,第1个数表示箱子的容量,第2个数表示有n件物品,后面n个数分别表示这n件 ...原创 2018-05-08 17:28:00 · 282 阅读 · 0 评论 -
c++哈希表实现全排列问题
#include <iostream>#include <algorithm>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <queue>#include <stack&原创 2018-08-15 14:53:04 · 482 阅读 · 0 评论