In eduladder you can Ask,Answer,Listen,Earn and Download Questions and Question papers.

Watch related videos of your favorite subject.

Connect with students from different parts of the world.

Apply or Post Jobs, Courses ,Internships and Volunteering opportunity. For FREE

See Our team

Wondering how we keep quality?

Got unsolved questions? Ask Questions

You are here:Open notes-->Python-->Data-Structures-using-Python

**Data Structures using Python**

# How to study this subject

# Official Notes

**Data structure** provides the right way to organize information in the digital space. The **data structure**
is a key component of Computer Science and is largely used in the areas
of Artificial Intelligence, operating systems, graphics.

The right selection of **data structure** can enhance the efficiency of computer programs or algorithms in a better way.

Learn Data Structures in Python all the way from Built-in to User-Defined.

Methods on **Data structures **are also covered so that we can use them efficiently.

The data structure and algorithm provide a set of techniques to the programmer for handling the data efficiently. The programmer should understand the core concepts of data handling.

Necessary OOPS is also covered so, that there won't be a problem understanding further concepts.

It's Beginner Friendly with intuition followed by code tutorials, So It's Easy to Understand and Visualise a Data Structure.

So, Solving Problems would be easier after learning the Data Structure as you have better intuition.

Course Design: Intuition of the concept + Code walkthrough in Python + Time and Space Complexity + Application of that Data Structure in real Life.

Data Structures Include:

Lists

Tuples

Sets

Dictionaries

2-D Arrays

OOP For understanding data structures

Stacks

Queues

Deque

Linked-Lists

Doubly Linked Lists

Circular Linked Lists

Trees

Binary Trees

Binary Search Trees + Traversals

AVL Trees

Heaps + Heap sort

Priority Queue

HashMaps/HashTables

Graphs + Properties

Graph Traversals

Spanning Trees + MST

Prims + Kruskals Algorithms for MST

Tries (Keyword Trees)

Misc Section( Has important concepts )

Take Away Section( Download the whole source code in this Section)

# Notes from other sources

## Data Structure Overview

Data structures are fundamental concepts of computer science which helps is writing efficient programs in any language. Python is a high-level, interpreted, interactive and object-oriented scripting language using which we can study the fundamentals of data structure in a simpler way as compared to other programming languages.

In this chapter we are going to study a short overview of some frequently used data structures in general and how they are related to some specific python data types. There are also some data structures specific to python which is listed as another category.

## General Data Structures

The various data structures in computer science are divided broadly into two categories shown below. We will discuss about each of the below data structures in detail in subsequent chapters.

### Liner Data Structures

These are the data structures which store the data elements in a sequential manner.

**Array** − It is a sequential arrangement of data elements paired with the index of the data element.

**Linked List** − Each data element contains a link to another element along with the data present in it.

**Stack** − It is a data structure which follows only to specific order of operation. LIFO(last in First Out) or FILO(First in Last Out).

**Queue** − It is similar to Stack but the order of operation is only FIFO(First In First Out).

** Matrix** − It is two dimensional data structure in which the data element is referred by a pair of indices.

### Non-Liner Data Structures

These are the data structures in which there is no sequential linking of data elements. Any pair or group of data elements can be linked to each other and can be accessed without a strict sequence.

**Binary Tree** − It is a data structure where each data
element can be connected to maximum two other data elements and it
starts with a root node.

**Heap** − It is a special case of Tree data structure where
the data in the parent node is either strictly greater than/ equal to
the child nodes or strictly less than it’s child nodes.

**Hash Table** − It is a data structure which is made of
arrays associated with each other using a hash function. It retrieves
values using keys rather than index from a data element.

**Graph** − It is an arrangement of vertices and nodes where some of the nodes are connected to each other through links.

## Python Specific Data Structures

These data structures are specific to python language and they give greater flexibility in storing different types of data and faster processing in python environment.

**List** − It is similar to array with the exception that the
data elements can be of different data types. You can have both numeric
and string data in a python list.

**Tuple** − Tuples are similar to lists but they are immutable
which means the values in a tuple cannot be modified they can only be
read.

**Dictionary** − The dictionary contains Key-value pairs as its data elements.

In the next chapters we are going to learn the details of how each of these data structures can be implemented using Python.

Python - DS Home

Python - DS Introduction

Python - DS Environment

Python - Arrays

Python - Lists

Python - Tuples

Python - Dictionary

Python - 2-D Array

Python - Matrix

Python - Sets

Python - Maps

Python - Linked Lists

Python - Stack

Python - Queue

Python - Dequeue

Python - Advanced Linked list

Python - Hash Table

Python - Binary Tree

Python - Search Tree

Python - Heaps

Python - Graphs

Python - Algorithm Design

Python - Divide and Conquer

Python - Recursion

Python - Backtracking

Python - Sorting Algorithms

Python - Searching Algorithms

Python - Graph Algorithms

Python - Algorithm Analysis

Python - Big-O Notation

Python - Algorithm Classes

Python - Amortized Analysis

Python - Algorithm Justifications