算法复习题
本文最后更新于108 天前,其中的信息可能已经过时,如有错误请发送邮件到marcelozoeng@qq.com

1.阐述P问题的概念和特点。
计算机真正能够解决且能够在多项式时间内解决

2.阐述NP完全问题的概念和特点。
计算机在不可等待的时间内解决,能够在指数时间内解决

3.阐述穷举法的基本思想和特点。
基本思想:依题目的条件,确定答案的大致范围,在此范围内对所有可能的情况逐个验证,直到全部情况验证完
特点:穷举是最简单最基础,也是最没效率的算法
(1)穷举具有超级无敌准确性,只要时间足够,正确的穷举得出的结论是绝对正确的
(2)穷举拥有天下第一全面性,因为它是对所有方案的全面搜索,所以,它能够得出所有的解

4.阐述分治法的基本思想。
基本思想:(将待求解问题分解成若干个子问题)将要求解的较大规模的问题分割成k个更小的规模的子问题,对这k个子问题分别求解,如果子问题的规模仍然不够小,则将其在划分为k个子问题。如此递归地进行下去,直到问题规模足够小,很容易求出其解为止
将求出的小规模地问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解

5.阐述分治法的适用条件。
适用条件:
(1)该问题的规模缩到一定的程度就可以容易地解决
(2)该问题可以分解为若干规模较小的相同问题
(3)利用该问题分解出的子问题的解可以合并为该问题的解
(4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题

6.阐述动态规划的基本思想和特点
基本思想:将待求解问题分解成若干个子问题。如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免重复,得到多项式时间算法。
特点:
(1)把原来的问题分解成了几个相似的子问题
(2)所有的子问题都只需要解决一次
(3)储存子问题的解

7.阐述贪心法的基本思想和特点。
基本思想:将问题的求解过程看作是一系列选择,每次选择一个输入,每次选择都是当前状态下的最好选择(局部最优解)。每作一次选择后,所求问题会简化为一个规模更小的子问题。从而通过每一步的最优解逐步达到整体的最优解。
特点:贪心算法总是作出在当前看来最好的选择,不从整体最优考虑,而是局部最优选择。希望整体最优解,却不能对所有问题整体最优,但许多问题可以,尽管得不到整体最优解,却是近似于整体最优解。

8.解决线性时间选择问题。(参考例题)
9.动态规划解决0-1背包问题。(参考例题和习题)
10.动态规划解决矩阵链乘问题。(参考例题和习题)
11.贪心法解决背包问题。(参考例题和习题)
12.贪心法解决活动选择问题。(参考例题和习题)
13.递归法求解整数划分问题。(例如求7的整数划分个数,要求写出递归方程,并根据递归方程求解,参考课堂板书讲解)
14.分治法求解最大子段和问题。(参考例题和习题、课堂板书讲解)
15.写出汉诺塔问题的求解算法和时间复杂度的的求解过程。
16.动态规划法和贪心法的相同点与不同点。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇