关闭
当前搜索:

算法笔记 //14_数字三角形问题

一、问题描述二、思考设 d( i , j ) 表示数字三角形中的第 i 行第 j 个点。 设 max[i][j] 表示第 i 行 第 j 个数字到低端的最佳路径之和,则原问题的解就是 max[1][1] 的值了。 从 d( i , j ) 这个点向下走,显然只能走 d( i +1, j ) 和 d( i+1 , j+1 ) 这两个点。 而 max[i][j] 的最优值为 d( i , j )...
阅读(19) 评论(0)

算法笔记 //13_矩阵连乘问题

一、问题描述给定 n 个矩阵:A1,A2,…,An,其中 Ai 与 Ai+1 是可乘的(也就是说Aiy=Ai+1x),i=1,2,…,n-1。确定计算矩阵连乘积的次序,使得依照此次序来计算矩阵连乘积所需要的数乘次数最少(输入数据为矩阵个数和每个矩阵规模,输出结果为计算矩阵连乘积的计算次序和最少数乘次数)。 如下例子: 矩阵连乘积 A1A2A3A4 有 5 种不同的完全加括号的方式:(A1(A2(...
阅读(36) 评论(0)

算法笔记 //12_最长公共子序列问题(动态规划算法)

一、问题描述: 最长公共子序列问题: 给定两个序列 X = {x1, x2,x3,....,xm} 和 Y = {y1,y2,y3,....,yn} ,找出 X 和 Y 的最长公共子序列。 二、动态规划算法思想: 求解LCS问题,不能使用暴力搜索方法。一个长度为n的序列拥有 2的n次方个子序列,它的时间复杂度是指数阶,太恐怖了。解决LCS问题,需要借助动态规划的思想。 动态规划算法...
阅读(33) 评论(0)

算法笔记 //11_旅行售货员问题

问题重述: 售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。 路线是一个带权图。图中各边的费用(权)为正数。图的一条周游路线是包括V中的每个顶点在内的一条回路。周游路线的费用是这条路线上所有边的费用之和。 旅行售货员问题的解空间可以组织成一棵树,从树的根结点到任一叶结点的路径定义了...
阅读(168) 评论(0)

算法笔记 //10_删数问题

问题描述 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成一个新的正整数。 对于给定的n和k,设计一个算法,找出剩下数字组成的新数最少的删数方案。 输入示例:178543 4 输出:13 算法思想 用贪心算法解决。按照高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字;否则删除第一个递减区间的首字符,然后回到串首,再重复删除。 C+...
阅读(88) 评论(0)

算法笔记 //09_最优服务次序问题

问题描述 设有 n 个顾客同时等待一项服务。顾客 i 需要的服务时间为 ni,1≤ti≤n。应如何安排 n 个顾客的服务次序才能使平均等待时间达到最小? 平均等待时间是 n 个顾客等待服务时间的总和除以 n 。 编程任务:对于给定的 n 个顾客需要的服务时间,编程计算最优服务次序。 算法思想1. 使等待时间最短,肯定是优先服务办理业务所需时间单位最短的; 2. 将所有的顾客的服务时间...
阅读(90) 评论(0)

算法笔记 //08_最优合并问题

★问题描述: 给定 k 个排好序的序列 s1,s2,...,sk,用 2 路合并算法将这 k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为 m 和 n 的序列需要 m + n - 1 次比较。 试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。...
阅读(163) 评论(0)

C++ 提示 C4996 编译错误

在运行程序时,可能会出现如下图提示:两种解决方法: 在出现报错的cpp文件的文件头加上 #pragma warning(disable : 4996) (但是注意:该语句只对当前文件生效,并非对整个工程) 项目——>属性——>配置属性——>C/C++——>预处理器,在预处理器定义中加上 _CRT_SECURE_NO_WARNINGS,多个属性间以英文状态下的分号分隔,如下图 : (注意:该项设...
阅读(118) 评论(0)

算法笔记 //07_整数因子分解问题

**★问题描述:// 大于 1 的正整数 n 可以分解为:n = x1 * x2 * … * xm // 例如:当 n = 12 时,共有 8 种不同的分解式: // 12 = 12; 12 = 6 * 2; 12 = 4 * 3; 12 = 3 * 4; 12 = 3 * 2 * 2; // 12 = 2 * 6; 12 = 2 * 3 * 2; 12 = 2 * 2 * 3。 /...
阅读(167) 评论(0)

算法笔记 //06_集合划分问题

★问题描述n个元素的集合{1,2,……, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下: ★编程任务给定正整数n,计算出n个元素的集合 {1,2,……, n } 可以划分为多少个不同的非空子集。 **★算法思想//有 n 个元素的集合,在每次对其进行划分时,都可以划分成由 m 个子集构成的子集,并且易知:1 <= m <= n;...
阅读(143) 评论(0)
25条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:2902次
    • 积分:223
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:6篇
    • 译文:1篇
    • 评论:0条