Offered:
Pre-requisite: CSE111
This course is an introduction to data structures, where the students will study the elementary data structures such as arrays, lists, stacks, queues, trees, etc. These data structures will be used to study and implement different algorithms such as sorting, searching, tree traversal, etc. The course includes a 3 hour mandatory laboratory per week as CSE220L. In the laboratory, the students will use a standard programming language, usually Java, to implement the various data structures and algorithms learned in the theory component of the course.
Teach students the basics of circular array and advantage(s) of it over a linear array
Demonstrate the construction and manipulation of different types of linked lists
Introduce the students to stack and queue data structures and explain how they are implemented
Discuss the fundamental concept of recursion so that they can build recursive models for simple problems.
Discuss trees and explain related algorithms
1. Algorithms in Java, Robert Sedgewick and Kevin Wayne, 2011, 4th Edition, Addison-Wesley, ISBN-10: 032157351X, ISBN-13: 9780321573513
2. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, 2009, 3rd Edition, MIT Press, ISBN-10: 0262033844, ISBN-13: 9780262033848
Text and Reference Books
# | Description | Weight | Edit |
---|---|---|---|
CO1 |
Show different operations such as insertion, removal, rotation, shifting, etc. on linear arrays, circular arrays, linked lists, Stack, Queue and Tree data structures. |
25 |
|
CO2 |
Demonstrate basic algorithms related to searching and tree traversal using various data structures. |
25 |
|
CO3 |
Compare the suitability and merits of various data structures and basic algorithms when given certain requirements or constraints. |
10 |
|
CO4 |
Apply concepts of recursion to solve programming problems. |
15 |
|
CO5 |
Construct general-purpose data structures and basic algorithms for solving programing problems. |
25 |
Week | Lecture | CO Map |
---|---|---|
Week 1 |
Arrays and Circular Arrays |
CO1 CO3 CO5 |
Week 2 |
Arrays, Circular Arrays and Linked lists |
CO1 CO3 CO5 |
Week 3 |
Arrays, Circular Arrays and Linked lists |
CO1 CO3 CO5 |
Week 4 |
Arrays, Circular Arrays and Linked lists |
CO1 CO3 CO5 |
Week 5 |
Stacks (using arrays and linked lists) |
CO3 CO5 CO1 |
Week 6 |
Queues (using arrays and linked lists) |
CO5 CO3 CO1 |
Week 7 |
Recursion |
CO1 CO3 CO5 |
Week 8 |
Hash table and Hashing |
CO3 CO5 CO2 |
Week 9 |
Introduction to Trees and BST |
CO1 CO2 CO5 |
Week 10 |
Introduction to Heap |
CO1 CO5 CO2 |
Week | Lecture | CO Map |
---|---|---|
Week 1 |
Linear array, Circular array |
N/A |
Week 2 |
Singly Linked List (basic) |
N/A |
Week 3 |
Singly Linked List (basic) Continuation |
N/A |
Week 4 |
Dummy headed circular doubly linked list |
N/A |
Week 5 |
Build a stack using List Use the stack for parentheses checking |
N/A |
Week 6 |
Build a queue using a circular array. Apply the queue in a problem |
N/A |
Week 8 |
Recursion |
N/A |
Week 9 |
Searching, Sorting |
N/A |
Week 10 |
Key-indexing, Hashing |
N/A |
Week 11 |
Tree, graph |
N/A |