摘要: 1、实践题目 :工作分配问题 2、问题描述: 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表 阅读全文
posted @ 2018-12-23 22:33 Joker灬丶 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 1、你对回溯算法的理解:回溯法可以用来系统地搜索一个问题的所有解或者任一解,它是按照深度优先策略,从根结点出发搜索整颗解空间树。每当算法搜索到解空间树的任何一个结点时,先判断一下该结点是否包含问题的解,如果不包含,就跳过这个结点以及跟着这个结点的子树,逐层往回搜索;如果包含,就按着这棵子树往下搜索。 阅读全文
posted @ 2018-12-23 15:47 Joker灬丶 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目:程序存储问题 2、问题描述:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 阅读全文
posted @ 2018-12-02 10:44 Joker灬丶 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1、对贪心算法的理解: 贪心算法就是通过一系列的选择来得到问题的解,它所做的每一个选择都是当前状态下局部最好选择,这就是贪心选择,但这未必是全局最优解。相比于动态规划算法,贪心选择算法依赖的是以往所做过的选择,但决不依赖于将来所做的选择。 2、汽车加油问题的贪心选择性质: 汽车加油问题的贪心选择在于 阅读全文
posted @ 2018-12-02 10:29 Joker灬丶 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目:数字三角形2、问题描述:给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。3、算法描述:从倒数第二行开始,把该行每一个数的本身加上对应斜线上的最大数,倒数第二行加完后,最后 阅读全文
posted @ 2018-11-04 15:54 Joker灬丶 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1、动态规划算法和分治法类似,它的基本思想也是把问题分成若干个子问题,先求解子问题,再从这些子问题的解得到原问题的解,但不同的是,适合用动态规划解决的问题,经过分解成子问题后,这些子问题往往不是相互独立的,如果只是用分治法来求解,那么话费的时间会很多。而动态规划算法则是可以用一个表来记录已经解决了的 阅读全文
posted @ 2018-10-28 19:14 Joker灬丶 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 实践题目:改写二分搜索算法 问题描述:设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置 算法: 算法描述:该算法只需要在二分搜索算法的基础上,找出当程序没有搜索到要 阅读全文
posted @ 2018-10-14 22:04 Joker灬丶 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 对二分搜索算法的理解:二分搜索算法是利用了元素间的次序关系,采用了分治策略,可以在最坏情况下用O(logn)时间来完成搜索任务。它的基本思想是把n个元素分成个数相同的两半,拿a[n/2]和所搜索的x作比较,如果x就等于a[n/2],就已经找到x,算法结束。而如果x<a[n/2]则只在a的左半部分继续 阅读全文
posted @ 2018-10-12 15:41 Joker灬丶 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 作为计算机算法设计与分析的第一章,书里的内容并不多,主要还是介绍了一下什么叫算法,就是解决问题的一种方法或一个过程。又或者可以说,算法是由若干条指令组成的有穷序列。在介绍了算法之后,从书中又了解了如何去分析一个算法的好坏,主要是分析算法的复杂性,包括时间复杂性以及空间复杂性,不过书里主要还是介绍了对 阅读全文
posted @ 2018-10-12 15:28 Joker灬丶 阅读(93) 评论(0) 推荐(0) 编辑