Skip to content

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSE220 : Data Structure

Course-instructor: Ahnaf Hosssain Rodoshi (AHR)

Course Outline:

Week & lecture Topic
Week 1 Arrays
Lecture 1 Linear Array, Array creation, iteration, copying, resize, reverse,shifting left-right, rotating left-right, insertion, deletion etc
Lecture 2 Circular Array Forward and backward iteration, linearization, resizing, insertion and deletion.
Week 2 Linked Lists
Lecture 1 Singly Linked list Creation, iteration, counting elements, searching elements by value or index, insertion, removal, copying, reverse, left right rotation etc.
Lecture 2 Doubly Linked list Creation, iteration, insertion, deletion, link list conversions etc
Week 3 Stacks and Queues
Lecture 1 Stack Implementation, infix-postfix conversions, string reversal, edit history maintenance, grid traversal, histogram problem etc.
Lecture 2: Queue Implementation, palindrome checking, grid traversal etc.
Week 4 Recursion
Lecture 1 Recursive definitions recurrence relations, recursive programming, fibonacci numbers, factorials, length of a string or list, sum of an array, exponentiation etc.
Lecture 2 linear search, binary search, finding max of a list in the linear way or the divide and conquer approach, selection sort, insertion sort and bubble sort, Iterative memoization and recursive memoization.
Week 5 Searching and Sorting
Lecture 1 Searching Linear search, binary search, ternary search, random search etc.
Lecture 2 Sorting Insertion sort, bubble sort, selection sort etc.
Week 6 Graph
Lecture 1 Graph Terminologies Directed vs undirected graphs, weighted vs unweighted graphs, directed acyclic graphs etc Lecture 2
Week 7 Trees
Lecture 1 Tree terminologies Free tree vs rooted tree, ordered tree, n-ary tree tree, binary tree etc, recursive definitions of n-ary tree, rooted tree, ordered tree etc
Lecture 2 Tree Traversal pre-order, post order, in-order, breadth first, depth first etc, some recursive algorithms Finding the depth, sum, max etc of a tree.
Week 8 Unbalanced Binary Trees
Lecture 1 Examples of unbalanced binary trees
Lecture 2 Performance analysis of binary search tree
Week 9 Priority Queue and Heap
Lecture 1 Priority Queue using sorted or unsorted array
Lecture 2 Priority Queue using heap
Week 10 Balanced Binary Trees
Lecture 1 Tree Balancing, examples of BBT such as Red-black tree, AVL tree, Treap etc.
Lecture 2 Performance analysis of AVL tree.
Week 11 Hashing
Lecture 1 Key indexed searching aka counting sort
Lecture 2 Hash Tables

Marks Allotment:

  • Quizzes: 5-10%
  • Assignments: 15-20%
  • Labs: 25%
  • Midterm: 20%
  • Final Exam: 30%

Resources:

  • Introduction to Algorithms is a book on computer programming by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

  • The Algorithm Design Manual by Steven Skiena Algorithms in Java by Robert Sedgewick

  • Practice data structures problems here at https://www.hackerrank.com/domains/data-structures.

  • For data structures visualization https://visualgo.net/en


Google doc link to course info & outline & resources : here

Personal Drive folder for cse220 here

Self Suggestion

Workload - 30 days

Ending on 1st August: 2022

About

CSE 220 is a course of Data Structure. This repository contains codes and resources regarding data structure. This repo contains content from brac university cse220 course.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages