算法
文章平均质量分 85
Pixel_Pig
坚持,博客地址http://blog.csdn.net/dh626995617
展开
-
地图染色问题(回溯法)
1.问题描述:对图G共分成n个顶点,有m种颜色,现在要对其进行作色,要求相邻的顶点不能染相同的颜色.原创 2015-11-17 21:09:26 · 4467 阅读 · 2 评论 -
二分查找的非递归与递归算法
一.引入:假设一个已经[排好序的数组a[n] ,若要搜索其中某个元素x,一般想到的是逐个查找,倘若x刚好在a[n],则最坏的情况需要n次比较,如若x不在数组a中,则更加得不偿失.二分查找作为一个典型的分支策略,实现了对n个排好序的数组进行折半查找,每次取a[n/2]和x比较,找到则返回下标, 如果a[n/2]>x,由于是排好序的数组,则下一趟直接在0-n/2之间查找,else在a[n/2]原创 2015-12-20 12:54:17 · 930 阅读 · 0 评论 -
n后问题(回溯法)
一.问题描述:在n*n格子上放置n个皇后, 按照国际象棋规矩不可让皇后相互攻击, 即如何两个皇后不放在同一列同一行同一斜线上.二.算法设计:将问题转化为逐行放置皇后,即第一次放第1行,第二次放第2行,依次类推放至第n行皇后则放置完毕,如此每次放置只需考虑皇后的列冲突和斜线冲突.因为每次皇后都在新的一行放置.假设数组 x[i] 表示第i个皇后放的列数,如x[3] = 4; 表示第3个(第原创 2015-12-04 21:36:01 · 3704 阅读 · 0 评论 -
n后问题2.0(拉斯维加斯随机算法)
前言:昨天总结了个传统穷举的回溯法,考虑到由于递归回溯法时间复杂度高,超过12的皇后计算代价太大.如果基数过大,回溯法的优势就不明显了.所以关于该算法的改进还有另一种拉斯维加斯(Las Vegas)算法,结合了随机函数,提高了效率.一.源程序:#include#include#include#includeusing namespace std;class Queen{原创 2015-12-05 21:43:20 · 1277 阅读 · 0 评论 -
分治算法----快速排序
一.算法思想:假设要对某数组进行由小->大排序(1) 分解: 对于乱序数组a[R](存取范围[0->R],有R+1个数),取一个基准元素a[P](一般以第一个数即a[0]为基准),确定某个Partition(位置)Q ,使a[Q]右边的数都大于等于a[P],a[Q]左边的数都小于等于a[P].(2)递归分治:分解之后,数组变成3部分 a[0]-a[Q],a[Q],a[Q+1]-a[R]原创 2015-12-27 21:36:01 · 490 阅读 · 0 评论