1 / 65

# Chapter 3 - PowerPoint PPT Presentation

Chapter 3. ADTs unsorted List and Sorted List. List Definitions. Linear relationship Each element except the first has a unique predecessor, and each element except the last has a unique successor. Length The number of items in a list; the length can vary over time. List Definitions.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Chapter 3

ADTs unsorted List and Sorted List

Linear relationship Each element except the first has a unique predecessor, and each element except the last has a unique successor.

Length The number of items in a list; the length can vary over time.

Unsorted list A list in which data items are placed in no particular order; the only relationship between data elements is the list predecessor and successor relationships.

Sorted list A list that is sorted by the value in the key; there is a semantic relationship among the keys of the items in the list.

Key The attributes that are used to determine the logical order of the list.

• Our lists are composed of unique elements.

• When sorted, our lists are sorted from the smallest to largest key value.

• We use the “by copy” approach.

• We use the programming “by contract” approach.

### Development of an Unsorted List ADT: UnsortedStringList

• Signature The distinguishing features of a method heading. The combination of a method name with the number and type(s) of its parameters in their given order.

• Overloading The repeated use of a method name with a different signature.

public boolean isFull ( )

// Returns whether this lis is full

{

return (list.length == numItems);

}

• public void delete (String item)

• // Deletes the element that matches item from this list

• {

• int location = 0;

• while (item.compareTo(list[location]) != 0)

• location++;

• If(isThere(item)

• {

• For( int I = location; i,<numItm-1;i++)

• list[i] = list[i+1];

• }

• }

• public void delete (String item)

• // Deletes the element that matches item from this list

• {

• int location = 0;

• while (item.compareTo(list[location]) != 0)

• location++;

• list[location] = list[numItems - 1];

• numItems--;

• }

UML Diagram of UnsortedStringList

Ways we could reuse the code of the Unsorted List ADT to create the code for the Sorted List ADT:

• Cut and Paste—”cut and paste” the code that we are able to reuse into the new file.

• Direct Inheritance—have the Sorted List ADT inherit methods from the Unsorted List ADT.

• Abstract Classes—resolve the deficiencies of both of the previousapproaches.

• We first create an abstract list class.

• Its concrete methods provide the operations that our two list ADTs share in common.

• Its abstract methods provide the operations that are not shared.

• Then create two concrete classes that extend the abstract list class.

• One that implements an unsorted list

• The other that implements a sorted list

• Please click on the following link Programs/C03P165.jpg to view the appropriate program.

• Please click on the following link Programs/C03P166.jpg to view the appropriate program.

### Abstract Data Type Sorted List

• Find the place where the new element begins.

• Create space for the new element.

• Put the new element on the list.

• Please click on the following link Programs/C03P180.jpg to view the appropriate program.

Big-O Notation A notation that expresses computing time (complexity) as the term in a function that increases most rapidly relative to the size of a problem

If

f(N) = N4 + 100N2 + 10N + 50

then f(N) is 0(N4).

N represents the size of the problem.

So far…

• An unsorted list of strings

• An unsorted list of strings that extended String List

• A sorted list of strings that extended String List

Next—

• Lists of generic data

Generic Data Type A type for which the operations are defined but the types of the items being manipulated are not

A ListCircle Class

• Please click on the following link Programs/C03P196.jpg to view the appropriate program.

• Please click on the following link Programs/C03P200.jpg to view the appropriate program.

• Please click on the following link Programs/C03P204.jpg to view the appropriate program.

To Create a sorted list of strings use either of its constructors:

SortedList list1 = new SortedList();

SortedList list2 = new SortedList (size);

Declare at least one object of class ListString

ListString aString;

Instantiate ListString objects and place them on the list.

aString = new ListString(“Amy”);

list.insert(astring)