JAVA 图数据结构代写代做、图程序遍历算法代写

JAVA 图数据结构代写代做、图程序遍历算法代写
问题1
假设我们有遍布全国的大型计算机网络,可以使用网络光纤链路进行连接。 其中一些链接已经建成。 每个潜在的新环节都有与构建它相关的成本。 我们想知道将所有计算机连接到单个网络的最便宜方式。即
V是一组n个顶点(服务器)
E是V中顶点之间的一组m个无向边
A?E是已经构建的边的子集
每个剩余的边∈V\ A的成本c(e)> 0
问题:选择一个最小权重的子集X?V \ A,使得图(V,X∪A)被连接


图:实线表示已经存在的光纤链路,而虚线表示可能构建的潜在链路。

你的任务是设计一个解决这个问题的高效算法。 假设该图存储为邻接矩阵。
您的解决方案必须包括

(i)上述图的最优解的有效算法
(ii)简要说明你的算法是如何工作的,为什么你的算法是正确的(10分)
(iii)分析算法时间复杂度的上限(10分)


问题2(40分)

字母表是一组有限的符号,而一个字母(字母表)是该字母表中的有限符号序列。 例如,1100是字母{0,1}上的单词,abba是字母{a,b,c}上的单词。 如果w是一个单词,我们用 | w |表示 w中符号的总数,因此| abba | = 4。
代码是一种从源字母表中的字符到目标字母表上的字符的映射。 例如
C = {a → 0, b → 10, c → 110}

是具有源字母表{a,b,c}和目标字母表{0,1}的代码。另一个例子是摩尔斯电码,其中英文字母(和数字)作为源字母表,{?, - }作为目标字母表。
代码自然地定义了从源字母表上的单词到目标字母表上的单词的映射,通过将源单词中的每个符号替换为其相应的代码字。我们称之为编码。例如,上面的代码C将字abba编码为010100.为了简单起见,我们将它写为C(abba)= 0101000.解码是编码的逆

- 也就是说,给定一个关于目标字母表的单词w,在源字母表中找到一个单词u,使得C(u)= w。请注意,根据代码,可能有多个有效解码,甚至没有。

(a)使用上面的代码C,找到{0,1}上没有有效解码的单词,

无损代码是目标字母表上的每个单词至多有一次解码的代码。例如,莫尔斯码不是无损码,因为同一个字可以解码为A或ET。生成无损代码的一种自然方法是将每个源符号映射到某个固定长度的字。例如,ASCII代码将通常使用的字母数字符号映射到7位字(即长度正好为7的{0,1}上的字)。

(b)假设C是一个(无损)固定长度代码,可用于将符号大小为27的字母(即英文字母的26个字母连同空格)映射到目标字母表上的单词{0,1 }。编码字具有一定的长度k。什么是最小固定长度k?换句话说,将英文字母的26个字母中的每一个与空格一起编码所需的最小位数是多少。 (5分)

(c)假设C是一个(无损)固定长度码,它将A中的符号映射到B上的固定长度k的词上。根据| A |和| B |找到k的下限。 (5分)

数据压缩背后的原理是视图数据作为一个单词(例如,一段文本是一个[非常长的]字母数字字符串),并设计一个无损编码C,使得对于典型的数据字w,我们有| C(w )| <| w |。这里的关键词是典型的 - 它不可能压缩每个数据字,因此为了实现压缩,我们需要做一些额外的分析。一种典型的方法是频率分析:通过使用更少的目标符号来编码更频繁出现的源符号,您最终将平均使用更少的符号。

设计无损数据压缩代码(从英文字母到二进制)的贪婪方法如下:

1.将最频繁的符号(即'空格')映射到最短的二进制字(即'0')

2.将第二最频繁符号(即'E')映射到第二最短二进制字(即'1')
3.将第三最频繁符号(即'T')映射到第三最短二进制字(即'00')
4.等等...

(d)这个贪婪算法是否工作?解释为什么它适合/不适合解决数据压缩问题。 (10分)
为了克服上一个问题中突出显示的困难,常用的方法是使用前缀代码:代码中没有目标代码字是另一个代码的前缀。例如,在开始时使用的代码,
C = {a → 0, b → 10, c → 110},
是前缀码; 而代码

C'= {a→0,b→10,c→101}

不是,因为10是101的前缀。
(e)给定源字母表A = {a,b,c,d,e}和目标字母表B = {0,1},设计一个算法来查找将A映射到B上的单词的前缀代码C. 答案必须包括以下内容:

(i)简要描述算法和解释为什么它的工作原理(10分)

(ii)使用所设计的算法给出前缀代码C,其将A映射到B上的单词(5个标记)
(使用二叉树数据结构!!!!)
问题3(30分):
设A是一个包含n个数字(正数和负数)的数组。 开发一种分而治之的算法,该算法可以找到两个索引1≤i≤j≤n,从而使Σ(从i到j的元素之和)最大化。 例如,在阵A = [10,-1,2,5,7,-2,4,-11]中,子阵列A [3:6]具有总和5 + 7-2 + 4 = 14并且没有其他子数组包含总和为大于14的值的元素,因此对于此输入,算法应输出(3,6)。 设计一个算法来解决这个问题
(i)写下算法的伪代码(20分)。

(ii)简要说明算法的运行时间(10分)。
http://www.6daixie.com/contents/9/1365.html

本团队核心人员组成主要包括硅谷工程师、BAT一线工程师,国内Top5硕士、博士生,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。

我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全  汇编语言 硬件编程 软件设计 工程标准规等。其中代写代做编程语言或工具包括但不限于以下范围:

C/C++/C#代写

Java代写

IT代写

Python代写

辅导编程作业

Matlab代写

Haskell代写

Processing代写

Linux环境搭建

Rust代写

Data Structure Assginment 数据结构代写

MIPS代写

Machine Learning 作业 代写

Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导

Web开发、网站开发、网站作业

ASP.NET网站开发

Finance Insurace Statistics统计、回归、迭代

Prolog代写

Computer Computational method代做

因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected]

微信:codinghelp

猜你喜欢

转载自www.cnblogs.com/beautyful/p/8992799.html
今日推荐