算法分析课程设计(摘要正文)
特殊0-1背包问题摘要算法设计与分析,其实可以解释为一类优化问题,一般针对可以利用计算机解决的离散型问题的优化。主要目的就是为了解决某一问题而提出各种不同的解决方案,并且要针对具体的问题做细致的空间和时间复杂度分析。所有的算法中,应该尽量选取“好”的算法,这里所说的“好”,首先是正确的,其次是所选算法解决问题的效率要尽可能的高。计算机计算时间的长短以及所用空间的大小,跟算法有直接关系,用来衡量算法好坏的两个重要标准就是就是时间和空间复杂度,所以提出好的解决方案,其算法是重中之重。针对0-1背包问题,解决方案有很多种,并且各种解决方案都有其自己的有点和缺点,其中比较重要的有分支限界法、动态规划法、贪心法、回溯法、分治策略等,本论文将利用分支限界法来解决0-1背包问题,并分析该算法的时间和空间复杂度,以及与另外一些算法的简单比较。关键字:计算机;分支限界法;0-1背包问题;复杂度分析SPECIAL 0-1 KNAPSACK PROBLEMABSTRACTAlgorithm Design and Analysis, in fact, can be interpreted as a kind of optimization problem, the general optimization that can utilize the computer to solve discrete problems. The main purpose is to put forward a variety of different solutions in order to solve a problem, and to address specific issues detailed space and time complexity analysis. All algorithms, should try to select a "good" algorithm, used herein, "Good", the first is correct, followed by the efficiency of the selected algorithm to solve the problem is to be as high as possible. Computer to calculate the length of time and the size of the space used has a direct relationship with the algorithm, two important criteria used to measure the algorithm is good or bad is the time and space complexity, solutions proposed so good, and the algorithm is the most important . 0-1 knapsack problem, the solutions are many and various solutions have their own advantages and disadvantages, which is more important branch and bound, dynamic programming, greedy method, backtracking, divide-and-conquer strategy In this paper, using the branch and bound method to solve the 0-1 knapsack problem, and analyze the time and space complexity of the algorithm, as well as a simple comparison with the other algorithms.Key words: computer; branch and bound; 0-1 knapsack problem; complexity analysis1 问题描述给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包容量为c。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。因此,该问题称为0-1背包问题。0-1背包问题的形式化描述是,给定c>0,Wi>0,Vi>0,1in,要求找出一个n元0-1向量(x1,x2,……xn),