Difference between an Array and a Linked List

These differences will make you grasp the fundamentals of both Array and Linked List really quick.

And if you are preparing for any interviews, it would definitely help you.

Let's explore 👇
1️⃣ Storage
2️⃣ Size
3️⃣ Access of Elements
4️⃣ Insertion/Deletion of Elements
5️⃣ Search for Elements
6️⃣ Memory Allocation
7️⃣ Memory Usage
8️⃣ Memory Utilisation
9️⃣ Use case

1️⃣ Storage

Array: Elements are stored consecutively in contiguous memory locations.

Linked List: Elements are stored in random memory locations. Each element stores the address of the next element.
2️⃣ Size

Array: Size of an Array depends upon the implementation. But by default it's static and declared during memory allocation.

Linked List: Size of a Linked List is not fixed. Linked Lists can grow and shrink after each element insertion/deletion.
3️⃣ Accessing of Elements

Array: Access is direct. Elements are accessed using index. Time Complexity is O(1).

Linked List: Access is sequential. Traversal always happens from the beginning. Time Complexity is O(n).
4️⃣ Insertion/Deletion of Elements

Array: It is slower as space has to be made by shifting existing elements. Time Complexity is O(n).

Linked List: It is faster, easier and more efficient. No need to shift elements, only pointer values are changed. Time Complexity is O(1).
5️⃣ Searching for Elements

Array: Both linear [O(n)] and binary search [O(log n)] can be performed. If elements are sorted, binary search is too efficient.

Linked List: Only linear search is efficient [O(n)]. Binary search takes even more time [O(n log n)].
6️⃣ Memory Allocation

Array: For static sized arrays, memory is allocated ahead of time whereas dynamic sized arrays, new memory is allocated at runtime only.

Linked List: Memory for an element of a Linked List is allocated as and when it is inserted.
7️⃣ Memory Usage

Array: It requires less usage of memory as only values are stored.

Linked List: It requires high usage of memory as every element stores both value and pointer to next element.
8️⃣ Memory Utilisation

Array: High and ineffective. Because array is allocated entire "size" of memory even if zero or only 1 element is to be stored.

Linked List: Very efficient. Memory is allocated only for existing elements.
9️⃣ Use Case

Array: Use an array when elements need to be accessed randomly and in a fast manner.

Linked List: Use a linked list when memory utilisation is of high importance and, sequential access of elements are fine.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Swapna Kumar Panda ✨

Swapna Kumar Panda ✨ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @swapnakpanda

23 Oct
Tree, Binary Tree and Binary Search Tree

Know the difference. 👇
0️⃣ Introduction to a Tree

✪ A Tree is a data structure where each element is called as a "Node".

✪ Unlike a Linked List, a Node in a Tree can point many (child) nodes.

✪ The first node from which traversal begins is called the Root Node.

++
✪ Each child node can be root of a separate tree. Each such trees are known as "Subtrees" of a given node.

✪ The number of parents, a node can have is called its "In-Degree" and it is always 1.

✪ The number of children, a node can have is called its "Out-Degree".
Read 7 tweets
22 Oct
All you would like to know about

✪ Array Data Structure
✪ Array Operations
✪ Array Based Problems

* Time and Space Complexities covered

DSA Series: 🧵 👇
We will cover

1️⃣ Introduction
2️⃣ Array Size
3️⃣ Array Index
4️⃣ Array Dimension
5️⃣ Array Operations
6️⃣ Other Array-based Data Structures
7️⃣ Some Array-based Problems
1️⃣ Introduction

An array is a "collection of items" stored at contiguous memory locations.

Syntax: All items are written comma-separated inside square brackets.

Example: [1, 2, 3, 4, 5]

There are total 5 items in the array. 1 is the first item, 2 is the 2nd and 5 is the last.
Read 22 tweets
21 Oct
🔥 MATRIX Operations implemented in JavaScript 🚀

Welcoming you to this super exciting 🧵 where we will implement various matrix operations in JavaScript along with their Complexity Analysis (both Time and Space).

Are you excited to know? 👇
We will cover 👇

🔹 Dimension
🔹 Square Matrix
🔹 Diagonal Matrix
🔹 Upper Triangular
🔹 Lower Triangular
🔹 Identity Matrix
🔹 Zero Matrix
🔹 Transpose Matrix
🔹 Scalar Multiplication
🔹 Matrix Addition
🔹 Matrix Subtraction
🔹 Matrix Multiplication
🔹 Orthogonal Matrix

0️⃣ Introduction

Matrix is a 2-dimensional (array) arrangement of numbers and it has vast use in Linear Algebra.

Example:
[[a₁₁, a₁₂, a₁₃],
[a₂₁, a₂₂, a₂₃],
[a₃₁, a₃₂, a₃₃]]

Each element in the inner array is called an element of the matrix. Eg, a₁₁

++
Read 19 tweets
19 Oct
7️⃣5️⃣ Numeric Problems to strengthen your *COMPETITIVE CODING* skill

✪ Are you planning to be a competitive coder?
✪ But not sure how to start?

Don't worry. Here are 75 numeric problems that will certainly improve your competitive coding skill.

Problems listed 👇
1️⃣ Number

1️⃣ Find a digit at a specific place in a number
2️⃣ Find count of digits in a number
3️⃣ Find the largest digit
4️⃣ Find the 2nd largest digit
5️⃣ Find the smallest digit
6️⃣ Find the 2nd smallest digit
7️⃣ Find generic root (sum of all digits) of a number

++
8️⃣ Reverse the digits in a number
9️⃣ Rotate the digits in a number
1️⃣0️⃣ Is the number a palindrome?
1️⃣1️⃣ Find the binary, octal and hexadecimal equivalent
1️⃣2️⃣ Convert a binary, octal and hexadecimal to a decimal
1️⃣3️⃣ Find sum of 'n' numbers

++
Read 13 tweets
18 Oct
1️⃣0️⃣ List Sorting Techniques

Let's explore 10 famous sorting techniques through this introductory of Data Structures and Algorithms (DSA) series.

🧵 👇
We will discuss about

1️⃣ Bubble Sort
2️⃣ Selection Sort
3️⃣ Insertion Sort
4️⃣ Merge Sort
5️⃣ Quick Sort
6️⃣ Counting Sort
7️⃣ Radix Sort
8️⃣ Bucket Sort
9️⃣ Heap Sort
1️⃣0️⃣ Shell Sort

1️⃣ Bubble Sort

✪ Compare 2 consecutive elements. Swap if 1st one is larger than 2nd one.

✪ At the end of each iteration, largest element in the list bubbles up to the top of the list.
Read 13 tweets
17 Oct
4️⃣ CRUD Operations described wrt SQL, REST API and UI

🧵 👇
0️⃣ Introduction

CRUD stands for Create, Read, Update and Delete.

These are the 4 basic operations of persistent storage.

The term CRUD is also used for Database and UI.

Let's explore these 👇
1️⃣ C for Create

SQL: INSERT into TABLE_NAME VALUES (V1, V2, V3)

REST HTTP Method: POST

UI Form: User Sign Up, Creating a Blog Post etc.
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(