In this lab we will write a recursive sorting algorithm called MergeSort. MergeSort is a classic example of a divide and conquer programming algorithm.
The Algorithm was first described in 1945 by John von Neumann (1903-1957). Von Neumann would also be first to describe how computers could be designed to store programs. This "Von Neumann Architecture" forms the basis of most computing models today. He was also part of the Manhattan Project from 1943. In 1949 he was heard to say: "It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years."
MergeSort is an efficient sorting algorithm, but not not the fastest algorithm for sorting. One of the benefits of merge sort is it can be used for extremely large datasets that are too big to fit in memory. This was primary problem in 1945. It is still often used where the data being sorted is in removable storage(tape, disc, etc), and may exceed the ram and virtual storage of the machine performing the sort. We will be sorting using lists but the algorithm can be easily modified to sort files into files and then the actual memory requirements can be minimized.
MergeSort relies on a merge operation. Where two sorted list can be merged into a larger sorted list. In the lab today we will be sorting strings which will be accomplished using strcmp. strcmp(a,b) returns zero when string a is the same as string b. When comparing strings, in C, we cannot use ==, <, or > as that will compare the pointer addresses and not the characters. strcmp(a,b) returns a negative number when a precedes b using an ascii sort (not a dictionary sort but close enough for today). strcmp(a,b) returns a positive number when a follows b in an ascii sort. (this is often implemented as the char difference: a[i]-b[i] where i is the least of the last indexes of a or b or the first different character of a and b).
So string a is less than string b when strcmp(a,b) < 0 And string a is greater than string b when strcmp(a,b) > 0 And string a is equal to string b when strcmp(a,b) == 0
In the file you will be given a template for merge sort. An input and output file will be specified on the command line. You will read a the file specified on the command line (the file will contain no more than 3000 words) and sort the file using merge sort. Then write the file to the specified file location.
For reference here is how merge sort might be written for integers (You can find variations in Wikipedia). Merge Sort requires some extra space during the merge operation. And a copy of the values back as well..
HI..I am proficient in C/C++ programming with data structures, algorithms, OO Programming, AI programming and can help you implement recursive merge sort algorithms and test it in a console program.
Hi there.
How are you?
I am senior c/c++, C# developer and have a lot of experiences in this filed.
I am also familiar with assembly, debugging and algorithmes.
If you hire me I can make a good result in short time perfectly, 100% sure.
Please contact me and let's discuss in more details via chatting.
Waiting for your reply. Thank you.
Hi,
I have great experience in implementing many sorting algorithms from scratch in C as well as C++. I have read your detailed description and I clearly understand that a customized version of merge sort must be implemented for sorting strings and it must be used to sort words in a file.
I am very much interested in working on this amazing project and I am happy to help you in every way possible! Please feel free to contact me via chat so that we can discuss the design specifications
and start working on this amazing project right away!!!
Best Regards,
Aravind A
Hello, I'm interested in your project. So, I have checked your description well and I can start working on your project. Contact me with all the details and requirements for your project.
Hi There,
I am a senior PhD Level Expert and Have more than 5 years of experience in programming and can implement sorting algorithms.
Just check my profile and share your details.
Time and Budget will be discussed.
Thanks
Hello sir how are you doing? I have read the project detail and really interested in your project, I am full stack developer with multiple frameworks, I have great experience doing similar jobs regarding to these skills Algorithm, C++ Programming and C Programming.
Please start the chat, also I have some questions so we can have detailed discussion about project and finalize the timeline. Thanks
Regards
Umair
⚡️⚡️ I checked your project detail and my skill are fitted in your project.⚡️⚡️
Hi, I have been working with C/C++ and Algorithm development for over 5+ years..
I will do my best for good result you wanted.
Please contact me for good result.
Thanks.
My qualification is Msc Mechatronics and Control engineering.I am also working as lab engineer in one best university of Pakistan. I have done many academic project on C. I have performed many labs work on C.I also have conducted lab on C. I have use C# in my MS thesis& Project.I have read your description and also saw all images. I am confdent i can do it perfectly. I will give you best work on time. Give me a chance, so I can prove my work and Talent
Hello, I'm an aerospace engineer with 5 years of experience with Matlab, 3 with Python and C++.. I'm also expert in algorithm making and programming, with good knowledge of Math as well.. I can help you with your project, so if you feel interested please contact me for further details.
Hi! How are you doing?
I have read the project description and am interested in this job.
I am a final-year CSE student from NIT. I have a lot of experience with C/C++ and Ds algo.
Please msg me.
Looking forward to working with you
Hello. ⭐
Thanks for the opportunity to place a bid on this project.
I have read your project description and have interest in your project.
I have a lot of experience for C/C++/C# Programming, JavaScript, Node.js, Python, React, PHP.⭐..
I am confident that I can achieve the best result according to your needs.
If you need to discuss with me, please knock me any time.
I am looking forward to hearing from you very soon.
Thank you. ⭐
Hi!! Dear client.
I'm Arsen and very pleasure.
I'm a senior developer with web & C/C++/C# bacause I have rich experiences for your project.
I'd like to show my profile, When you have time to have a look.
I'm ready to start working on your project and can work your time zone.
So I can complete your project least time.
Looking forward to hearing from U.
Thank U.
Arsen.
Hi there,
I am a competetive programmer and can implement difficult algorithms in minutes. I have very good ratings on codeforces and codechef as well. I am well aware of mergesort and string sorting.
Thanks!