加勒比久久综合,国产精品伦一区二区,66精品视频在线观看,一区二区电影

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫BE205、代做C++語言程序
代寫BE205、代做C++語言程序

時間:2024-10-27  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



 Homework 1 – Complexities and Correctness
BE205: Algorithms and Data Structures
MUST 2024 Fall ∗ Tuesday October 01 2024
1 Introduction and Review
There are several themes of this course:
• Analyzing the complexity of a given algorithm (or a snippet). • Proving the correctness or flaw of an algorithm.
• Design an algorithm for solving a given problem.
• Implement an algorithm using C++ (or C).
So, there are problems to be solved on these aspects.
∗The picture above the title, found at [1], shows some basic understanding of the big O notations.
 1

2 How to submit the homework 2.1 Mathematical notations
Math notations are needed to write the answers to Problem 1. If you do not know how to edit math equations and notations using Word, Markdown, or Latex, you may use some easy-to-understand text form in a .txt file. For example, using ^ for superscript and _ for subscript, like:
• 2n+2 is described as 2^{n+2}.
• Σni=1i2 is described as Signma_{i=1}^{n}{i^2} • Θ(n2) is described as : \Theta(n^2)
• O(n log(n) is described as: O(n*log(n))
Pictures of clear hand writing can also be accepted.
2.2
• •
• •
2.3
1.
Submission method and deadline
Submit your homework files on Moodle through the portal of Assignment 1 (you can find it on the Moodle webpage of this course).
At most three students can form a group to do the homework together. Then, only one student should submit the files through the Moodle system.
You are welcome to do the homework again. I.e., a one-person group is surely fine.
The due time is about two weeks from the date of releasing the homeowork. The exact due time for this homework should refer to the setting of Assignment 1 on Moodle.
Files to be submitted
A report file hmk1_report. You can use the proper file format you can manage (.docx, .txt, .md, .pdf ...). This file should mention
• The full names of all the group members. Or you can say you did the homework alone.
• The tasks done by each member for this homework. This part is not needed if you did the homework alone.
• Anything meaningful that you want to document, like the difficulties and errors that you solved, some summary of the experience, etc. This part could help your future work.
• Answers to Problems 1, 2, 3.
2

2. A .zip file containing all the source code files for your programs of Problem 4. It is better to prepare two folders, one for the files of Problem 4.a, and the other for Problem 4.b. Then compress the two folders into the .zip file. Make sure your program files can compile. Do not include some project files of some IDE or executable files (.o, .exe. .obj. out). Just the source code files (.h, .c, .cpp, .txt) are fine.
Some specifics: about the files to be submitted.
• The answers to Problem 1 should clearly mention the snippet number, like:
             Answer for snippet (1): ..
             Answer for snippet (2): ...
3 Problems Problem 1
If you are sure, describe the upper bound of the complexity (running time relative to the problem size n) of the following code snippets using the Θ notation; otherwise, use the O notation. When log is used, the base should be 2.
(1) int sum = 0;
for (int i = 1; i < n; i *= 3)
++sum;
(2) int sum = 0;
for (int i = 0; i < n; ++i)
++sum;
for (int j = 0; j < n; ++j)
++sum;
(3) int sum = 0;
for (int i = 0; i < n; ++i)
for (int j = 1; j < n; j *= 2) ++sum;
(4) int sum = 0;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j) ++sum;
(5) int sum = 0;
for (int i = 0; i < n; ++i)
for (int j = 0; j < i * i; ++j) 3

for (int k = 0; k < j; ++k) ++sum;
(6) int sum = 0;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= 2n; ++j) { if (j % i == 2) {
for (int k = 0; k < j; ++k) { ++sum;
} }
} }
(7) int
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
for (int k = n; k >= 1; k = k / 2 )
++sum;
(8) int sum = 0;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n + 1; ++j)
for (int k = 0, c = 1; k < j; ++k, c = c * 2)
for (int l = 0; l < c; ++l) ++sum;
Problem 2
Prove the correctness of the exponentiation-computing algorithm presented by pseudocode as follows. It was discussed in our lectures.
Require: n ≥ 0 Ensure: y = xn
1: 2: 3: 4: 5: 6: 7: 8: 9:
10:
y ← 1
X ← x
N ← n whileN̸=0do
if N is even then X←X×X
N ← N2
else if N is odd then
y←y×X N ← N − 1
▷ A comment: don’t forget to update N
sum = 0;
 4

8
9 10 11 12 13 14 15
} }
Hint: The correctness of this algorithm means that finally xn will always be the value y. One way is proving by induction some invariant of the loop, which means something is always true at each iteration of running the loop. The proof structure could like the following:
Lemma 1. An invariant: for each iteration, the statement . . . is true
Proof. Proof by induction:
Base case: In the first one, or several iterations the lemma is true, because . . .
Inductive step: Suppose in the previous k iterations, the statement is true, now we prove that for the k + 1th iteration it is also true. . . .
Theorem 1. Correctness of the exponentiation algorithm
Proof. Now based on the Lemma 1, the correctness of the algorithm should be true, because
....
Problem 3
The following algorithm is supposed to solve the Maximum Sum of Subsequence (MSS) problem. I t is mentioned in the textbook, described by a C++ program snippet. Prove the correctness of this algorithm.
 // Linear-time maximum contiguous subsequence sum algorithm.  Fig. 2.8 alg. 4
int maxSubSum4(const vector<int> &a) maxSum = 0, thisSum = 0;
(int j = 0; j < a.size(); ++j)
thisSum += a[j];
if (thisSum > maxSum) maxSum = thisSum; else if (thisSum < 0)
thisSum = 0; return maxSum;
1
2
3 4{
5 int
6 for
7{
Hint: The proof structure could similar to what are mentioned for Problem 2. An invari- ant can be proved. Based on it, the correctness must hold, because otherwise (proof by contradiction), something impossible will occur.
5

Problem 4
Problem 4.a
Given an array, sometimes we want to rotate its elements for some positions either to the right or left. For example. given an array with elements:
0, 11, 22, 33, 44, 55, 66, 77, 88, 99
if we rotate it to the right for 4 positions (shift is 4), then after doing so its elements will be print like:
66, 77, 88, 99, 0, 11, 22, 33, 44, 55
Or if we rotate it three positions to the left (shift is -3), its elements can be printed like:
33, 44, 55, 66, 77, 88, 99, 0, 11, 22
• There is an obvious way to "physically" rotate the elements in the array, just moving each element to its new position in the array after the rotation.
• Write a complete program where the a function with the following signature is imple- mented:
                  rotate(int * arrName, int arrLen, int shift)
• Do not use any library function for rotating or shifting an array.
• Test the function in a main function on an array with at least 10 elements. Test with at least 5 cases, for each case, use a different shift value (positive, 0, or negative, sometimes > 10 or < -11), and print the array before the rotation and after rotation.
• In this .cpp (or .c) file, besides the definition of the rotate function, describe as some comments about what is the time complexity of running this function.
Problem 4.b
We want to design some special array, call it Spin-and-Virtaul Array (SVArr), which has the following features: For the rotation task (make it ready to print its rotated elements), it can be done is a constant time (O(1)), instead of the "physical" way shown above. It is easy to know its size (the maximum number of elements can be stored in it). Out-of- boundary indexes are a not a problem. Increasing an index rotate to the right and touching the elements on the left end. Similarly, decreasing the index can rotate to the left and touch the elements on the right end. For example, given such an array arr with size 10:
**2; arr[9 + 1] == arr[0] **2; arr[7 + 5] == arr[2] **2; arr[−1] == arr[9] **2; arr[23] == arr[3]
6

**2; arr[−18] == arr[2]
It is a pain to move the elements of an array around, which are common operations in a sorting computation, specially, when an element has very large size. One idea is to have a change the "logical" indexes of the elements, instead of shuffling the of bit-sequences of array elements. For that purpose, a SV Array remembers two arrays:
• pArr, the "physical" array, the actual content of the data elements. This part does not change upon the actions like sorting or rotating.
• vArr, the "virtual-index" array, the logical indexes of the elements. This part will be updated by actions like sorting, or elements swapping.
For example, for an SVArr of 10 elements, initially, its two arrays are:
pArr 45 78 23 56 89 12 6**4 ** 55 vArr 0 1 2 3 4 5 6 7 8 9
After swapping 45 and 55, then the arrays changes to :
pArr 45 78 23 56 89 12 6**4 ** 55 vArr 9 1 2 3 4 5 6 7 1 0
After sorting the elements from small to large, the pArr does not change, while the vArr changes. Now, the two arrays become:
pArr 45 78 23 56 89 12 6**4 ** 55 vArr 5 2 7 0 9 3 6 1 4 8
Write a program to implement SVArr, with the following requirements:
• The style of ADT (abstract data type) should be expressed. So, SVArr should be a class, with public and private members. Some .h file and .cpp files should belong to the program.
• The main function test the following features of SVArr:
– An SVArr can be built based on a common array.
– Out-of-boundary indexes can be used; Print the value of these elements.
– Rotation can be done for positive and negative amount of shifting; Print the array before and after the shifting.
• The idea of O(1) time rotation should be implemented. Print the array after some rotation to see the effects.
• Show sorting on a SVArr, its virtual indexes changes while its physical array does not change.
7

• Do not use any library tools that have already implemented or covered the features of SVArr.
• The standard features of C++ classes should be used.
• If SVArr is implemented as a C++ template class, or some equivalent features sup- porting general types of elements, you deserve some bonus points. Otherwise, you can assume SVArr contains only integers.
• C programs are also accepted.
References
[1] Buket Senturk. Time complexity. https://medium.com/@buketsenturk/time-compl exity-202eb4f1db40, 2024. Accessed: 2024-10-01.
[2] Mark Allen Weiss. Data Structures and Algorithm Analysis in C++. Person, 4th edition, 2014. https://users.cs.fiu.edu/~weiss/.
A Helpful formulas
There are several formulas helpful to solve the Problem 1. 1+1+···+1=Σn 1=Θ(log(n))
(a+0d)+(a+1d)+(a+2d)+...+(a+(n−1)d) =
􏰀n
(a+(i−1)d) = na+d
i=1
(n − 1)n 2
2
12 ni=1i
n−1 1−rn a+ar+ar2+···+an−1 =􏰀ark =a1−r =Θ(rn−1)=Θ(rn)
= Θ(n )
  k=0
n n(n+1)(2n+1)
12 + 22 + · · · + n2 = 􏰀 i2 = S = 6 = Θ(n3) i=1
 Σni=1ik = Θ(nk+1) logk(n) = Θ(log2(n))
8

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

掃一掃在手機打開當前頁
  • 上一篇:AM05 AUT24代做、代寫R設計編程
  • 下一篇:代寫CS 205、代做C++程序設計
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    国产成人久久| 欧美大人香蕉在线| 国产欧美在线| 国产亚洲高清视频| 国产欧美视频在线| 免费在线亚洲欧美| 日av在线不卡| 亚洲成人二区| 久久综合影院| 九九九精品视频| 蜜桃精品在线观看| 欧美亚洲国产激情| 少妇精品久久久| 青青草97国产精品免费观看无弹窗版| 蜜臀av一区二区三区| 欧美激情第二页| 欧美色综合网| 国产一区二区三区站长工具| 美女视频黄久久| 日韩中文首页| 免费观看成人av| 伊人天天综合| 国内精品视频在线观看| 日韩一区二区三区精品| 久久综合另类图片小说| 日韩专区视频| 蜜桃视频www网站在线观看| 男人操女人的视频在线观看欧美 | 亚洲va久久| 在线成人超碰| 日本91福利区| 国产精品最新自拍| 在线视频精品| 今天的高清视频免费播放成人| 亚洲小说春色综合另类电影| 亚洲伊人精品酒店| 国产精品久久| 亚洲国产高清视频| 四虎精品永久免费| 亚洲不卡系列| 亚洲黄色免费看| 国产污视频在线播放| 天堂va蜜桃一区二区三区漫画版 | 在线播放一区二区精品视频| 国产一区二区三区91| 欧美黄污视频| 亚洲国产精品一区| 日韩国产欧美在线观看| 国产精品久久久久9999高清| 成人国产一区二区三区精品麻豆| 天天综合网站| ww久久综合久中文字幕| 亚洲va中文在线播放免费| 日韩精品不卡一区二区| 神马午夜在线视频| 中国色在线日|韩| 日韩国产激情| 亚洲四虎影院| 久热成人在线视频| 久久精品av麻豆的观看方式| 欧美一区网站| 亚洲久久成人| 国产一区二区三区视频在线| 国产不卡一区| 日韩中文字幕一区二区高清99| 96sao在线精品免费视频| 国产日韩三级| 99久久亚洲精品蜜臀| 九九久久精品| 亚洲制服少妇| 国产精品原创| 国产精品亚洲成在人线| 日韩高清电影一区| 成人在线视频www| 国产在线观看91一区二区三区| 亚洲品质自拍| 欧美一级全黄| 黄色在线一区| 免费观看一级特黄欧美大片| 日韩伦理视频| 国产精品久久久久久久久久妞妞 | 日韩片欧美片| 精品日本视频| 美女精品一区二区| 国产欧美日韩影院| 激情亚洲另类图片区小说区| 欧美在线观看视频一区| 性欧美精品高清| 亚洲插插视频| 麻豆精品国产传媒mv男同| 欧美日韩国产一区二区在线观看| 久久综合给合| 极品日韩av| av在线中出| 日韩高清电影一区| 一区二区三区四区精品视频| 欧美69视频| 狠狠躁少妇一区二区三区| 美腿丝袜在线亚洲一区| 国产免费久久| 亚洲网站啪啪| 久久r热视频| 欧美日本一区二区高清播放视频| 激情五月综合婷婷| 亚洲激情偷拍| 婷婷午夜社区一区| 亚洲欧美在线人成swag| 精品人人人人| 91视频久久| 亚洲男女网站| 极品少妇一区二区三区| 日韩电影免费网站| 国产精品一区高清| 精品一区毛片| 日本国产欧美| 亚洲妇女av| 尹人成人综合网| 日韩成人在线电影| japanese色系久久精品| 亚洲欧美视频| 日韩专区中文字幕一区二区| 欧美三区美女| 激情国产在线| 西瓜成人精品人成网站| 欧美特黄一级| 日韩色性视频| 成人在线视频免费观看| av免费不卡| 国产精品一区二区av日韩在线 | 久久影院100000精品| 亚洲一区资源| 日韩黄色av| 欧美oldwomenvideos| 欧美激情偷拍| 激情五月综合网| 美女一区二区视频| 成人三级视频| 日韩毛片一区| 1204国产成人精品视频| 在线精品国产亚洲| 91麻豆精品国产91久久久平台| 国产亚洲高清一区| 黄色日韩在线| 欧美激情1区| 伊人精品视频| 亚洲一区二区三区| 一本色道久久综合亚洲精品不| 日日噜噜夜夜狠狠视频欧美人| 久久久噜噜噜| 日本在线一区二区| 亚洲夜间福利| 日韩综合一区二区| 亚洲精品一区二区妖精| 麻豆国产欧美一区二区三区| 国产一区二区中文| 麻豆精品蜜桃视频网站| 一本一本久久a久久综合精品| 美女视频网站黄色亚洲| 99精品视频在线观看免费播放| 亚洲成人1区| 欧美va天堂在线| 最新国产精品| 日韩制服丝袜av| 51亚洲精品| 999国产精品亚洲77777| 亚洲不卡av不卡一区二区| 裸体一区二区三区| 亚洲一区二区成人| 日韩av高清在线观看| 亚洲精品国产嫩草在线观看| 色综合久久中文| 一区二区影院| h片在线观看视频免费免费| 红杏视频成人| 久久精品人人| 丝袜美腿一区二区三区| 婷婷综合国产| 国产日韩免费| 亚洲欧美bt| 黄色欧美网站| 亚洲精品欧洲| 中国色在线日|韩| 激情五月***国产精品| 国内精品视频| 国产综合色在线观看| 伊人影院久久| 超碰cao国产精品一区二区| 国产一区影院| 伊人久久成人| 国产极品一区| 精品免费视频| 亚洲伦理久久| 嫩草伊人久久精品少妇av杨幂| 欧美 亚欧 日韩视频在线| 国产欧美成人| 秋霞国产精品| 每日更新成人在线视频| 精品久久影院| 欧美男gay| 美女视频黄 久久|