第一范文网 - 专业文章范例文档资料分享平台

算法设计与分析 - 总结0

来源:用户分享 时间:2025/5/22 8:38:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

掌握选择问题的算法的伪代码(P105-106)

习题5-1,算法设计题

习题5-4,给出任意一组数据,能分别用筛选法和插入法写出创建堆的过程,并用两种方法进行堆排序。

对(47,5,26,28,10)进行筛选堆排序,使用大根堆,形成升序 ,列出每次筛选后的序列

形成大根堆的过程(先把数组直接表示成完全二叉树): 47,5,26,28,10(叶子结点,不用筛选) 47,5,26,28,10 (叶子结点,不用筛选) 47,5,26,28,10 (叶子结点,不用筛选) 47,5,26,28,10

47,28,26,5,10 (5与两个孩子中的大者比较,5小,交换位置) 47,28,26,5,10 (47与两个孩子中的大者比较,47大,不用交换位置) 47,28, 26, 5 ,10 (大根堆)

10,28, 26, 5 , 47 (取出堆顶元素后的序列) 10,28, 26, 5 , 47 (筛选) 28, 10 , 26, 5 , 47

28, 10 , 26, 5 , 47 (大根堆)

5, 10 , 26, 28, 47 (取出堆顶元素后的序列) 5, 10 , 26, 28, 47 (筛选) 26, 10 , 5, 28, 47

26, 10 , 5, 28, 47 (大根堆)

5, 10 , 26, 28, 47 (取出堆顶元素后的序列) 5, 10 , 26, 28, 47 (筛选) 10, 5 , 26, 28, 47

10, 5 , 26, 28, 47 (大根堆)

5, 10 , 26, 28, 47 (取出堆顶元素后只剩一个值,结束算法) 对(47,5,26,28,10)进行插入法生成大根堆 47 47 5 47 5 26 47 28 26 5 47 28 26 5 10

第6章 动态规划法

了解动态规划法的设计思想

设计思想:将待求解问题分解成若干个相互重叠的子问题,每个子问题对应决策过程的一个阶段,将子问题的解求解一次并填入表中,当需要再次求解此子问题时,可以通过查表获得该子问题的解而不用再次求解。 步骤:

将原始问题分解为相互重叠的子问题,确定动态规划函数; 求解子问题,填表;

根据表,自底向上计算出原问题的解。

掌握可以用动态规划法解决的问题及时间复杂度:

TSP,多段图的最短路径问题,0/1背包,最长公共子序列问题,最优二叉查找树,近似串匹配问题;

多段图的最短路径问题: O(n+m)

0/1背包问题: O(n×C)

掌握多段图的最短路径问题的动态规划算法及具体实现(P121-123),习题6-2

动态规划函数为:

cost[i]中存储顶点i到终点的最短路径长度

cost[i]=min{C[i][j]+cost[j]} (i≤j≤n且顶点j是顶点i的邻接点) path[i]=使C[i][j]+cost[j]最小的j 先构造cost数组和path数组

掌握0/1背包问题的动态规划算法及具体实现(P123-126),习题6-3

例题:用动态规划法求如下0/1背包问题的最优解:有5个物品,其重量分别为(3,2,1,4,5),物品的价值分别为(25,20,15,40, 50),背包容量为6。写出求解过程。 0/1背包问题的动态规划函数为:

V(i,j)表示把前i个物品放入容量为j的背包中的最大价值和。 填表过程:

搜索更多关于: 算法设计与分析 - 总结0 的文档
算法设计与分析 - 总结0.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2egpv24zno7916195d01_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top