99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

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

代寫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++程序設計
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 豆包 幣安下載 AI生圖 目錄網

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

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

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                国产精品精品国产色婷婷| 亚洲午夜久久久久| 亚洲成人资源在线| 欧美影院午夜播放| 亚洲中国最大av网站| 欧美日韩精品欧美日韩精品一| 亚洲欧洲三级电影| 欧美日韩成人一区二区| 日韩av二区在线播放| 精品国产一区二区三区久久影院| 久热成人在线视频| 欧美国产丝袜视频| 一本大道久久a久久综合| 亚洲午夜免费视频| 日韩欧美一级片| 精品在线亚洲视频| 中文字幕一区二区三区精华液| 日本伦理一区二区| 美女高潮久久久| 综合中文字幕亚洲| 91精品国产91久久综合桃花| 精品在线视频一区| 一区二区三区在线看| 欧美一级xxx| 顶级嫩模精品视频在线看| 亚洲电影在线播放| 国产亚洲一二三区| 欧美日韩中文另类| 成人污污视频在线观看| 亚洲国产一区视频| 久久综合色天天久久综合图片| 成人精品小蝌蚪| 精品一区二区三区蜜桃| 亚洲综合丁香婷婷六月香| 国产日韩精品一区二区浪潮av| 色噜噜偷拍精品综合在线| 日韩国产一区二| 亚洲乱码中文字幕综合| 久久久精品一品道一区| 欧美喷潮久久久xxxxx| 成人免费精品视频| 青娱乐精品视频在线| 亚洲美女精品一区| 国产精品国产三级国产普通话99| 欧美精品在欧美一区二区少妇| 99这里只有精品| 国产在线一区二区| 经典三级一区二区| 免费高清视频精品| 日本中文一区二区三区| 亚洲综合激情小说| 夜夜夜精品看看| 亚洲综合无码一区二区| 亚洲人成亚洲人成在线观看图片| 久久久久久久一区| 精品嫩草影院久久| 日韩午夜在线观看视频| 欧美蜜桃一区二区三区| 欧美三级视频在线| 欧美性一二三区| 色综合网色综合| 色久综合一二码| 欧洲精品一区二区三区在线观看| 91老司机福利 在线| 99久久精品免费| 不卡免费追剧大全电视剧网站| 国产精品一区二区视频| 日本欧洲一区二区| 久久99精品国产麻豆婷婷| 美女视频黄a大片欧美| 精品一区二区三区免费观看 | 日本韩国视频一区二区| 91丝袜高跟美女视频| 日本黄色一区二区| 欧美一级精品大片| 国产欧美日韩在线视频| 国产精品卡一卡二卡三| 一区二区成人在线视频| 美日韩黄色大片| 成人免费av资源| 色婷婷激情综合| 日韩精品一区在线| 亚洲三级在线观看| 久久国产综合精品| 一本大道综合伊人精品热热| 欧美影院午夜播放| 精品盗摄一区二区三区| 亚洲日本丝袜连裤袜办公室| 亚洲h动漫在线| 麻豆国产精品一区二区三区 | 国产成人精品影院| 色狠狠一区二区三区香蕉| 日韩免费性生活视频播放| 中文字幕一区二区三区不卡| 午夜视频在线观看一区二区| 久久福利资源站| 一本久久a久久精品亚洲| 欧美一区二区三区免费在线看| 国产三级欧美三级| 日本sm残虐另类| 91在线精品秘密一区二区| 欧美一区二区三区四区久久| 久久久久国产精品厨房| 亚洲成人自拍网| 99久久婷婷国产综合精品电影| 日韩免费在线观看| 亚洲国产欧美日韩另类综合| 成人看片黄a免费看在线| 欧美一级生活片| 亚洲国产aⅴ成人精品无吗| av在线不卡网| 日韩一卡二卡三卡国产欧美| 亚洲人成在线观看一区二区| 高清久久久久久| 精品成人一区二区三区四区| 午夜久久久久久久久久一区二区| 国产高清无密码一区二区三区| 9191成人精品久久| 丝袜美腿成人在线| 8v天堂国产在线一区二区| 丝袜美腿一区二区三区| 欧美在线观看视频一区二区| 亚洲人成电影网站色mp4| 国产成人av电影在线观看| 91精品国产一区二区三区| 亚洲国产aⅴ天堂久久| 色综合天天视频在线观看| 国产精品久久久久久户外露出 | 亚洲三级电影网站| av电影在线不卡| 亚洲欧洲在线观看av| 91丝袜美腿高跟国产极品老师 | 亚洲欧洲一区二区在线播放| 国产激情视频一区二区三区欧美| 日韩一级免费一区| 国内精品不卡在线| 久久久久九九视频| 国产成人免费视频网站| 亚洲国产精品精华液2区45| 懂色av一区二区三区免费观看| 国产情人综合久久777777| 波多野结衣中文字幕一区二区三区| 久久一区二区视频| 国产成人亚洲综合a∨婷婷图片| 欧美国产日韩精品免费观看| 91在线丨porny丨国产| 一区二区免费看| 91精品国产综合久久香蕉麻豆| 亚洲一区二区黄色| 日韩欧美一二三四区| 国产成人综合网| 亚洲综合成人在线| 91麻豆精品国产自产在线观看一区 | 色香蕉成人二区免费| 亚洲高清在线视频| 精品国产一区久久| 91丨九色丨国产丨porny| 午夜精品福利一区二区三区av| 欧美福利视频导航| 成人福利视频在线| 青青国产91久久久久久| 欧美激情中文不卡| 欧美日韩精品一区二区三区四区| 美腿丝袜在线亚洲一区| 欧美国产欧美亚州国产日韩mv天天看完整| 91一区二区在线| 国内精品久久久久影院薰衣草 | 欧美成人女星排名| 成人动漫视频在线| 日韩激情一区二区| 亚洲天堂成人网| 日韩你懂的在线观看| 欧美在线你懂的| 成人av在线一区二区| 日韩和欧美的一区| 中文字幕一区在线观看视频| 日韩一区二区影院| 一本到不卡精品视频在线观看| 美女一区二区视频| 亚洲成a人片在线不卡一二三区| 久久久久久久久一| 日韩一区二区三区在线视频| 97超碰欧美中文字幕| 麻豆国产精品一区二区三区| 伊人色综合久久天天人手人婷| 久久这里只有精品6| 91精品国产综合久久久久久久久久| 91小视频免费观看| 精品午夜一区二区三区在线观看| 亚洲自拍与偷拍| 国产精品成人午夜| 久久久亚洲精品石原莉奈| 日韩一区二区在线观看视频| 在线观看免费成人| 欧美性受xxxx| 91国内精品野花午夜精品| 成人av在线看| 99re热这里只有精品视频| 不卡欧美aaaaa| 北条麻妃国产九九精品视频|