Data Structures Using Python: Course Objectives

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Data Structures Using Python

Course Objectives:

 Introducing Object Oriented Programming concepts and data structures – List, Set,
Dictionary
 Study and exercise the concepts of Abstract Data Type – Linked List, Stack, and
Queue
 Exploring Searching and Sorting Techniques
 Implementation of Non-Linear data structures - Graphs and Trees
 Understanding and Implementing the concepts of Maps and Hashing Techniques

UNIT – I
OOP Concepts - Class, Object, Types of variables, Types of methods, Inheritance,
Encapsulation, Polymorphism, Abstraction, Special functions, Constructors.
Data Structures: Types-User Define, Predefine, Comprehension and its types, Arrays vs.
List.

UNIT – II
Linked List ADT - Singly Linked Lists - Doubly Linked Lists - Circular Linked Lists – Stacks
ADT - Queues implementation – Dequeues (Concept).

UNIT - III
Searching: Linear Search - Binary search. Sorting: Merge Sort - Bubble Sort - Selection Sort -
Insertion Sort – Quick Sort (Concepts and Implementation).

UNIT - IV
Trees: Binary Tree - Binary search trees: find, insert, and delete - Height-balanced binary
search trees - Tree Traversal Algorithms (Inorder, Preorder, Postorder Traversal)

UNIT -V
Graphs: Data Structures for Graphs - Graph Traversals: Breadth First Search, Depth First
Search - Directed Acyclic Graphs - Shortest Paths.

Textbooks:
1. Data structures and algorithms in python by Michael t. Goodrich
2. Data Structures and Algorithmic Thinking with Python by Narasimha Karumanchi
3. Python for Data Analysis by William McKinney, Second Edition, O’Reilly Media Inc

Course Outcome:

 Ability to select the data structures that efficiently model the information in a
problem.
 Ability to assess efficiency trade‐offs among different data structure
implementations or Combinations.
 Implement and know the application of algorithms for searching and sorting.
 Design programs using linear and non-linear data structures, including stacks,
queues, linked lists, trees and graphs.
Data Structures using Python Lab
Course Objectives:
 To understand a range of Object-Oriented Programming, as well as in-depth data
and information processing techniques.
 To understand the how linear and non-linear data structures works

1. Write a Python program for class, Flower, that has three instance variables of type
str, int, and float, that respectively represent the name of the flower, its number of
petals, and its price. Your class must include a constructor method that initializes
each variable to an appropriate value, and your class should include methods for
setting the value of each type, and retrieving the value of each type.
2. Write a Python program for class that extends the Progression class so that each
value in the progression is the absolute value of the difference between the previous
two values. You should include a constructor that accepts a pair of numbers as the
first two values, using 2 and 200 as the defaults.
3. Write a Python program that inputs a list of words, separated by whitespace, and
outputs how many times each word appears in the list.
4. Write a Python program for Linear Search and Binary search
5. Write a program to implement Bubble Sort and Selection Sort
6. Write a program to implement Merge sort and Quicksort
7. Write a program to implement stacks and Queues
8. Write a program to implement linked list
9. Write a program to implement Double Linked list
10. Write a program to implement Binary search Tree
11. Write a program to implement Breadth First Search
12. Write a program to implement Depth First Search
13. Write a program to implement Tree Traversal Algorithms

Course Outcomes:
 Student should be able to understand concepts of data structures
 Ability to explore python especially the object-oriented concepts, and the built-in
objects of Python.
 Understand the concepts of linear and non-linear data structures

You might also like