Skip to content

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.

Notifications You must be signed in to change notification settings

syedfaysel/BRACU-CSE220

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published