data structures

10
Data Structures Summary of lectures (1 to 11) Azhar Maqsood NUST Institute of Information Technology (NIIT)

Upload: bridgit-kearney

Post on 30-Dec-2015

20 views

Category:

Documents


0 download

DESCRIPTION

Data Structures. Summary of lectures (1 to 11) Azhar Maqsood NUST Institute of Information Technology (NIIT). Features of c++ you need to know. Variables Parameter Passing Pointers Classes and Objects Inheritance Others. An Array!. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Data Structures

Data Structures

Summary of lectures (1 to 11)

Azhar MaqsoodNUST Institute of Information Technology (NIIT)

Page 2: Data Structures

Features of c++ you need to know

• Variables• Parameter Passing• Pointers• Classes and Objects• Inheritance• Others

Page 3: Data Structures

An Array!

The simplest form of an Array is a one dimensional array that may be defined as a finite ordered set of homogenous elements

• Two dimensional Arrays• Multiply a Matrix

Page 4: Data Structures

Structures and Classes

• A structure is an aggregate data structure used to keep different pieces of information together as a single data record

• A structure is a collection of named fields whereas a class is a collection of named fields and methods that apply to objects of that class type.

• Class: Methods, Inheritance, constructor and destructor•

Page 5: Data Structures

Linked List

• Consists of items that are linked to each other• Each item on the list is associated with a

reference (pointer) that indicates where the next item is found

• A dynamic data structure: grows and shrinks as necessary at runtime

• There are no unused/empty locations

Page 6: Data Structures

Singly Linked List

• Simplest form of linked list• Linked list object holds a reference to the first

node on the list• Each node object consists of a reference to the

data object being stored, and a reference to the next node in the list

• The pointer to the first node in the list is referred to as the head pointer, because it points to the head node in the list.

Page 7: Data Structures

Singly Linked List Operations

With a linked list, there are a standard set of functions that operate on the list:– Creating the list

Initialize pointers to NULL;– Inserting nodes

Insert at beginning Insert at middle Insert at last

– Deleting nodes Delete from beginning, middle, last

– Traversing the list– Destroying the list

Page 8: Data Structures

Other list flavors

• Doubly-linked list– Each node has a pointer to its successor and its

predecessor. • Faster insert/delete, but more space.

• Circular list– The last node points back to the head.

• Sorted list– Items stored in sorted order.

Page 9: Data Structures

What is a Stack

• A stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end called the TOP of the stack

• Data items are "popped" and "pushed" (retrieved and stored) from the top of the stack.

• Stacks normally have a maximum size.

• LIFO: Last In First Out

Page 10: Data Structures

Stack features• ORDERING: maintains order when elements added

(new elements are added to the end by default)

• OPERATIONS:– add element to end of list ('push')– remove element from end of list ('pop')– isEmpty()– isFull()– Top()

• Implementation of these operations