
Code in Java
Using the binary search tree (BST) data structure, we can sort a sequence of n elements by first calling an
insertion procedure for n times to maintain a BST, and then performing an Inorder-Tree-Walk on the
BST to output the elements in sorted order.
In this
the improved insertion procedure. Note that each node of a BST is an object containing four attributes:
key (for the value of an element), lef t (for its left child), right (for its right child), and p (for its parent).
Please add a static counter to track the number of key comparisons made by your algorithm. Your program
will output the following
1. The size of the input array,
2. The input array,
3. The list of array elements after sorting, and
4. The number of key comparisons made.

Trending nowThis is a popular solution!
Step by stepSolved in 2 steps with 1 images

- Implement a __setitem__ function that also supports negative indices. For example: W = L2(Node(10, Node(20, Node(30))))print W[ 10, 20, 30 ] W[1]=25print W[ 10, 25, 30 ] W[-1]=35print W[ 10, 25, 35 ] Complete the code: def L2(*args,**kwargs): class L2_class(L): def __getitem__(self, idx): <... YOUR CODE HERE ...> def __setitem__(self, idx, value): <... YOUR CODE HERE ...> return L2_class(*args,**kwargs) W = L2(Node(10, Node(20, Node(30))))print(W)W[1]=25print(W)W[-1]=35print(W)arrow_forwardCode in Python:arrow_forwardCollapse positive integer intervals def collapse_intervals(items): This function is the inverse of the previous problem of expanding positive integer intervals. Given a nonempty list of positive integer items guaranteed to be in sorted ascending order, create and return the unique description string where every maximal sublist of consecutive integers has been condensed to the notation first-last. Such encoding doesn’t actually save any characters when first and last differ by only one. However, it is usually more important for the encoding to be uniform than to be pretty. As a general principle, uniform and consistent encoding of data allows the processing of that data to also be uniform in the tools down the line. If some maximal sublist consists of a single integer, it must be included in the result string all by itself without the minus sign separating it from the now redundant last number. Make sure that the string returned by your function does not contain any whitespace…arrow_forward
- C PROGRAMMING Implement dijkstras alorithm Check that the Graph graph, and starting node, id, are valid• Create the set S containing all the networks (vertices) except the source node (you might wantto use an array for this.• Create an array to represent the table D and initialise it with the weights of the edges from thesource node, or infinity if no edge exists. You should use the constant DBL_MAX to representinfinity.• Create an array to represent the table R and initialise it with the next hops if an edge existsfrom the source, or 0 otherwise.• Then repeatedly follow the remaining rules of Dijkstra’s algorithm, updating the values in D andR until S is empty.• Each of the values required to complete the above can be found by calling the variousfunctions (get_vertices(), get_edge(), edge_destination(), edge_weight(), etc.)in the supplied graph library.• Once Dijkstra’s algorithm has run, you will need to create the routing table to be returned byallocating enough memory for the…arrow_forwardCreate three problem instances of size n is around 10, representing the best-case, worst-case and average-case for Radix Sort respectively. Show how the Radix Sort works on the best-case, and explain why each of them represents the best-case, worst-case and average-case respectively. psudocode for Radixsort attachedarrow_forwardWrite a program that maintains a personal phone book in C. The program allows to:▪ Add and Delete entries from the phone book,▪ Search the phone book for a specific entry by last name or by phone number, and▪ Print out the entire entries in the phone book.The data in the phone book is maintained by storing in memory with the use of a singly linked list, withone list node per entry. Each node contains members for storing a person’s family name, first name, address,and the phone number. Use strings to store this information. The linked list must be kept in increasingalphabetical order, sorted by family name. There are no duplicate entries with the same family nameallowed in the phone book. This program should be menu driven, with the user being offered a choice of the following commandsdescribed below:▪ Insert a new entry into the phone book.The program should prompt the user for a new family name and first name, an address and a phonenumber. This information should be placed in a new…arrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





