-
Notifications
You must be signed in to change notification settings - Fork 192
/
Copy pathArray and Linkedlist Explanation(DSA)
164 lines (114 loc) · 47 KB
/
Array and Linkedlist Explanation(DSA)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
## 1. Linear Data Structure:
Linear data structure used to store homogeneous / Non homogeneous elements at contiguous locations.
**For example:** let us say, we want to store marks of all students in a class, we can use an list to store them. This helps in reducing the use of number of variables as we don’t need to create a separate variable for marks of every students. All marks can be accessed by simply traversing the list
![list.png](data:image/png;base64,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)
## a) List Array
An list array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. This makes it easier to calculate the position of each element by simply adding an offset to a base value, i.e., the memory location of the first element of the list array (generally denoted by the name of the list array).
**Syntax:**
array(data type, value list)
1-import array as arr
a1=arr.array("i",[1,2,3,4,5])
a2=arr.array("f",[1.3,0.56,8.9])
a1.append(7)
a1.pop()
print(a1)
import array as arr
a1=arr.array("i",[1,2,3,4,5])
a2=arr.array("f",[1.3,0.56,8.9])
a1.insert(2,56)
print(a1)
i=signed
I=unsigned
**Operations on Array :**
i) **append()**:- This function is used to add the value mentioned in its arguments at the end of the array.
ii) **insert(i,x)** :- This function is used to add the value(x) at the ith position specified in its argument.
iii) **pop()**:- This function removes the element at the position mentioned in its argument and returns it.
iv) **remove()**:- This function is used to remove the first occurrence of the value mentioned in its arguments.
**Time Complexity**
Let size of list array be n.
**Accessing Time: O(1)** [This is possible because elements are stored at contiguous locations]
**Search Time: O(n)** for Sequential Search:
**O(log n)** for Binary Search [If Array is sorted]
**Insertion Time: O(n)** [The worst case occurs when insertion happens at the Beginning of an array and requires shifting all of the elements]
**Deletion Time: O(n)** [The worst case occurs when deletion happens at the Beginning of an array and requires shifting all of the elements]
## b) Linked list
A linked list is a linear data structure (like List arrays) where each element is a separate object. Each element (that is node) of a list is comprising of two items – the data and a reference to the next node.
![linkedlist.png](data:image/png;base64,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)
**Advantages over arrays**
Ease of insertion/deletion
**Drawbacks:**
1) Random access is not allowed.
2) Extra memory space for a pointer is required with each element of the list.
3) Not cache friendly.
**Representation:**
**Operations on linkedlist :**
1-class Node:
def __init__(self,data):
self.data=data
self.next=None
class Linkedlist:
def __init__(self):
self.head=None
def view(self):
temp=self.head
while(temp!=None):
print(temp.data,end=" ")
temp=temp.next
def delfirst(self):
temp=self.head
self.head=temp.next
temp.next=None #temp is node1
node1=Node(8)
node2=Node(4)
node3=Node(5)
node4=Node(6)
l1=Linkedlist()
l1.head=node1
node1.next=node2
node2.next=node3
node3.next=node4
l1.view()
print()
l1.delfirst()
l1.view()
2-class Node:
def __init__(self,data):
self.data=data
self.next=None
class Linkedlist:
def __init__(self):
self.head=None
def view(self):
temp=self.head
while(temp!=None):
print(temp.data,end=" ")
temp=temp.next
def delfirst(self):
temp=self.head
self.head=temp.next
temp.next=None#temp node1 hai
def dellast(self):
temp=self.head
while temp.next.next!=None:
temp=temp.next
temp.next=None
node1=Node(8)
node2=Node(4)
node3=Node(5)
node4=Node(6)
l1=Linkedlist()
l1.head=node1
node1.next=node2
node2.next=node3
node3.next=node4
l1.view()
print()
l1.dellast()
l1.view()
i) **Linked List Traversal**
ii) **Delete first node**
iii) **delete last node**
iv) **delete any node**
v) **insert node at last**
vi) **insert node at first**
vii) **insert node before any node**