
算法与数据结构
算法与数据结构
TrueDei
不荒废现在,不畏惧未来!我认为把知识给别人讲会,讲明白,自己才彻底明白。努力把文章写好,写明白每一篇文章,分享给更多人。
展开
-
贪心算法-分数背包问题(Python实现)
import ioTool def beibao(s,m,b): bb = 0 # 现在的背包容量 beibaoA = [] #放入背包的东西 #循环的i的范围不能超过传过来的数量,并且背包的容量也不能超过预定的数量(例如:50,则只能小于等于50) i = 0 while i < len(s) and bb<=b: #判...原创 2019-12-09 10:51:59 · 2847 阅读 · 1 评论 -
贪心算法-活动选择问题(Python实现)
# 有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源, # 如演讲会场等,而在同一时间内只有一个活动能使用这一资源。 # 每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si <fi 。 # 如果选择了活动i,则它在半开时间区间[si, fi]内占用资源。 # 若区间[si, fi]与区间[sj, fj]不相交,则称活动i与活动j是相容的。 # 也就...原创 2019-12-09 10:51:12 · 2140 阅读 · 0 评论 -
动态规划之钢条切割问题:自低向上(Python实现)
# #钢条切割问题:自低向上(由小到大) # #获得最大值 def max(a,b): maxData = a; if maxData < b: maxData = b; return maxData def BOTTOM_UP_CUT_ROD(p,n): r = {} r[0] = 0 for j in range(1,n...原创 2019-11-23 16:05:29 · 1312 阅读 · 0 评论 -
动态规划之钢条切割问题:自顶向下(Python实现)
# #钢条切割问题:自顶向下(由大到小) # #自顶向下递归实现 # def CUT_ROD(p,n): # if n==0: # return 0; # q = -1000 # for i in range(1,n): # q = max(q,p[i]+CUT_ROD(p,n-i)) # return q #获得最大值 def...原创 2019-11-23 16:04:45 · 1117 阅读 · 0 评论 -
分治策略之最大子数组(Python实现)
一、 实验目的及任务 分治法求解最大子数组问题 二、 实验环境 c++或java 三、 问题描述 Input : 一个数组 Output:最大连续子数组。 四、 编程任务 一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。 五、 数据输入 随机产生1000以上的数据(有正有负),放入输入文件input.txt 六、 ...原创 2019-11-23 16:01:27 · 1042 阅读 · 0 评论 -
分治策略之归并排序(Python实现)
一、 实验目的及任务 用分治法解决数组排序 二、 实验环境 c++或java 三、 问题描述 Input : 一个数组 Output:自小到大排列的数组 四、 编程任务 对于一个数组,用分治法的思想将其按照从小到大排列。 五、 数据输入 随机产生1000以上的数据,放入输入文件input.txt 六、 结果输出 比如数组 A ={3, 41, 52, 26, 38, 57, 9, 49},输出为{...原创 2019-11-23 15:58:00 · 1329 阅读 · 0 评论 -
选择排序(java实现)
伪代码 SELECTION-SORT(A) n = A.length for j = 1 to n - 1 smallest = j for i = j + 1 to n if A[i] < A[smallest] smallest = i exchange A[j] wi...原创 2019-09-14 19:26:07 · 678 阅读 · 0 评论