Documente Academic
Documente Profesional
Documente Cultură
1
LINKED LISTS
3
LINKED LISTS
LINKED LISTS ARE LIST DATA EACH ELEMENT IS LINKED TO OR
STRUCTURES - THEY CAN STORE POINTS TO THE NEXT ELEMENT - THE
MULTIPLE ELEMENTS AS A LIST ELEMENTS ARE CHAINED TOGETHER
data 2
next <memory
location>
THIS IS JUST A REFERENCE IN JAVA - A
REFERENCE TO THE NEXT NODE
data 2
next <memory
location>
THIS IS JUST A REFERENCE IN JAVA - A
REFERENCE TO THE NEXT NODE
public T getData() {
return data;
}
@Override
public String toString() {
return String.valueOf(data);
}
}
LINKED LISTS
A GENERIC CLASS WHICH
public class Node<T extends Comparable<T>> {
private T data;
private Node<T> next;
}
return next; THE DATA SHOULD BE COMPARABLE
public T getData() {
WHAT INDEX A PARTICULAR
}
return data; ELEMENT IS LOCATED AT IN A LIST
@Override
public String toString() {
return String.valueOf(data);
}
}
LINKED LISTS
public class Node<T extends Comparable<T>> {
private T data;
private Node<T> next;
public T getData() {
return data;
}
@Override
public String toString() {
return String.valueOf(data);
}
}
LINKED LISTS
public class Node<T extends Comparable<T>> {
private T data;
private Node<T> next;
}
DATA ASSOCIATED WITH THIS NODE
public Node<T> getNext() {
return next;
}
@Override
public String toString() {
return String.valueOf(data);
}
}
LINKED LISTS
public class Node<T extends Comparable<T>> {
private T data;
private Node<T> next;
public T getData() {
return data;
}
@Override
public String toString() {
return String.valueOf(data);
}
}
LINKED LISTS
public class Node<T extends Comparable<T>> {
private T data;
private Node<T> next;
public T getData() {
return data;
THE DATA STORED IN THE NODE
}
@Override
public String toString() {
return String.valueOf(data);
}
}
LINKED LISTS
public class LinkedList<T extends Comparable<T>> implements Cloneable {
public LinkedList() {
}
public LinkedList() {
}
public LinkedList() {
}
Node<Integer> h = head;
while (h != null) {
h = h.getNext(); ASSUME THAT head POINTS TO THE FIRST
} ELEMENT - THIS IS HOW WE TRAVERSE A
LINKED LIST TILL NULL IS ENCOUNTERED
LINKED LISTS
public class LinkedList<T extends Comparable<T>> implements Cloneable {
public LinkedList() {
}
O(N)
LINKED LISTS
COMPLEXITY OF COMMON OPERATIONS
O(1)
LINKED LISTS
COMPLEXITY OF COMMON OPERATIONS
O(N)
LINKED LISTS
COMPLEXITY OF COMMON OPERATIONS
O(1)
LINKED LISTS
COMPLEXITY OF COMMON OPERATIONS
O(N)
COUNT NODES
25
COUNT NODES
COUNT THE NUMBER OF NODES IN
A LINKED LIST
THIS INVOLVES WALKING THROUGH THE LINKED
LIST TO SEE HOW MANY NODES ARE PRESENT
27
COUNT NODES
28
COUNT NODES
29
COUNT NODES
30
ADD A NODE
31
ADD A NODE
APPENDS A NEW NODE WITH
SOME DATA TO THE VERY END OF A
LINKED LIST
33
ADD A NODE
}
} REFERENCE TO THAT NODE
34
ADD A NODE
35
ADD A NODE
36
ADD A NODE
37
ADD A NODE
38
RETURN THE FIRST ELEMENT
IN A LIST I.E POP ELEMENT
39
RETURN THE FIRST ELEMENT
IN A LIST I.E POP ELEMENT
public T popElement() {
if (head != null) {
T topElement = head.getData();
head = head.getNext();
return topElement;
}
return null;
}
41
RETURN THE FIRST ELEMENT
IN A LIST I.E POP ELEMENT
public T popElement() {
if (head != null) {
T topElement = head.getData(); IF THE HEAD IS NULL IT
42
RETURN THE FIRST ELEMENT
IN A LIST I.E POP ELEMENT
public T popElement() {
if (head != null) { IF THERE ARE SOME
T topElement = head.getData();
head = head.getNext();
NODES IN THE LINKED
return topElement;
LIST WE ACCESS THE
}
FIRST ELEMENT VIA
}
return null;
THE HEAD REFERENCE
43
RETURN THE FIRST ELEMENT
IN A LIST I.E POP ELEMENT
public T popElement() {
if (head != null) {
head = head.getNext();
ELEMENT AND STORE IT
}
return topElement;
SO WE CAN RETURN IT
return null;
}
44
RETURN THE FIRST ELEMENT
IN A LIST I.E POP ELEMENT
public T popElement() {
if (head != null) {
head = head.getNext();
POINTER TO REFERENCE
}
return topElement;
THE NEXT ELEMENT!
return null;
}
45