Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Implementation of data structures (Lists, Stacks, Queues, Trees, Balanced Search Trees, Hashing, Graphs); Implementation of algorithms (Sorting and searching, Recursion, Graph algorithms).

License

NotificationsYou must be signed in to change notification settings

rahul1947/Implementation-of-Data-Structures-and-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 

Repository files navigation

Collection of all the projects in Implementation of Data Structures and Algorithms course.

Topics:

  1. Implementation of data structures (Lists, Stacks, Queues, Trees, Balanced Search Trees, Hashing, Graphs);
  2. Implementation of algorithms (Sorting and searching, Recursion, Graph algorithms).

Emphasizing on practical approach to algorithms with many programming projects of types:

  • Long: Implementation of data structures and algorithms (total 5). Teams of 3-4.
  • Short: Empirical studies, Do-and-learn projects. One project (almost) every week. Teams of 2 or individual.
  • Optional*: Individual (no collaboration).

Following is the detailed list of each project:(please feel free to check-out the links)

A. Long Projects:

TitleEnd_DateDescription
LP1: Integer Arithmetic with Arbitrarily Large NumbersSept 23, 2018Array-based implementation of Calculator of very large integers with the length of the numbers as large as 2,147,483,647 (2^31 - 1), with Postfix and Infix evaluation of Arithmetic Expressions.
LP2: Skip List ImplementationOct 14, 2018Skip Lists: A generalization of sorted linked lists for implementing Dictionary ADT (insert, delete, find, min, floor, ceiling) in O(log n) expected time per operation. And competing with balanced search trees like AVL, Red-Black, and B-Trees.
LP3: Multidimensional Search(MDS) ImplementationNov 04, 2018Implementation of MDS for a website seller (like Amazon), having thousands of Products (each with its own ID, Price, Description). Organizing data into a TreeMap (Red-Black Tree), used HashMap, and HashSet to achieve insertion, deletion, search, modification efficiently.
LP4: PERT, Enumeration of Topological OrdersNov 25, 2018Enumeration of all Permutations (Recursion, Single Swap, and in Lexicographic Order), and Combinations. Enumeration of all Topological Orderings on a Directed Graph. Enumeration of all Paths in a connected Graph. Evaluates Critical Path using PERT Algorithm.
LP5: Minimum Spanning Tree AlgorithmsDec 09, 2018Implementation of MST Algorithms - 1. Prim's Algorithm {with 3 versions: PriorityQueue(Edge), PriorityQueue(Vertex), and IndexedBinaryHeap(Vertex)}; 2. Kruskal's Algorithm on Connected Graphs.

B. Short Projects:

TitleEnd_DateData_Structure/ AlgorithmDescription
SP01: Linked ListsAug 23, 2018Linked ListsDoubly Linked List Implementation using Singly Linked List with best Object Oriented practices.
SP02: Lists Stacks and QueueAug 30, 2018Bounded QueueBounded Queue Implementation using arrays.
SP03: Priority QueueSept 23, 2018Priority QueueImplementation of Priority Queue (Binary Heap) using arrays.
SP04: Binary Search TreeSept 30, 2018Binary Search Tree, TreeMap, TreeSetImplementation of Binary Search Tree, with Bounded-size Stack, BST Map (like a TreeMap) on top of BST class, and solution to the 3 problems using TreeMap/ TreeSet.
SP05: Balanced Binary Search TreesOptional*AVL Tree, Red Black Tree, Splay TreeImplementation of Balanced Binary Search Trees - AVLTree, RedBlackTree, SplayTree as an extension from BST Implementation.
SP06: Applications of HashingJan 08, 2019HashMap, HashSet3 Problems from SP04 to be solved using HashMap/ HashSet instead of TreeMap/ TreeSet.
SP07: Comparison of Hashing ImplementationsOct 21, 2018Hashing Algorithms (Arrays)Comparison of Hashing Algorithms - Double Hashing, Robin Hood Hashing Cuckoo Hashing with Java's inbuilt HashMap/ HastSet over millions of add(), contains() and remove() operations.
SP08: Depth First SearchOct 28, 2018Graph, DFS, Topological OrderingImplementation of Depth First Search algorithm for a Directed Acyclic Graph, Connected Components and Topological Orderings.
SP09: Divide and ConquerNov 04, 2018Merge Sort, Insertion SortImplementation of divide and conquer algorithm to sort an array of integers - Merge Sort (take1, take2, take3), and O(n) vs O(log n) algorithms for Fibonacci Term using BigInteger Java library, and their comparison.
SP10: DFS and Divide and ConquerNov 11, 2018DFS (Strongly Connected Components); Dual Pivot Quick SortImplementation of DFS - Strongly Connected Components on a Directed Graph, using same Object Oriented approach from SP08. Implementation of two versions of partition algorithms of Quick Sort and their comparison. Implementation of Dual-Pivot Quick Sort Algorithm.
SP11: K Largest Elements and EnumerationNov 18, 2018K Largest (Quick Select, Priority Queue); and EnumerationImplementation of O(n) Select Algorithm to find K largest elements and compare it's performance with an Algorithm to find K largest elements using Priority Queue. Implementation of Enumeration algorithms - permutations(), combinations(), heap(), and Knuth's Algorithm L.
SP12: Breadth-First-Search and EnumerationNov 25, 2018Graph, BFSImplementation of an Algorithm to find Diameter of a Tree (represented as a Graph) using BFS, to find Odd-Length Cycle in a Tree. Implementation of Enumeration of all Paths in a connected Graph, and Enumeration of all permutation with alternate parities.
SP13: String AlgorithmsOptional*String AlgorithmsImplementation of String Algorithms - Trie, KMP Algorithm, Boyer-Moore Algorithm, and Automata Matcher.

About

Implementation of data structures (Lists, Stacks, Queues, Trees, Balanced Search Trees, Hashing, Graphs); Implementation of algorithms (Sorting and searching, Recursion, Graph algorithms).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp