Project Description:You are to implement a Set ADT using a singly linked list where your data structure in your class…

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.

Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our Guarantees

Money-back Guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism Guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision Policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy Policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation Guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more