0% found this document useful (0 votes)
5 views2 pages

Data Structures Using Python

Uploaded by

G Dayanandam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Data Structures Using Python

Uploaded by

G Dayanandam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

SEMESTER-III

COURSE 5: Data Structures using Python


Theory Credits: 3 3 hrs/week

Course Objectives:
1. To introduce the concept and classification of data structures and their role in efficient
programming.
2. To understand algorithm design, analysis, and implementation using Python.
3. To study and apply fundamental data structures such as arrays, linked lists, stacks, queues,
trees, and graphs.
4. To analyze searching, sorting, and hashing techniques for problem-solving efficiency.
5. To implement data structures using Python and explore their practical applications in
computing.
Course Learning Outcomes:
After successful completion of this course, students will be able to:
1. Explain the fundamental concepts of data structures and their operations.
2. Design and implement algorithms for solving computational problems efficiently.
3. Apply and manipulate linear data structures such as arrays, stacks, queues, and linked lists.
4. Build and traverse hierarchical data structures like trees and graphs using Python.
5. Analyze the time and space complexity of algorithms and implement hashing for efficient
data access.
Unit 1: Introduction to Data Structures (9 Periods)
Definition, importance, and applications of data structures, Types of data structures: Linear
and Non-Linear, Static and Dynamic, Homogeneous and Non-Homogeneous, Primitive vs
Non-Primitive data types, Operations on data structures (Creation, Insertion, Deletion,
Traversal, Sorting, etc.),Algorithm design and analysis: Time & Space complexity, Big-O
notation, Time-Space trade-off,Abstract Data Types (ADT)
Unit 2: Arrays and Lists (9 Periods)
Definition and representation of arrays/lists, Array initialization and address calculation,
Operations on arrays/lists (traversing, insertion, deletion, searching, merging),
Multidimensional arrays and sparse matrices, Applications of arrays/lists
Unit 3: Linked Lists (9 Periods)
Concept and memory representation of linked lists, Types of linked lists: singly, circular, and
doubly linked lists, Operations: creation, insertion, deletion, traversal, searching, Header
linked lists and applications. Polynomial representation using linked lists
Unit 4: Stacks and Queues (9 Periods)
Stack definition, operations (push, pop, peek), and implementation using arrays/lists and linked
lists. Applications: expression conversion, postfix/prefix evaluation, recursion, parenthesis
balancing, Queue definition and operations (enqueue, dequeue), Types of queues: Circular
Queue, Priority Queue, Double-Ended Queue (Deque),Applications of queues
Unit 5: Trees, Graphs, and Hashing (9 Periods)
Trees: terminology, binary tree, binary search tree, AVL tree – representation and traversal
methods, Graphs: definitions, types, representation (adjacency matrix/list), BFS and DFS
traversal, Searching and Sorting overview: linear, binary, and interpolation search; insertion
and quick sort basics, Hashing: hash functions, hash tables, collision and resolution techniques,
Applications in file structures and indexing
Text Books:
1. Data Structures and Program Design Using Python” by Dheeraj Malhotra & Neha
Malhotra.
2. Data Structures and Algorithms in Java/C++”) by Robert Lafore
SEMESTER-III
COURSE 5: Data Structures using Python
Practical Credits: 1 2 hrs/week

Experiment Concepts / Topics


Name of the Experiment
No. Covered
Write a Python program to create, insert, delete, and
Basic data operations,
1 traverse elements of different primitive data
ADT
structures.
Develop and test simple algorithms (e.g., find
Algorithm design,
2 max/min, average, factorial) and calculate their time
complexity analysis
complexity using Big-O notation.
Implement a Python program to perform insertion, Array operations and
3
deletion, and traversal in a list/array. manipulation
Develop a program to perform matrix addition,
Multidimensional arrays
4 subtraction, and multiplication using 2-D
and matrices
arrays/lists.
Implement sparse matrix representation and display Sparse matrices
5
its triplet form. representation
Create and traverse a singly linked list using Python
6 Node creation and traversal
classes and objects.
Implement insertion and deletion operations in Dynamic memory and
7
singly and doubly linked lists. pointer manipulation
Write a program to represent and add two
8 Application of linked lists
polynomials using linked lists.
Implement a stack using Python lists and perform
9 Stack ADT and operations
push, pop, and peek operations.
Convert an infix expression to postfix and evaluate Expression conversion and
10
the postfix expression using a stack. evaluation
Implement queue operations (enqueue, dequeue)
Queue types and
11 using lists and linked lists. Demonstrate Circular
applications
Queue and Priority Queue.
Implement creation and traversal (inorder, preorder, Tree representation and
12
postorder) of a Binary Search Tree. traversal
Write a program to perform insertion and rotation in
13 Height-balanced trees
an AVL tree.
Represent a graph using adjacency matrix and Graph representation and
14
adjacency list; implement BFS and DFS. traversal algorithms
Hash tables, hash
Implement hashing with linear probing and
15 functions, collision
quadratic probing for collision resolution.
resolution

You might also like