Highlights
Task:
Introduction
This problem is based on the implementation of Doubly Linked Lists (for Assignment 1) and Binary Search Trees (for Assignment 2) and Balanced Binary Search Trees (AVL Trees for Assignment
3) in order to create a system to perform Memory Allocation. Now the first question that would intrigue us is What is Memory Allocation? Well in simple terms, it is the reservation of portions of the Computer memory for execution of processes. Thus, this system will be running on our machines and it will give out memories to the programs as requested by them (Ever heard of malloc?)
The above statement should get more clear once we delve into the details of this system. So mainly there are two types of Memory allocation:
• Static Memory Allocation: The system knows the amount of memory required in advance. From this, it can be inferred that memory allocation that would take place while defining an Array would be static as we specify it’s size earlier.
• Dynamic Memory Allocation: The system does not exactly know the amount of memory required. And so in this case, it would get requested for memory Dynamically. Linked
Lists creation is an example of Dynamic Memory Allocation.
PART-1
In this assignment, we make use of Doubly Linked Lists (remember the Flipped Class Homework?) in order to implement the Dictionary data structure. To make your work easier, we have written a few stub java files, with the abstract classes Dictionary, List, A1List. The precise semantics of the six dictionary functions Insert, Delete, Find, getFirst, getNext, sanity is given in the file List.java. Read the specifications given as comments in these files carefully and implement the six dictionary functions according to the given specifications using a doubly linked list data structure. A1.1 : Implement the following six functions Insert, Delete, Find, getFirst, getNext, sanity of the class Dictionary in the file A1List.java using doubly linked lists. Thor- oughly check and test your implementation. Your program should work correctly on all the inputs, not only on the test cases provided. You are expected to handle all the corner cases, as your pro- gram will be evaluated over a large set of test cases (including many more new test cases not given you earlier). In order to help you write program that work correctly on all the inputs, think of different invariants that your data structures should satisfy and code them in the function sanity. For debugging purposes, you might want to call this function before and after every operation.
PART-2
Now we will try to make your dictionary implementation more efficient so that your dynamic memory allocator can run faster. You are provided with the abstract class definitons of the class Tree and the specifications of the six dictionary functions Insert, Delete, Find, getFirst, getNext, sanity in the file Tree.java. You are supposed to implement the six functions of the dictionary using a binary search tree in the file BSTree.java.
A2.1 : Implement the functions Insert, Delete, Find, getFirst, getNext, sanity of the abstract class Dictionary --> Tree using binary search trees in BSTree.java. Thoroughly test yourm implementations. Your program should work correctly on all the inputs, not only on the test cases provided. You are expected to handle all the corner cases, as your program will be eval- uated over a large set of test cases (including many more new test cases not given you earlier). In order to help you write program that work correctly on all the inputs, think of different invariants that your data structures should satisfy and code them in the function sanity. For debugging purposes, you might want to call this function before and after every operation.
This COL10X : IT Assignment has been solved by our IT Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment Experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.