合肥生活安徽新闻合肥交通合肥房产生活服务合肥教育合肥招聘合肥旅游文化艺术合肥美食合肥地图合肥社保合肥医院企业服务合肥法律

BE205编程代写、C/C++程序代做
BE205编程代写、C/C++程序代做

时间:2025-01-17  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



Homework 2: experiments with data 
structures for searching 
 
BE205 2024 MUST 
Overview 
We have learned several data structures that can support data storage and searching, including: 
AVL tree (self-balancing binary search tree)
Hash table
Binary Heap (priority queue). 
In this homework, we will write a C/C++ program to use these data structures. More exactly, your 
program should accomplish the following tasks: 
Tasks 
Part 1: Read the words from a file to a linked list 
 A token is a sequence of letters. For example for the sentence: 
That I could make those people dance, 
And maybe they'd be happy for a while. 
The sequence of words, described here as a string marked by double quotes, will be : 
"That" "I" "could" "make" "those" "people" "dance" "And" "maybe" "they" "d" "be" "happy" 
"for" "a" "while"
<Task 1.1> 
 Open an input file message.txt (provided with this homework). It includes a paragraph of the 
lyrics of the song "American Pie" and an English article excerpt from the book "Tractatus LogicoPhilosophicus"
 written by the philosopher Ludwig Wittgenstein. 
<Task 1.2> 
Read the sequence of words into a linked list 
Each node of the linked list should contain a string, which is the word. 
You can choose to use a C-string or a C++ string object. 
Do not use some library of linked lists. The nodes should be defined in your code. 
Hint: The provided code for reading a word can be useful. 
<Task 1.3> 
Print the words in the linked list. Maybe something like :
 1) That --> 2) I --> 3) could --> 4) make --> 5) those --> 6) people --> 7) 
dance --> 8) And --> 9) maybe --> 10) they --> 11) d --> 12) be --> 13) happy --> 
14) for --> 15) a --> 16) while You can design the printing visual effect. 
Part 2 AVL Tree Construction 
<Task 2.1> 
Insert the words in list (built in task 1.2) one by one into an AVL Tree
Each node in the tree should store:
A distinct word (case ignored, e.g., "The" is the same as "the").
The count of occurrences of the word.
Nodes are ordered alphabetically by the word (dictionary order).
<Task 2.2> 
Print the tree. 
Hint: the provided the helpful code of printing a tree can be useful. 
<Task 2.3> 
Print the words (with their occurrence number) in the tree, in ascending dictionary order. 
Hint: using some traversal on the tree. 
Part 3 Hash Table 
Task 3.1 
Build a Hash table. Insert the words of the list of task 1.2, one by one, into the list. Here are some 
requirements: 
Each item in the hash table should be a pair <word, count> , So, when trying to insert a 
word again into the table, its count should increase. 
The programmer can choose 
the size of the hash table (array size).
a collision resolution strategy (separate chaining, linear probing, or quadratic probing).
Task 3.2 
Search on the hash table 10 words that are in the input file. Also, seach 5 words that are not 
in the input file
When a word is found, print the word together with its count. 
When a word is not found, print a message like "The word is not found".
The printing result could be like: Part 4 : Binary Heap 
<Task 4.1> 
Build a binary heap where each node stores a pair <word, count> . Here are some description
The order between two pairs is defined as follows:
<word1, count1> is less than <word2, count2> if 
count1 < count2 
or, count1 == count2, but word1 < word2 by the dictionary order. 
<Task 4.2> 
Print the <word, count> pairs on the heap in an ascending order (the order is defined above). 
Hint: Just pop the items from the binary heap and print them individually. 
 
Submission 
A most three students can form a group to do the assignment together. Only one student in 
the group needs to submit the homework. 
The files to be submitted on Moodle include: 
A .zip file containing all the source code files of your program.
Proper modularization by dividing your program into multiple files is encouraged. 
Putting all code in one text file is not good for this assignment. 
A text report file. The format can be (.docx, pdf, etc.). The file should describe 
What tasks have you accomplished? What are the remaining problems? 
The cooperation and workload sharing among the members of the group. 
Anything you want to describe, like the troubles you met and how you dealt with 
the problems. 
For the submission deadline, see the setting of this homework on the Moodle webpage. 
 
Search: facts       Found, Count: 3
Search: picture     Found, Count: 2
Search: logical     Found, Count: 2
Search: world       Found, Count: 2
Search: truth       Found, Count: 1
Search: representation Found, Count: 1
Search: philosophy   Not found
Search: language     Not found
Search: model       Found, Count: 1
Search: science     Not found
...
请加QQ:99515681  邮箱:99515681@qq.com   WX:codinghelp

扫一扫在手机打开当前页
  • 上一篇:防静电门禁系统-ESD防静电门禁工程方案-苏州讯诺
  • 下一篇:被悠悠分期自动下款怎么联系客服?悠悠分期客服电话是多少?
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    戴纳斯帝壁挂炉全国售后服务电话24小时官网400(全国服务热线)
    戴纳斯帝壁挂炉全国售后服务电话24小时官网
    菲斯曼壁挂炉全国统一400售后维修服务电话24小时服务热线
    菲斯曼壁挂炉全国统一400售后维修服务电话2
    美的热水器售后服务技术咨询电话全国24小时客服热线
    美的热水器售后服务技术咨询电话全国24小时
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
  • 币安app官网下载 短信验证码

    关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

    Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥网 版权所有
    ICP备06013414号-3 公安备 42010502001045