Suppose you are inside of a sentineled, doubly-linked list class as specified in project 2. The method below correctly finds the first index of a value in that list, raising a ValueError exception if the item is not found. Some parts have been removed. Using the minimum possible syntactically valid spacing in your answers, fill in the missing code. Assume that the Node's public attributes are next, previous, and value. Note that none of your responses should contain colons. As a reminder, the linked list implementation provides the following methods:
insert_element_at(value, index)
#cannot be used to append
append_element(value)
get_element_at(index)
remove_element_at(index)
__len__
#support for the len method to obtain the list's
size
def
index_of(self, val):
= self.__header.next
index =
while
current :
if
:
return
index =
raise
ValueError
and what is the perforamnce of this code?
Here is the completed code for this problem. Comments are included, go through it, learn how things work and let me know if you have any doubts or if you need anything to change. If you are satisfied with the solution, please rate the answer. If not, PLEASE let me know before you rate, I’ll help you fix whatever issues. Thanks
Note: Please maintain proper code spacing (indentation), just copy the code part and paste it in your compiler/IDE directly, no modifications required.
#code
#the completed implementation of this method
def index_of(self, val):
#line1
current=self.__header.next #setting
self.__header.next (first node) as current.
#line2
index = 0 #setting 0 as index.
#line3
while current:
#looping until current is None (no change needed).
#line4
if
current.value==val: #checking if current.value is same as val.
#line5
return index #returning index.
#line6
index = index+1
#otherwise incrementing index. #line7
raise ValueError
#line8
'''
So the missing code in the above function are:
'current' on line 2, before = sign
'0' on line 3, after = sign
no error on line 4, although while current!=None is the right
syntax
'current.value==val' after if before : on line 5
'index' on line 6, after return
'index+1' on line7 after = sign
The function loops through each and every node on the linked list
to find val, so the performance is linear
(time complexity: O(n))
'''
Suppose you are inside of a sentineled, doubly-linked list class as specified in project 2. The...
i need to create methods that: append_element(self, val) This method should increase the size of the list by one, adding the specified value in the new tail position. This is the only way to add a value as the tail. insert_element_at(self, val, index) If the provided index identifies a valid zero-based position within the list, then insert the specified value at that position, increasing the length by one. This method can be used to insert at the head of a...
from __future__ import annotations from typing import Any, Optional class _Node: """A node in a linked list. Note that this is considered a "private class", one which is only meant to be used in this module by the LinkedList class, but not by client code. === Attributes === item: The data stored in this node. next: The next node in the list, or None if there are no more nodes. """ item: Any next: Optional[_Node] def __init__(self, item: Any) ->...
Part I: Create a doubly linked circular list class named LinkedItemList that implements the following interface: /** * An ordered list of items. */ public interface ItemList<E> { /** * Append an item to the end of the list * * @param item – item to be appended */ public void append(E item); /** * Insert an item at a specified index position * * @param item – item to be...
python
Programming assignment: Let's think about doubly-linked lists. Define a class ListNode2, with three attributes: item, left, and rightL. Left link points to the previous node in the list, right link points to the next node in the list. You can also add the display method to this class (like we did it in class for the ListNode class). Then test your class. For example, create a linked list of 5 values: 34,1, 23, 7, and 10. Display it. Then...
1. Implement Doubly Linked List get method which behaves like the operator [] of array. - It takes an integer parameter i as the index, it throw an Exception if the index i is illegal, returns the element at given index i, it traverse from the header of the list if index i is in the lower end of the list(less than half of the size), and traverse from the trailer of the list if index i is in the...
Write an implementation similar to the Priority Queue method (from chapter 26) to the linked list using node. (from chapter 24). Your code should utilize the selectionsort method from attached and create another method call selectionsort in linkedlist class. To demonstrate the usage of the selection sort method, you should manually create a link list of random integer (say of 5 numbers), and you need to demonstrate the use the selection sort to sorted the link list. Please submit your...
Python question. i have to start from an empty linked list, using the method addNodeEnd() to add the nodes containing the values (3*i+5)%17, where i is from 0 to 10. Then print the values of all the nodes in this linked list to the screen. This is the code that i created right here and i need help checking if i made any mistakes thanks! The code is below: class Node: def __init__(self, data): self.data = data self.next = None...
Linked Lists: Suppose you have a doubly linked list with both head and tail pointers, that stores integers. Implement a non-recursive function that takes a linked list, searches for an integer, and removes the node with the first occurrence of that integer and also removes the node directly after it regardless of value . This function will return to address of the resulting list. You ca n assume that there will be at least three nodes, and if there is...
Implement the class MaxHeapPriorityQueue as a heap with the following operations: • MaxHeapPriorityQueue() creates a new heap that is empty. It needs no parameters and returns nothing. Note that as discussed in the video lecture, the index range of the array implementation of a heap is 1:n, NOT 0:n-1 • parent(index) returns the value of the parent of heap[index]. index is between 1 and the size of the heap. If index<=1 or index>size of the heap, it returns None •...
please be thorough with
explanations. thank you
Question 2 Consider the implementation we made in class for ArrayList, and its extensions you did in the lab. In this question, we will add two more methods to this class: the insert method and the pop method. For this question, please submit the modified ArrayList class. a) Implement the method insert (self, index, val) that inserts val before index (shifting the elements to make room for val). For example, your implementation should...