EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 3, Problem 20E
Program Plan Intro
Techniques for rearranging nodes in the List:
- While ordering the records in the self-organizing list, normally the access probabilities of the records aren’t well known before.
- This issue led the researchers to develop several heuristics to estimate optimal behaviour.
- Some basic approaches used for reordering the records in the self-organizing list are given below.
- Move–to–front method (MFT)
- Transpose method.
- Count method.
- Ordering method.
Move–to–front method (MFT):
- After the required record is sited, keep that at the head of the list.
Transpose method:
- After the required record is sited, interchange that with its precursor.
Count method:
- Ordering the self-organizing list by number of times the records are being processed.
Ordering method:
- Ordering the self-organizing list by using definite criteria for information under analysis.
Explanation of Solution
(b) Cases in which the methods need an exhaustive search of the lists for every search:
- A list “L” is searched exhaustively by the move to front method while searching for its last record. This needs the data to be composed in the same sequences of records as in the list “L”, however in the reverse order. For instance, if the list
L = (p x r y) then the data sequence has to be (y r x p y r x p y r x p y…)...
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
I need a reference page for this question that was answered below.
What is the difference between a singly-linked list and a doubly-linked list?
In what situation would you use a singly-linked list over a doubly-linked list?
In what situation would you use a doubly-linked list over a singly-linked list?
If a node is in a linked list with N nodes, how many nodes will be traversed during a search for the node?
Explain the best- and worst-case search scenarios.
Explain why a singly-linked list defines a RemoveAfter() function, while a doubly-linked list defines a Remove() function.
Could a RemoveAfter() function also be defined for a doubly-linked list? Explain why or why not.
Could a Remove() function also be defined for a singly-linked list? Explain why or why not.
Given a scenario where you need to efficiently insert elements at the beginning of a list, which type of linked list would be most suitable? Explain why.
What is the difference between a singly-linked list and a doubly-linked list?
In what situation would you use a singly-linked list over a doubly-linked list?
In what situation would you use a doubly-linked list over a singly-linked list?
Chapter 3 Solutions
EBK DATA STRUCTURES AND ALGORITHMS IN C
Ch. 3 - Prob. 1ECh. 3 - Prob. 2ECh. 3 - Prob. 3ECh. 3 - Prob. 4ECh. 3 - Prob. 5ECh. 3 - Prob. 6ECh. 3 - Prob. 7ECh. 3 - Prob. 8ECh. 3 - Prob. 9ECh. 3 - Prob. 10E
Ch. 3 - Prob. 11ECh. 3 - Prob. 12ECh. 3 - Prob. 13ECh. 3 - Prob. 14ECh. 3 - Prob. 15ECh. 3 - Prob. 16ECh. 3 - Prob. 17ECh. 3 - Prob. 18ECh. 3 - Prob. 19ECh. 3 - Prob. 20ECh. 3 - Prob. 21ECh. 3 - Prob. 22ECh. 3 - Prob. 23ECh. 3 - Prob. 24ECh. 3 - Prob. 25ECh. 3 - Prob. 1PACh. 3 - Prob. 2PACh. 3 - Prob. 3PACh. 3 - Prob. 5PACh. 3 - Prob. 7PA
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- In this question, you are to implement two functions for reversing linked lists. One function, reverse_iter(..), must use an iterative approach (i.e., loops), whereas the other function, reverse_rec(..), must use recursion instead. We have already implemented the linked list as well as all its helper-functions in the Ilist-module.arrow_forwardAssume that lists are implemented using an array. For each of the following List methods, say whether (in the worst case) the number of operations is independent of the size of the list (is a constant-time method), or is proportional to the size of the list (is a linear-time method)• the constructorarrow_forwardWhat are the advantages of a linked list over an array? In which scenarios do we use Linked List and when Array?arrow_forward
- The add operation is the only way an element can be added to an ordered list. Nolocation is specified in the call because the elements themselves determine their order.Very much like the remove operation, the add operation requires a combination ofcomparisons and shifts: comparisons to find the correct location in the list and thenshifts to open a position for the new element. Looking at the two extremes, if theelement to be added to the list belongs at the front of the list, that will require onecomparison and then the other n – 1 elements in the list will need to be shifted. If theelement to be added belongs at the rear of the list, this will require n comparisons, andnone of the other elements in the list will need to be shifted. Like the remove operation, the add operation requires n comparisons and shifts each time it is executed, andthus the operation is O(n). implemente The add operationd?arrow_forwardThe Bubble Sort for a list of numbers x0, x1, . . . , xn works as follows: (i) if x0 > x1, switch their values; (ii) now do the same for x1 and x2, then for x2 and x3, all the way down the list to xn−1 and xn; (iii) if at least one switch was made go back to (i), otherwise you’re done. When you’re done you will have x0 x1 x2 · · · xn. Write a program BubbleSort.py to ask the user for the number n. Generate n + 1 random numbers x0, x1, . . . , xn on the interval [0, 1] using random.random(). Bubble sort the numbers and present them in increasing order. I’m sure you can find code to do this online but WRITE YOUR OWN CODEarrow_forwardWhat is the difference between a singly-linked list and a doubly-linked list? In what situation would you use a singly-linked list over a doubly-linked list? In what situation would you use a doubly-linked list over a singly-linked list? If a node is in a linked list with N nodes, how many nodes will be traversed during a search for the node? Explain the best- and worst-case search scenarios. Explain why a singly-linked list defines a RemoveAfter() function, while a doubly-linked list defines a Remove() function. Could a RemoveAfter() function also be defined for a doubly-linked list? Explain why or why not. Could a Remove() function also be defined for a singly-linked list? Explain why or why not.arrow_forward
- In this assignment, you will expand on the information provided in the course to answer the following questions in a 2- to 3-page paper: What is the difference between a singly-linked list and a doubly-linked list? In what situation would you use a singly-linked list over a doubly-linked list? In what situation would you use a doubly-linked list over a singly-linked list? If a node is in a linked list with N nodes, how many nodes will be traversed during a search for the node? Explain the best- and worst-case search scenarios. Explain why a singly-linked list defines a RemoveAfter() function, while a doubly-linked list defines a Remove() function. Could a RemoveAfter() function also be defined for a doubly-linked list? Explain why or why not. Could a Remove() function also be defined for a singly-linked list? Explain why or why not.arrow_forwardIn this assignment, you will expand on the information provided in the course to answer the following questions in a 2- to 3-page paper: What is the difference between a singly-linked list and a doubly-linked list? In what situation would you use a singly-linked list over a doubly-linked list? In what situation would you use a doubly-linked list over a singly-linked list? If a node is in a linked list with N nodes, how many nodes will be traversed during a search for the node? Explain the best- and worst-case search scenarios. Explain why a singly-linked list defines a RemoveAfter() function, while a doubly-linked list defines a Remove() function. Could a RemoveAfter() function also be defined for a doubly-linked list? Explain why or why not. Could a Remove() function also be defined for a singly-linked list? Explain why or why not. Format your paper according to appropriate course-level APA guidelines.arrow_forwardImplementing a Double-Ended List:Includes the firstLastList.cpp programme, which shows how to implement a double-ended list. (By the way, don't mix up the double-ended list with the double linked list, which we'll look at later in Hour 10, "Specialised Lists.")arrow_forward
- Please fast...... avoid plagiarism Explain in your own words the steps necessary to add a value to the tail of a single-ended, singly-linked list. The list should have a reference (pointer) to its head and should terminate in nullptr/NULL/none. Make sure you deal with all possible cases.arrow_forwardQuestion 18 Write down the following methods of Single Linked List Implementation. i. addAfter ii. removeAfterarrow_forwardFor linked lists, use a natural mergesort. Since it doesn't take up extra space and is certain to be linearithmic, this method is the one used to sort linked lists.For linked lists, use a natural mergesort. Since it doesn't take up extra space and is certain to be linearithmic, this method is the one used to sort linked lists.For linked lists, use a natural mergesort. Since it doesn't take up extra space and is certain to be linearithmic, this method is the one used to sort linked lists.For linked lists, use a natural mergesort. Since it doesn't take up extra space and is certain to be linearithmic, this method is the one used to sort linked lists.For linked lists, use a natural mergesort. Since it doesn't take up extra space and is certain to be linearithmic, this method is the one used to sort linked lists.For linked lists, use a natural mergesort. Since it doesn't take up extra space and is certain to be linearithmic, this method is the one used to sort linked lists.For linked…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