算法
文章平均质量分 87
真哥沉默思考人生
这个作者很懒,什么都没留下…
展开
-
基于多阶段决策的动态规划算法
在我们的现实生活中,存在着这样的活动过程:一般由初始状态开始,通过对中间阶段决策的选择,达到结束状态。它可以分为几个相互联系的阶段,在每个阶段,我们都需要为其作出决策,从而使总体上得到最优的结果。每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种基于多阶段决策求解最优化问题的过程就称为动态规划。 动态规划与分治法的联系与区别:原创 2014-12-11 17:44:47 · 2834 阅读 · 0 评论 -
动态规划实现最长公共子序列以及最长公共子字符串
求解最长公共子序列和最长公共子字符串,运用动态规划算法能很好地解决。 【最长公共子序列】: 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列 X = { x1,x2,x3,…,xm },则另一序列Y={y1,y2,…,yk},X的子序列是指存在一个严格递增的下标序列 {i1,i2,…,ik} 使得对于所有j = 1,2,3,...,k原创 2014-12-11 22:36:57 · 1307 阅读 · 0 评论 -
C++实现动态规划求解最长公共子序列
原理一样,换一种语言。另外,该代码实现了当有多个最长公共子序列的情况。代码如下://求取所有的最长公共子序列#include using namespace std; const int X = 100, Y = 100; //串的最大长度char result[X+1]; //用于保存结果int count=0;原创 2014-12-12 18:24:32 · 2738 阅读 · 0 评论 -
数据结构之单链表的几个简单算法题
单链表作为最基本的数据结构,在程序设计中有着非常重要的运用。最近自己闲下来,正在整理数据结构和算法的一些程序题,现将自己的代码贴出来与大家分享。如有不对之处,请大家指正。(好吧 ,这么简单的题目应该不会有错,都测试过了。况且说的好像很多人看我博客一样。好久没更,都长草了……就当做写给自己看的吧。:P)package test;import java.util.Hashtable;原创 2016-07-30 20:32:58 · 967 阅读 · 0 评论 -
字符串方面的几道简单算法题
字符串问题,也是笔试面试的重头戏,可以考察很多方面,比如思路,比如基础的算法。温故而知新,今天整理了几道有关字符串的简单算法题,解法如下代码所示。不对之处,欢迎大家批评指正。package CharacterString;import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;imp原创 2016-07-31 17:55:43 · 2896 阅读 · 0 评论 -
数据结构之树的遍历
树是数据结构中非常重要的一个结构,二叉树的遍历也是非常重要的知识。温故而知新,今天来复习下树的遍历方法。 二叉树的遍历分为:前序遍历,中序遍历,后序遍历,以及层序遍历。前序遍历、中序遍历、后序遍历可以分别通过递归方法和非递归方法实现。代码如下:package test;import java.util.Stack;public class BinaryTree {原创 2016-07-31 18:11:59 · 831 阅读 · 0 评论