![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
6Cong6
这个作者很懒,什么都没留下…
展开
-
动态规划-01背包问题
问题描述:给定n个物品和一个容量为C的背包,请给出物品装入背包的方案,使得背包中物品的总价值M最大,并满足:每个物品I的重量为Wi,价值为Vi。每个物品不可拆分,要么完整装入背包,要么不在背包里。背包中物品的总重量不能超过容量C。分析一波,面对每个物品,我们只有选择拿取或者不拿两种选择,不能选择装入某物品的一部分,也不能装入同一物品多次。本问题是满足动态规划的,什么是动态规划?...原创 2019-11-03 21:49:03 · 842 阅读 · 0 评论 -
递归分治的时间复杂度计算
计算时间复杂度(分治法与递归)本文为转载,原链接忘记了分治法的道理非常简单,就是把一个大的复杂的问题分为a(a>1)个形式相同的子问题,这些子问题的规模为n/b,如果分解或者合并的复杂度为f(n),那么总的时间复杂度可以表示为:1.递推求解法 我们上面的求解方式都是递推求解,写出其递推式,最后求出结果。 例如:合并排序算法的时间复杂度递推求解:2.递归树求解法 递归树求解方式其实...原创 2019-11-03 21:45:25 · 3031 阅读 · 0 评论 -
递归分治法解循环赛
这是第2次算法课的实验,按照老师的规定写代码何为递归?递归按一般的定义就是一个放方法在它的方法体内自己调用自己的过程,一直到满足一个终结的条件才停下递归的过程。就像是“你妈想叫你吃饭了,但你在同学家玩,于是你妈叫你爸打电话喊你吃饭而你爸有事让你姐姐去打电话,你手机没有电,于是你姐姐打你同学的电话,你同学知道后,然后转告给你,你收到后让同学告诉你姐你知道了,你姐告诉你爸,你爸告诉你妈,最后...原创 2019-11-03 21:40:41 · 624 阅读 · 0 评论 -
插入排序java
这是第一次算法课的实验,按照老师的规定写代码先理解插入排序的排序原理:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程算法步骤:从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中...原创 2019-11-03 21:32:08 · 95 阅读 · 0 评论