
算法设计与分析
文章平均质量分 96
算法设计与分析实验报告
咕噜咕噜的玛卡巴卡
菜鸟分享学习代码日常~
展开
-
算法设计与分析:实验六 贪心法
该资源任何时刻只能被一个活动所占用,活动i有一个开始时间bi和结束时间ei(bi<ei),其执行时间为ei-bi,假设最早活动执行时间为0。先利用重载排序活动结束时间,使其依次递增排序,选结束时间最早的活动来占用资源,假设一个变量来记录前一个兼容活动的结束时间,记录结束时间最早的活动结束时间,下一步选择开始时间大于等于结束时间最早的活动的结束时间,使其开始时间变成选择的活动的结束时间,按照这个方法依次选择,直至排序后活动结束时间的最后一个活动,得出最大兼容活动的子集,即所有安排活动个数最多。原创 2024-04-24 20:30:16 · 1340 阅读 · 0 评论 -
算法设计与分析:实验五 分支限界法
选择“已选物品重量和+当前物品重量<=背包限重”为左孩子约束,设置一个队列进行存储,把队列分成活结点队列,即可放入背包的物品作活结点,不断取活结点的队头结点做扩展结点,即把每层放入背包的物品看成队头结点,右孩子选择不继续放,左孩子继续放物品,超出限重就变成死结,期间队列放入物品则入队,入队以后选择队头结点出队,然后可入队的结点即不超重的,往下超重的变死结点,最后通过重载函数比较价值大小优先输出最大价值,得出最优解。有n(n≥1)个任务需要分配给n个人执行,每个任务只能分配给一个人,每个人只能执行一个任务。原创 2024-04-23 23:20:55 · 1573 阅读 · 1 评论 -
算法设计与分析:实验四 回溯法
5. 求解图的m着色问题。图用邻接矩阵存储,采用二维数组存储两顶点,分有边无边情况,有边则相邻,从第一个顶点试探,顶点相邻不能相同颜色,无边情况则不用考虑,依次试探,如果发现相邻相同颜色了,则回退上一个顶点,即擦掉当前顶点颜色,回上一个顶点改颜色,直至所有相邻顶点颜色都不相同。用数组存放皇后位置,先尝试放第一个皇后,再往下放,根据要求每个皇后不同行、不同列、不同对角线作为先决条件,试探放置,若不满足条件,就回溯,换皇后元素,若满足条件则接着走下去,直至得到解,记录,可以得出解个数。例如,当n=4时,w=。原创 2024-03-23 18:00:54 · 1418 阅读 · 0 评论 -
算法设计与分析:实验三 蛮力法
通过设置各棋子的取值为不同字母,利用题目给出的条件,兵炮马卒+兵炮车卒=车卒马兵卒,可以得出(兵*1000+炮*100+马*10+卒*1)+(兵*1000+炮*100+车*10+卒*1)=车*10000+卒*1000+马*100+兵*10+卒*1,且各棋子小于等于9,各不相等,利用这些条件,即可以算出各棋子的取值。列举出给出的序列的所有连续子序列,即通过起始下标和终止下标列举出来,然后求所有连续子序列的各所有元素和,通过比较各个元素和得出最大值,将最大值存储起来,得出最大连续子序列和。原创 2024-03-22 00:59:57 · 1526 阅读 · 1 评论 -
算法设计与分析:实验二 分治法
细分左中右部分求法,是从左边开始跨越还是右边开始跨越中间,以及左边加中间的最大连续子序列和、右边加中间的最大连续子序列和,求出并比较左边跨越的最大连续子序列和左边加中间的最大连续子序列和,右边也一样,最后比较左部分最大连续子序列和、右部分最大连续子序列和、左中右最大连续子序列和三者,即可得出该序列最大连续子序列和。例如:序列(-2,11,-4,13,-5,-2)的最大子序列和为20,序列(-6,2,4,-7,5,3,2,-1,6,-9,10,-2)的最大子序列和为16。找到就返回该值位置,找不到就返回。原创 2024-03-20 14:48:18 · 1330 阅读 · 0 评论 -
算法设计与分析:实验一 递归算法设计技术
根据课本13页例1.8的对应算法函数来写,已假设n为盘片值,x、y、z柱子分别为初始位置,中转位置,目的位置,定义n的类型为int,x、y、z为char类型,分n为1和不为1的情况。参考数据结构和算法的部分代码,逻辑思路为先定义二叉树节点,开始时把左右子树置空,构建最大路径和代码,分别算出左右子树的路径和,以及把左右子树节点当成当前根节点,算出两者的路径和,最后比较,返回最大路径和;n-1]循环体中,比较,找最小元素,主函数写输入的元素值,输出的结果。如果n为1或者2时,都返回1。即当n=1或n=2时,原创 2024-03-18 15:25:23 · 1570 阅读 · 0 评论