Skip to main content

All you need is RIGHT Data Structures at RIGHT implementation.

So, lets erase the confusion of what, which, when the data structure to be used through this article.
As part of academic we are well known that, data structures are classified into Linear and Non-Linear Data Structures.

Linear are the Data Structures like Array, Sorted Array, Stack, Queue, Linked List.
Non-Linear are the Data Structures Like Binary Tree, Red-Black Tree, 2-3-4 Tree, Graph, Hash Table, Heap

Array:
Advantages:
1. Quick Insertion
2. Quick Access of any element in the array
Disadvantages:
1. Slow Deletion
2. Slow Search

Sorted Array:
Advantages:
1. Quick Search
2. Quick Access of any element
Disadvantages:
1. Slow Deletion, Insertion

Stack:
Advantages:
1. Last In First Out access
Disadvantages:
1. Slow Access, Search for remaining elements

Queue:
Advantages:
1. First In First Out Access
Disadvantages:
1. Slow Access, Search for other elements

Linked List:
Advantages:
1. Quick Insertion, Deletion
Disadvantages:
1. Slow Search

Binary Tree:
Advantages:
1. Quick Search, Insertion, Deletion ( If the Tree is BALANCED )
Disadvantages:
1. Deletion Algorithm is complex

Red-Black Tree:
Advantages:
1. Quick Search, Insertion, Deletion ( Tree is ALWAYS BALANCED )
Disadvantages:
1. Complex

2-3-4 Tree:
Advantages:
1. Quick Search, Insertion, Deletion ( Tree is ALWAYS BALANCED )
2. Good for Disk Storage
Disadvantages:
1. Complex

Hash Table:
Advantages:
1. Fast Access if the key is known
2. Fast Insertion
Disadvantages:
1. Slow Access, Insertion

Heap:
Advantages:
1. Fast Insertion, Deletion
2. Fast Access to the largest item
Disadvantages:
1. Slow Access to the remaining items

Comments

Popular posts from this blog

Python Subprocess Module

Subprocess A running program is called a  process . Each process has its own system state, which includes memory, lists of open files, a program counter that keeps track of the instruction being executed, and a call stack used to hold the local variables of functions. Normally, a process executes statements one after the other in a single sequence of control flow, which is sometimes called the main thread of the process. At any given time, the program is only doing one thing. A program can create new processes using library functions such as those found in the os or subprocess modules such as  os.fork() ,  subprocess.Popen() , etc. However, these processes, known as  subprocesses , run as completely independent entities-each with their own private system state and main thread of execution. Because a subprocess is independent, it executes concurrently with the original process. That is, the process that created the subprocess can go on to work on other thing...

INTERNETWORKING TUTORIAL

Contents   [ hide ] 1   Creating a PDF of the Internetworking Technology Handbook 2   Internetworking Basics 3   LAN Technologies 4   WAN Technologies 5   Internet Protocols 6   Bridging and Switching 7   Routing 8   Network Management 9   Voice/Data Integration Technologies 10   Wireless Technologies 11   Cable Access Technologies 12   Dial-up Technology 13   Security Technologies 14   Quality of Service Networking 15   Network Caching Technologies 16   IBM Network Management 17   Multiservice Access Technologies Internetworking Basics An internetwork is a collection of individual networks, connected by intermediate networking devices, that functions as a single large network. Internetworking refers to the industry, products, and procedures that meet the challenge of creating and administering internetworks. The following articles provide information about in...

How to install and setup Docker on RHEL 7/CentOS 7

H ow do I install and setup Docker container on an RHEL 7 (Red Hat Enterprise Linux) server? How can I setup Docker on a CentOS 7? How to install and use Docker CE on a CentOS Linux 7 server? Docker is free and open-source software. It automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Typically you develop software on your laptop/desktop. You can build a container with your app, and it can test run on your computer. It will scale in cloud, VM, VPS, bare-metal and more. There are two versions of docker. The first one bundled with RHEL/CentOS 7 distro and can be installed with the yum. The second version distributed by the Docker project called docker-ce (community free version) and can be installed by the official Docker project repo. The third version distributed by the Docker project called docker-ee (Enterprise paid version) and can be installed by the official Docker project repo.  This page shows...