EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
expand_more
expand_more
format_list_bulleted
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
In Python, implement a hashing table data structure of size 20, which can cope with collisions. Thus, you must implement the closed collision system in its three modes:
Linear scanQuadratic scanDouble hashing scan. For halt use halt(k)= (k mod (m - 1)) + 1, where m is the size of the table.
The data to be managed are students from a certain university who have a 5-digit registration number and it is unique. In addition, the student has a name, age and address. Create a .txt file with 10 students (one for each line) and have them loaded into your program. Build a menu of options where you can:
- Find a student and print his data if found and position in the table. Otherwise print a "Not Found" message.
In Python, implement a hashing table data structure of size 20, which can cope with collisions. Thus, you must implement the closed collision system in its three modes:
Linear scanQuadratic scanDouble hashing scan. For halt use halt(k)= (k mod (m - 1)) + 1, where m is the size of the table.
The data to be managed are students from a certain university who have a 5-digit registration number and it is unique. In addition, the student has a name, age and address. Create a .txt file with 10 students (one for each line) and have them loaded into your program. Build a menu of options where you can:
- Enter a new student. For this option, that only allows entering the 5-digit license plate and that random data is automatically generated for the name, age and address. Return the position where it was entered and if it is not possible to enter it, print a message that explains why the entry was not obtained.
Implement a commonly used hash table in a program that handles collision using linear probing. Using (K mod 13) as the hash function, store the following elements in the table: {1, 5, 21, 26, 39, 14, 15, 16, 17, 18, 19, 20, 111, 145, 146}.
Chapter 10 Solutions
EBK DATA STRUCTURES AND ALGORITHMS IN C
Knowledge Booster
Similar questions
- 1. Consider an open hash (that is, one that deals with collisions by using a linked list) with a million entries. The hash algorithm takes 200ns to run, each comparison of objects takes 10ns, and everything else involved in the lookup takes trivial time. How large does the hash table need to be to use less time on chained comparisons than on the initial hash lookup? (Remember that you always have to compare once.)arrow_forwardImplement a dynamically resizable hash table to store book names and 10-digit ISBN numbers. Use an initial table size of 11 and a load factor of 0.70. Use the extraction method with division using the last three digits of the ISBN as the first hash address. For a collision, use linear probing. For your testing, make sure you deliberately code ISBNs so that collisions will occur, and demonstrate how the same set of values can result in different hashes, depending on the order in which they are added. Test adding items until the hash table must be resized. Test finding and removing items from the hash table.arrow_forwardCan you give me example of quadratic probing in C++ ? The quadratic problem function has one input, call it m where m is a int. The return type is an int. For example, you have the serial number 2232012, quadProb(2232012) will return an int. Assume that the hash table size is 450. Assume that you are working with an uninitialized 2D array. Also write an insert() function to populate this 2D array.arrow_forward
- Suppose we have a hash map that uses the standard “mod” hash function shown in the chapter and uses linear probing for collision resolution. The starting hash table length is 5, and the table chooses to rehash to twice its former size once the load factor reaches or exceeds 0.5. If we begin with an empty map, what will be the final state of the hash table after the following key/value pairs are added and removed? Draw the entire array and the contents of each index, including any resizing and rehashing necessary. Write “X” in any index in which an element is removed and not replaced by another element. Also write the size, capacity, and load factor of the final hash table. HashMap<Integer, String> map = new HashMap<Integer, String>(); map.put(7, "Jessica"); map.put(34, "Tyler"); map.put(17, "Ryan"); map.put(15, "Tina"); map.put(84, "Saptarshi"); map.remove("Tyler"); map.put(7, "Meghan"); map.put(33, "Kona"); map.remove(17); map.put(6, "Tina"); map.remove(84); map.put(15,…arrow_forwardIn Python, implement a hashing table data structure of size 20, which can cope with collisions. Thus, you must implement the closed collision system in its three modes: Linear scanQuadratic scanDouble hashing scan. For h_alt use h_alt(k) = (k mod (m - 1)) + 1, where m is the size of the table. The data to be managed are students from a certain university who have a 5-digit registration number and it is unique. In addition, the student has a name, age and address. Create a .txt file with 10 students (one for each line) and have them loaded into your program. Build a menu of options where you can: - Find a student and print his data if found and position in the table. Otherwise print a "Not Found" message. - Delete a student and return the position from which it was eliminated. If the student does not exist, print a message. - Enter a new student. For this option, that only allows entering the 5-digit license plate and that random data is automatically generated for the name, age and…arrow_forwardWrite a program using C++ that uses a hashing algorithm to create a list of students present in a class. Consider the student numbers as keys, while implementing rotation, fold boundary methods and linear probing (include modulo division if necessary) for an array-based list of length 1000. After creating the list, allow the user to search for the name of a student and report its student number.arrow_forward
- Assume an open addressing hash table implementation, where the size of the array is N = 19, and that double hashing is performed for collision handling. The second hash function is defined as: d(k) = q -k mod q, where k is the key being inserted in the table and the prime number q is = 7. Use simple modular operation (k mod N) for the first hash function. i) Show the content of the table after performing the following operations, in order:put(45), put(25), put(12), put(61), put(38), put(88), remove(12), put(39), remove(61), put(18), put(29), put(29), put(35).i) What is the size of the longest cluster caused by the above insertions? ii) What is the number of occurred collisions as a result of the above operations? iii) What is the current value of the table’s load factor?arrow_forwardConsider the idea of implementing modular hashing for integer keys with thecode (a * k) % M , where a is an arbitrary fixed prime. Does this change mix up thebits sufficiently well that you can use nonprime M?arrow_forwardSuppose you have a hash table with seven entries (indexed 0 through 6). This table uses open addressing with the hash function that maps each letter to its alphabet code (a = A = 0, etc.) modulo 7. Rehashing is accomplished using linear-probing with a jump of 1. Describe the state of the table after each of the letters D, a, d, H, a, and h are added to the table.arrow_forward
- Write a program that animates quadratic probing,as shown in Figure . You can change the initial size of the hash-table in theprogram. Assume the load-factor threshold to be 0.8.arrow_forward- In class HashTable implement a hash table and consider the following:(i) Keys are integers (therefore also negative!) and should be stored in the tableint[] data.(ii) As a hash function take h(x) = (x · 701) mod 2000. The size of the table istherefore 2000. Be careful when computing the index of a negative key. Forexample, the index of the key x = −10 ish(−10) = (−7010) mod 2000 = (2000(−4) + 990) mod 2000 = 990.Hence, indices should be non-negative integers between 0 and 1999!(iii) Implement insert, which takes an integer and inserts it into a table. Themethod returns true, if the insertion is successful. If an element is already inthe table, the function insert should return false.(iv) Implement search, which takes an integer and finds it in the table. The methodreturns true, if the search is successful and false otherwise.(v) Implement delete, which takes an integer and deletes it form the table. Themethod returns true, if the deletion is successful and false otherwise.(vi)…arrow_forwardImplement the three self-organizing list heuristics: Count – Whenever a record is accessed it may move toward the front of the list if its number of accesses becomes greater than the record(s) in front of it. Move-to-front – Whenever a record is accessed it is moved to the front of the list. This heuristic only works well with linked-lists; because, in arrays the cost of shifting all the records down one spot every time you move a record to the front is too expensive. Transpose – whenever the record is accessed swap it with the record immediately in front of it. Compare the cost of each heuristic by keeping track of the number of compares required when searching the list. Additional Instructions Use the SelfOrderedListADT abstract data type and the linked-list files I have provided to implement your self-ordered lists. You may incorporate the author’s linked list implementation via inheritance or composition, which ever makes the most sense to you (I will not evaluate that aspect of…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education