Re: [理工] 资料结构思考问题

楼主: HiltonCool (野兽疯)   2014-06-22 01:52:01
※ 引述《APE36 (PT乡民)》之铭言:
: 1.
: 叙述并说明你的理由,旅行推销员问题(Travelling Salesman Problem,)
: 是一个NP-complete 问题,而且至今尚未找到算法可以解出此问题。
Ans:因为还没唸阿狗,所以此题无解XD
: 2.
: 证明每一棵二元树可由它的前序和中序顺序来决定其唯一的结果。
Ans:(1)利用数学归纳法对点数做归纳
当点数=0时,前序与中序皆为空
∴可唯一决定此二元树为空树
∴初值成立
(2)令点数≦(n-1)时,此定理成立
(3)当点数=n时,从前序顺序中找出第1个点,令此点为D,则此点必为树根
再从中序顺序中找出D之位置,令D左边的子字串为TL*,D右边的子字串为TR*
则TL*与TR*必为左、右子树的中序顺序 (中序:【 TL* 】D【 TR* 】)
令TL*长度为NL,TR*长度为NR,则NL与NR分别代表左、右子树的点数
再回到前序顺序中,从第2个点开始,取出NL长度的子字串,令为TL'
后面接着剩余NR长度的子字串,令为TR'
则TL'与TR'分别代表左、右子树的前序顺序 (前序:D【 TL'】【 TR'】)
\NL/ \NR/
∵NL与NR均≦(n-1)
∴由(2)之假设知:
给予TL*与TL'可决定唯一的左子树
给予TR*与TR'可决定唯一的右子树
∴左、右子树皆唯一
∴整颗二元树唯一
因此,由(1)(2)(3)及数学归纳法得证
[补充](1)给予前序(后序)与中序可决定唯一的二元树
(2)给予前序与后序无法决定唯一的二元树
: 3.heap sort 如何变成稳定的排序呢?
: (关于这个小题,有什么思考的方向呢??)
Ans:若给予的资料值皆相异,则Heap Sort会变成稳定排序
(因为是否为稳定排序主要是决定于是否有相同的资料(即是否有不必要的swap)
若给予的资料值皆相异,则所有排序方法皆为稳定排序
若给予的资料值存在至少两笔相同,则是否为稳定排序同原排序方法的定义)
作者: FRAXIS (喔喔)   2014-06-22 07:15:00
Travelling Salesman Problem明明就可以解 这题目在问啥3的话 增加一个sencondary key value就可以了
楼主: HiltonCool (野兽疯)   2014-06-22 19:25:00
楼上的方法也是一个好方法!

Links booklink

Contact Us: admin [ a t ] ucptt.com