Data Structures and Applications - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Data Structures and Applications

Description:

Some operations such as insertion and deletion are cheaper. than the data structure array. ... Insert a new node at the end. Delete. 1. 2. 3. 4. null. head ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 19
Provided by: Office2004964
Category:

less

Transcript and Presenter's Notes

Title: Data Structures and Applications


1
Data Structures and Applications
  • Hao Jiang
  • Computer Science Department
  • Boston College

2
Linked List
head
1
2
3
4
null
Node head Node v1 new Node(1) Node v2 new
Node(2) Node v3 new Node(3) Node v4 new
Node(4) head v1 v1.next v2 v2.next
v3 v3.next v4 v4.next null
class Node public int d public Node
next public Node(int d)
this.d d next null
3
Some Properties
head
1
2
3
4
null
A list is dynamic the length of a list is
determined in the runtime. Some operations such
as insertion and deletion are cheaper than the
data structure array.
4
Insert
head
1
2
3
4
null
100
Insert a new node at position 1.
5
Insert in the Front
head
1
2
3
4
null
100
Insert a new node at position 0.
6
Insert at the End
head
1
2
3
4
100
null
Insert a new node at the end.
7
Delete
head
1
2
3
4
null
Delete a new node at position 1.
8
Delete from the Front
head
1
2
3
4
null
Delete a node at position 0.
9
Delete the Last Node
head
1
2
3
4
null
null
Delete the last node in the list.
10
A List of Objects
head
obj1
obj2
obj3
obj4
null
class Node public Object d public
Node next public Node(Object d)
this.d d next null

11
A More Accurate Illustration
obj1
obj2
obj3
obj4
head
null
A list of objects.
12
List Class
public class List private Node head
public List() head null public
boolean isEmpty() return (head null)
public int length(Node h) if (h
null) return 0 return 1
length(h.next) public int length()
return length(head) public void
append() public void insert(int n,
Object d) public Object delete(int n)
public void print()

13
Queue
  • A queue is a first-in-first-out linear data
    structure.
  • It supports two operations
  • void enQueue(Object d)
  • Object deQueue()

Data Out
Data In
14
Stack
  • A stack is a first-in-last-out linear data
    structure.
  • It supports two operations
  • void push(Object d)
  • Object pop()

top of the stack
bottom of the stack
15
Queue based on List
public class Queue private List list
public Queue() list new List()
public void enQueue(Object d)
list.append(d) public Object
deQueue() Object t list.getHead()
list.delete(0) return t.d

16
Stack based on List
public class Stack private List list
public Stack() list new List()
public void push(Object d)
list.insert(0, d) public Object
pop() Node t list.getHead()
list.delete(0) return t.d
17
Simulation
  • Application of the Queue

Gas Station
car1
car2
car3
car4
Top of the line
End of the line
How long does everyone have to wait? How long can
the line be?
18
Language Parser
  • We can use stacks to make language parsers.
  • ( ( 1 2 ) / 3 ) ?

2 1

3
)
( (
1 2
3 3
/
1
The result is 1.
)
/ 3
Write a Comment
User Comments (0)
About PowerShow.com