lfbcsdn博客

专注互联网的菜鸟

排序:
默认
按更新时间
按访问量

分支限界法-优先队列-单源最短路径

算法思想:分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。此后,从活结点...

2018-06-23 11:01:55

阅读数:12

评论数:0

回溯法-子集树-装载问题

问题描述:有一批共n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量是wi,且不能超过轮船总载重量。即Σwi<=c1+c2。若集装箱能全部装载则输出YES, 否则输出为NO,n为0时结束输入。问题模型:解子集空间树。解决思路:首先将第一艘轮船尽可能的装满。然...

2018-06-19 18:57:34

阅读数:13

评论数:0

回溯法-排列树-m图着色问题

代码 :/** @回溯法-m图着色问题 */ #include<iostream> #include<algorithm> #define MAX 100 using namespace std; int...

2018-06-13 22:14:45

阅读数:11

评论数:0

回溯法-排列树-n皇后问题

N皇后问题: 在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。思路:首先要确定皇后间位置合法的检验表达式。((abs(i-k)==abs(x[i]-x[k]))||x[i]==x[k]) //x[i]表示i皇后在第x[i]列;a...

2018-06-10 18:54:24

阅读数:28

评论数:0

回溯法-排列树-旅行商(TSP)问题

题意:有一个推销员,要到n个城市推销商品,他要找出一个包含所有n个城市的具有最短路程的环路。(最后回到原来的城市)示例:从城市1出发经过所有城市后回到城市1,要使总路程最短。 代码:/** @回溯-旅行商(TSP)问题 */ #include<iostream&...

2018-06-09 18:25:13

阅读数:51

评论数:0

回溯算法-子集树-0-1背包问题

0-1背包: 即每种物品只有2 种选择,分别为:装入背包或不装入背包,物品数和背包容量已给定,计算装入背包物品的最大价值和最优装入方案,用回溯法搜索子集树的算法进行求解。对此模型我们刚好建立二叉树( 此处为完全二叉树)。对应的叶子节点数为: n! (n为顶点数)。 解子集树: 约束函数: cw+w...

2018-06-06 16:15:52

阅读数:23

评论数:0

回溯算法-排列树-批处理作业调度

回溯算法:它可以系统的搜索一个问题的所有解或任意解。它的关键点在于处理空间树问题。回溯思想: 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则...

2018-06-05 12:15:10

阅读数:34

评论数:0

贪心算法-磁盘文件最优存储问题

贪心算法通常是对某一值进行排序,然后再采取贪心策略进行求解。此问题贪心角度不同以往。它的排序不是严格单调排列,而是将相应值的分布从中间往两边依次减少排列。题意:设磁盘上有n个文件,f1,f2,…,fn,,每个文件占磁盘上1个磁道。这n个文件的检索概率分别是p1,p2,…,pn,且p1+p2+…+p...

2018-06-02 19:34:41

阅读数:21

评论数:0

贪心算法-磁带最优存储问题

贪心算法通常是对某一值进行排序,然后再采取贪心策略进行求解。此问题贪心角度不同以往,它是对两因素进行综合处理。将它们的乘积进行排序。题意:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是Li, 1<= i<= n。...

2018-06-02 18:20:30

阅读数:45

评论数:0

贪心算法-会场安排问题

贪心算法特征:1:贪心选择性质;2:最优子结构:('动态规划'),具体依情况而定。贪心算法性质:  虽不能对所有问题都能得到整体最优解,但是对于范围较广的许多问题得到其整体最优解。如‘単源最短路径', '最小生成树' 等。贪心算法是对许多整体最优解的近似解。贪心算法思想:从问题的某一个初始解出发逐...

2018-05-29 13:28:18

阅读数:23

评论数:0

动态规划-挖地雷

 /** @挖地雷(动态规划) @author 狂热的coder */ #include<iostream> #include<algorithm> #include<cstd...

2018-05-16 13:15:08

阅读数:19

评论数:0

动态规划-矩阵连乘

动态规划常常用来解决,具有最优子结构,重叠子问题的对象。最优子结构: 即通过分析问题,将问题分解为多个子问题。然后每个子问题继续分解为更多子问题。从底往上求出最有值,由最优值确定最优解。重叠子问题: 在计算过程中不同子问题可能都会计算某个值。若每个子问题都去求解同一个值,浪费时间。动态规规划对每一...

2018-05-15 16:44:24

阅读数:11

评论数:0

c与指针

什么是动态内存的申请和释放?  当程序运行到需要一个动态分配的变量时,必须向系统申请取得堆中的一块所需大小的存储空间,用于存储该变量。当不再使用该变量时,也就是它的生命结束时,要显式释放它所占用的存储空间,这样系统就能对该堆空间进行再次分配,做到重复使用有限的资源。下面将介绍动态内存申请和释放的函...

2018-05-14 11:14:23

阅读数:13

评论数:0

c语言利器-指针

在c&c++里面指针是很重要的,也是较难理解的。指针的用法非常灵活 ,下面通过具体的例子来说说指针的常见的用法。指针介绍:       百度介绍: 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另...

2018-05-12 14:49:23

阅读数:41

评论数:0

单源最短路径的迪克斯特拉(Dijkstra)算法的改进

Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点(节点需为源点)到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,注意该算法要求图中不存在负权边。 实例:假...

2018-05-03 10:28:02

阅读数:25

评论数:0

单链表的逆转

题意:本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L ); 其中List结构定义如下:typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ ...

2018-04-21 17:27:30

阅读数:8

评论数:0

对结构体的灵活运用

题意:计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干...

2018-04-18 21:33:06

阅读数:17

评论数:0

PTA-任务调度的合理性 - 拓扑排序

题意:假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开...

2018-04-12 21:40:22

阅读数:15

评论数:0

分治法-大整数的乘法

分治法的原理       分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。  有两点需要记住:(1) 分治法基本思想是将一个规模为n的问题分解为k个规模较...

2018-04-08 20:44:38

阅读数:7

评论数:0

IDEA建立java应用程序

创建项目让我们创建一个简单的项目。单击Create New Project创建新的项目。打开新建项目向导。你应该注意的主要是项目的SDK。SDK(软件开发套件)是一套软件开发工具,可以让你更快的开发应用程序。IntelliJ IDEA的不包括SDK,所以如果你有没有,下载并安装它。因为我们做一个J...

2018-04-05 18:36:32

阅读数:32

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭