EBK DATA STRUCTURES AND ALGORITHMS IN C
EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
bartleby

Concept explainers

Question
Book Icon
Chapter 3, Problem 22E
Program Plan Intro

Self-organizing list:

  • A self-organizing list, a kind of list which reorders its records depending on few heuristic self-organizing approaches to increase the average access time.
  • The main goal of this is to increase the efficiency of the linear search by moving the most often accessed records to the head of the list.
  • A self-organizing list attains a best case of constant time (nearly) for accessing records.

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) Efficiency of the methods when the list is implemented as a singly linked list:

  • When the list is implemented as a singly linked list, a record node could be separated from the middle of the list; therefore, either two pointers are required when traversing the list, one pointer is used for the present node and the other pointer is used for the preceding node...

Explanation of Solution

(c) Efficiency of the methods when the list is implemented as a doubly linked list:

  • When the list is implemented as a doubly l...

Blurred answer
Students have asked these similar questions
Both array lists and linked lists are examples of how a list may be implemented. Discuss a scenario when a linked list might be preferable than a list stored in an array. Explain your reasoning in each situation.
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.
What are the requirements for determining if a linked list T is empty if T is one of the following: (i) a simple singly linked list, (ii) a headed singly linked list, (iii) a simple circularly linked list, or (iv) a headed circularly linked list?
Knowledge Booster
Background pattern image
Computer Science
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
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning