
算法
jiyang_1
程序员
展开
-
n皇后的拉斯维加斯回溯算法
、拉斯维加斯概念: 拉斯维加斯算法不会得到不正确的解。一旦用拉斯维加斯算法找到一个解,这个解就一定是正确解。但有时用拉斯维加斯算法会找不到解。拉斯维加斯算法找到正确解的概率随着它所用的计算时间的增加而提高。对于所求解的任一实例,用同一拉斯维加斯算法反复对该例求解足够多次,可使求解失效的概率任意小。 通常用一个bool类型的函数表示拉斯维加斯算法,拉斯维加斯算法的典型调用形式原创 2015-11-21 19:33:18 · 5397 阅读 · 2 评论 -
最小权顶点覆盖问题
问题描述:给定一个赋权无向图G=(V,E),每个顶点v∈V都有一个权值w(v)。如果UV,且对任意(u,v)∈E有u∈U或v∈U,就称U为图G的一个顶点覆盖。G的最小权顶点覆盖是指G中所含顶点权之和最小的顶点覆盖。问题解决:用优先队列分支限界方法解最小权顶点覆盖,在算法的搜索的进程中保存当前已构造出的部分解空间树,在算法搜索达到叶节点时,其最优值对应的最优解同时保存下来。优先队列的优先原创 2015-11-21 19:25:23 · 15777 阅读 · 1 评论 -
最优二叉搜索树动态规划
问题描述:最优二叉搜索树问题是对于有序集S及其存取概率或权值(q0,p1,q1,p2,q2,p3,q3),在所有表示有序集S的二叉搜索树中找出一颗具有最小平均路长的二叉搜索树。解决方法:使用动态规划方法自底向上逐步构造最优二叉搜索树。动态规划的两个重要要素是:1、最优子结构。2、重叠子问题。1)所谓最优化子结构是说若问题的一个最优解中包含了子问题的最优解,则该问题具有最原创 2015-11-21 18:42:56 · 3741 阅读 · 0 评论 -
会场安排问题贪心算法
问题描述:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小会场数)。问题解答:、用贪心选择策略解会场安排问题。贪心算法重要的两个性质:贪心选择性质和最优子结构性质。1、 问题的贪心选择性质原创 2015-11-21 19:05:46 · 21976 阅读 · 2 评论 -
凸包问题
一、凸包的概念1.1、点集Q的凸包(convex hull)是一个最小的凸多边形P,满足Q中的每个点,或则在P的边界上或则在P的内部。下图中由红色线段表示的多边形就是点集Q={p0,p1,...p12}的凸包。1.2、解决的算法:分治法、增量式算法、包裹法(Jarvis步进法)、葛立恒(Graham)扫描法、快包法(Akl-Toussaint启发式)等。二、分治法解决策略原创 2015-11-21 17:41:55 · 4126 阅读 · 0 评论 -
排列宝石问题回溯算法
问题描述:现有n种不同形状的宝石,每种n颗,共n*n颗。同一形状的n颗宝石分别具有n种不同的颜色c1,c2,…,cn中的一种颜色。欲将这n*n颗宝石排列成n行n列的一个方阵,使方阵中每一行和每一列的宝石都有n种不同的形状和n种不同颜色。是设计一个算法,计算出对于给定的n,有多少种不同的宝石排列方案。问题解决:用回溯算法解决问题的一般步骤为:step 1、定义一个解空间,原创 2015-11-21 19:16:44 · 6678 阅读 · 3 评论