国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

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

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

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養 十大衛浴品牌排行 suno 豆包網頁版入口 wps 目錄網 排行網

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

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产精品久久久久久久久影视 | 精品欧美日韩| 日本高清视频一区| 色婷婷精品国产一区二区三区| 亚洲一区二区三区色| 欧美极品在线播放| 米奇精品一区二区三区在线观看| 精品国偷自产在线| 国产精品丝袜一区二区三区| 国产精品美女久久久久av福利| www.日韩欧美| 国产精品久久电影观看| 另类色图亚洲色图| 久久久久久999| 欧美激情一区二区三区久久久| 中文字幕中文字幕在线中心一区 | 久久亚洲综合网| 国产成人精品日本亚洲专区61| 久久久久久久久久码影片| 久久久精品国产| 精品国产一区二区三区麻豆小说| 精品国产91亚洲一区二区三区www| 伊人久久在线观看| 日韩免费av一区二区三区| 黄色大片中文字幕| 99久久国产免费免费| 国产va免费精品高清在线观看| 久热99视频在线观看| 九九热r在线视频精品| 亚洲三区在线| 欧美一区观看| 91久久精品国产| 国产精品免费一区二区| 亚洲一区二区三区精品视频 | 一卡二卡三卡视频| 日韩av电影免费在线| 欧美一二三不卡| 国产伦精品一区二区三区四区免费| 91国产精品91| 国产精品久久久久久久久久东京 | 91精品久久久久久久久久 | 久久综合狠狠综合久久综青草| 久久久www成人免费精品| 亚洲图片小说在线| 欧美深夜福利视频| 不卡一卡2卡3卡4卡精品在| 国产suv精品一区二区| 国产精品第2页| 日韩av综合在线观看| 国产色婷婷国产综合在线理论片a| www.日本在线视频| 国产精品久久久久久久久久久久久 | 色偷偷噜噜噜亚洲男人的天堂| 国产精品户外野外| 欧美一级欧美一级| 国产美女扒开尿口久久久| 深夜精品寂寞黄网站在线观看| 欧美麻豆久久久久久中文| 日韩中字在线观看| 国产日韩精品一区观看| 久久久国产精品免费| 熟妇人妻va精品中文字幕| 色噜噜狠狠一区二区三区| 国产精品自拍视频| 国产精品第二页| 欧美 日韩 国产 激情| 国产av熟女一区二区三区| 伊人久久99| 免费久久久一本精品久久区| 久久国产精品免费观看| 亚洲一区二区三区四区视频| 蜜桃传媒一区二区三区| 97精品视频在线| 久久99久久99精品免观看粉嫩| 日韩少妇内射免费播放| 久久久免费视频网站| 一区二区三区电影| 国产免费一区二区三区在线观看| 国产精品入口日韩视频大尺度 | 日本人妻伦在线中文字幕| 91精品视频免费观看| 欧美日韩ab片| 日韩精品视频一区二区在线观看| 91精品国产综合久久久久久丝袜| 色综合久久悠悠| 国产日韩综合一区二区性色av| 国产精品无码专区在线观看| 欧美精品二区三区四区免费看视频| 久久久久网址| 日韩久久久久久久久久久久久| 久久免费一区| 欧美一级免费在线观看| 久久久久久草| 青青视频免费在线观看| 色琪琪综合男人的天堂aⅴ视频| 日本精品视频在线观看| 久久久久亚洲精品国产| 日产精品久久久一区二区福利| 99久久99久久精品国产片| 午夜在线视频免费观看| 91久久久久久久久久久久久| 无码中文字幕色专区| 国产厕所精品在线观看| 日韩精品资源| 国产精品视频精品视频| 国产日本欧美在线| 亚洲国产精品日韩| 久久综合狠狠综合久久综青草| 日韩一二区视频| 国产精品日韩在线一区| 国产在线青青草| 亚洲最大av在线| 久久久人成影片一区二区三区观看| 日本三级韩国三级久久| 色黄久久久久久| 黄色网zhan| 一区二区三区一级片| 国产福利视频一区| 经典三级在线视频| 伊人婷婷久久| 久久久久久国产精品mv| 黄色网络在线观看| 亚洲综合色av| 俺去亚洲欧洲欧美日韩| 国产伦精品一区二区三区视频孕妇 | 五码日韩精品一区二区三区视频 | 国产精品中文在线| 日韩中文字幕组| 久久亚洲精品一区| 久久久水蜜桃| 欧美连裤袜在线视频| 在线码字幕一区| 久久99精品久久久久久水蜜桃| 狠狠色噜噜狠狠色综合久| 亚洲五月六月| 丝袜美腿亚洲一区二区| 国产欧美123| 日本久久久久久久久久久| 国产精品成人品| 国产成人福利网站| 国产精品主播视频| 欧美亚洲免费在线| 一本一生久久a久久精品综合蜜| 日韩在线视频观看正片免费网站| 精品视频一区二区在线| 手机在线观看国产精品| 欧美成人免费在线观看| 久久国产一区| 99在线观看| 国语对白做受xxxxx在线中国| 视频一区亚洲| 久久久久久国产| 国产精品日韩一区二区三区| av动漫在线看| 国模精品系列视频| 日韩欧美精品久久| 在线观看av的网址| 精品久久久久久亚洲| 国产精品无码专区av在线播放| 91免费版看片| 国产欧美日韩免费| 国内一区二区在线视频观看| 日本不卡二区| 少妇性饥渴无码a区免费| 亚洲综合在线小说| 欧美极品欧美精品欧美视频| 国产精品后入内射日本在线观看| 深夜成人在线观看| 国产成年人在线观看| 国产经典一区二区三区| 99热一区二区三区| 国产精品综合不卡av| 国产在线观看一区二区三区| 欧美极品日韩| 欧美中在线观看| 欧美中日韩在线| 欧美中在线观看| 欧美婷婷久久| 欧美亚洲日本网站| 欧美日韩dvd| 欧美高清一区二区| 欧美二区在线视频| 欧美 日韩 激情| 免费久久久一本精品久久区| 欧美成人第一区| 国内精品模特av私拍在线观看| 欧美精品一区二区三区三州| 欧洲亚洲一区二区三区四区五区| 日本成人黄色| 日韩视频在线播放| 日本精品久久久| 日本wwww视频| 欧美不卡三区| 国产伦精品一区二区三区| 粉嫩高清一区二区三区精品视频| 高清亚洲成在人网站天堂| 99三级在线| 九九九九免费视频| 国产精品露脸av在线| 精品不卡在线|