Project Description:
You are to implement a Set ADT using a singly linked list where your data structure in your class will look something like this:
Note that this is a singly linked list with a dummy head node. Each node has two fields: the object and the link. You shouldn’t assume that data elements are integers. Instead, they should be objects.
An element either belongs to a set or it does not. No duplicates are allowed.
Here are the standard operations you must build into you set class. Note there are no exceptions raised.
contain: returns Boolean value. Returns true if the given object is contained in the set and false otherwise.
remove: returns Boolean value. Returns true if the node containing the object is removed from the set and false otherwise.
addElement: returns Boolean value. Returns false if element not added because it is already in the set and true if the element is added.
size: returns an integer equal to the number of distinct objects are in the Set.
subsetOf: returns a Boolean value true if every element in set A is in set B and false otherwise.
isEqual: returns true if both sets contain the same elements where order in either set does not count.
union: if A, B, C are sets, has the form C = A.union(B). Union returns a Set that contains all the elements in set A and B, but only list duplicates once.
intersection: if A, B, C are sets, has form C = A.intersection(B) and returns a set containing only elements that are common to both A and B, but no duplicates.
complement: if A, B, C are sets, has form C = A.complement(B) and returns a set containing only elements that are in A but not in B.
toString: displays a message that indicates an object’s state. An object’s state is the data that is stored in the object’s fields at any giving moment.
Remember from your CS130 that the empty set is a set and the empty set is a subset of every set. If A={1, 3, 5, 7}, B={3, 4, 5}, D = {}, THEN
if C=A.union(B): then C={1, 3, 4, 5, 7};
if C=A.intersection(B): then C={3, 5};
if C=A.complement(B): then C={1, 7};
D.subsetOf(A) returns true; D.subsetOf(B) returns true; D.subsetOf(C) returns true and; D.subsetOf(D) also returns true.
A.subsetOf(B) returns false, but (A.intersection(B)).subsetOf(A) returns true
You may implement the Set using either a Node outside the Set class with all its getters and setters or the way we covered in class where the node is a private class of set.
You must write a test program to test you Set ADT. Remember that when you test subset, union, intersection and complement, test each method with at least the following five cases:
Case 1: A and B are equal but distinct sets, for example, A = {1, 2, 3}, B = {2, 1, 3}
Case 2: A and B are such that they have different sizes but one is a subset of the other, for example, A = {1}, B = {1, 2}
Case 3: A and B are non-empty and different in size but have common elements, for example, A = {1, 2, 3}, B = {2, 3, 4, 5}
Case 4: they are non-empty with nothing in common, for example, A = {1}, B = {2, 3}, and
Case 5: one is non-empty and the other empty.
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Achiever Papers is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Dissertation Writing Service Works
First, you will need to complete an order form. It's not difficult but, if anything is unclear, you may always chat with us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download