Advanced Data Structures 2007


Published on

Advanced Data Structures Lecture Notes by Sanjay Goel, JIIT 2007

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Advanced Data Structures 2007

  1. 1. ADS, Sanjay Goel, JIITU, Even sem 2006-07 Advanced Data StructuresLect #1Course description and brief review of DS.Programming Assignment (5 Marks): Work on pending DS assignment as announcedby Lab instructorsLect #2Hardware efficiency Vs Data size wrt to time complexity of processing algorithm..Lect #3Algorthmic Visualisation with the help of animated graphics. Cases of Bubblesort,Insertion sort, and selection sort. Ref: SedgewickProgramming Assignment (5 marks): WAP to embed animated visualization intoyour programs of Bubble/insertion/ and Selection sort. Work in the group of twomembers for two of these sorters and do one independently. Use creative forms forvisualizing and do not use the technique discussed in the class.Lect #4Project possibilities.Overarching projects 1. Computing for empowerment especially ignored sections of society (visually challenged/hearing challenged/elders/homemaker women/…) and application domain. 2. Computing for creating opportunities enhanced self expression and pleasure for different categories of people with different kinds of tastes and talents. e.g musicians/painters/story tellers/designers (any kind)/DJ/Cartoonist/Elderly/ mothers/ homemaker women/….. 3. Information indexing, retrieval, classification, mixing, visualization, and transformation with reference to large text, image, video, graphics, audio, mix- media. 4. Computer Games (preferably based on sensitive, sensible and culturally grounded plots). You can even write a game simulator (without sophisticated graphics) that can be developed into a full Game with sophisticated graphics later. 5. Cultural Exploratorium 6. Digital or analog circuit simulators. 7. and so on….
  2. 2. ADS, Sanjay Goel, JIITU, Even sem 2006-07 1. Ms. Anjali Sehgal is the Chief project faculty coordinator. All lab instructors in ADS and OOPS will coordinate their respective students. Selected 4th year and 3rd students will mentor the projects. 2. Formulate intra-batch groups. Inter-batch project groups will be permitted only if there is at least 1hr common lab timing of ADS/OOPS. It is also possible to form groups if one member is free at the time other’s lab. It is essential that all group members show their progress to assigned lab instructor on weekly basis during lab hours. One project group should ideally have 2/3 students. If you have idea for a larger project, divide it into smaller sub-project for sub teams that will work nearly independently.Look at the final year projects of senior batches. 1. Finalize and get approval (from your lab instructors) for your group members/area/student mentor (4th year/3rd year)/topic/platform/ before 2 Feb, 2007 : 5% 2. Submit your first design document before 23 Feb 2007. 20% (report and viva) - Problem description - HCI design. - Data catalogue and description (with the help appropriate diagrams) - Task division. 3. Mid term evaluation (report, viva, demonstration) : 16 march 2007 35% Report - Revise the first report - Algorithms (with complexity analysis) - Test plan 4. Final evaluation (report, viva, demonstration): April 16, 2007. 40% Final report: - Revised second report - Test report - Future scope.Group Assignment (3 students) (2 marks each): Reverse engineer data structurerequirements of an existing computer game. Identify the characters, their behavior(stimulus-response model). Create a concept map.Lect #5 1. Discussion regarding project formulation. 2. Analysis and visualization of radix sort.
  3. 3. ADS, Sanjay Goel, JIITU, Even sem 2006-07Lect #6 1. Discussion regarding project management. Minimalist design: Focus on most essential features Creeping featurism: avoid growing features within this sem’s project. Postpone non essential features for future. Don’t post the work to later weeks of the sem. Productively use the first half. Aim to complete the project 20 days before the major exam. 2. Analysis and visualization of merge sort (recursive and non recursive). Assignment (individual students) (5 marks each): WAP to embed animatedvisualization into your programs of Merge sort with variable number (user specified runtime parameter) of sublists.for division merger at each stage. Evaluate the programefficiency wrt data size (100, 1000, 10000, 100000) as well as number of sub lists (2, 4,8, 16, 32).Lect #7 1. Task decomposition (smaller data size: iterative/recursive) based efficient algorithm design techniques: case studies of Merge sort, Shell sort, and Quick sort. Effort estimation.Lect #8 1. Decision table and decision tree: 2. 8-puzzle: state representation, state transition representation, decision tree 3. River problem. 4. Problem solving using decision tree. 5. Assignment (Single student) (10 marks +10 bonus marks for adding animated graphics to your program): WAP to solve the following problem after modifying the problem to higher level of complexity. You have to show the state transitions for arriving at the solution. 1. B9: 2d, 8 – puzzle - modify it to 2d, 15-puzzle/ 3d, 26-puzzle etc. 2. B8, B1: River problem (Man, wolf, goat, and vegetables have to taken to other side of the river using a boat which can carry only two at a time) modify it to larger boat, more wolves, goats, and also possibly more characters in the puzzle. 3. B7: Water Jug problem (Two jugs of 4 and 3 liters, have to be used to measure 2 liters of water) modify it to more jugs in the puzzle. 4. B5, B6: Eight Queen problem modify the puzzle with more variations using more kind of bots rather than just queens. 5. B4: Missionaries and Cannibal problem (Three missionaries and three cannibals come to a river and find a boat that holds two. If the cannibals ever outnumber the missionaries, the missionaries will be eaten. The boat cannot cross the river by itself with no people on board.) Modify the puzzle with larger boat and more characters in the story. 6. B2, B3: TSM problem (Find the shortest tour that visits all cities without visiting any city twice and return to starting point) modify the problem
  4. 4. ADS, Sanjay Goel, JIITU, Even sem 2006-07 with variations e.g. with more journey options between two cities i.e. two cities may be directly connected by road as well by train with different travel time.Lect #9 1. Decision tree: River problem, 8- queen problem: state representation, state transition representation, decision tree, variations of problems. 2. Problem solving by “search”Lect #10 1. Decision tree: Path finding, Tower of Hanoi.Lect #11 1. Decision tree: State space, states, operations, state representation. 2. Problems: Block Movement, Vacuum Problem, Missionaries and Cannibals, Water Jug problem, Rubik Cube, Real life Applications PCB layout, VLSI layout, Route finding. 3. Decision Tree formulation and search strategies: algorithm evaluation criteria- Completeness, Optimality, Time complexity, Space complexity. 4. Breadth First Search (BFS) 5. Depth First Search (DFS). Assignment (Single student) (10 marks): Enhance your decision tree program (assigned in Lect #8) with two more different search strategies and compare the performance and results. Research literature review (100, to be scaled to 50% of 12.5 assigned to 4th evaluation component): Understand and summarize at least two research papers on design, analysis and application of data structures and related algorithms. Submit and present your work to your respective lab instructor before 10 April.Lect #12 1. Depth First Search, Breadth First search, Depth Limited search. 2. Game Tree: Tic-tac Toe. 3. Assignment (Single student)(Bonus: 5 marks): Reuse your program code of earlier assignments to create program for another problem to be defined by you. Use your creative skills to define a novel problem. 4. Assignment (Single student) Transform your decision tree problem into a game plot with two opponent players. Define the problem clearly.Lect #13 1. Game Tree: Min-Max Search, alpha beta pruning.
  5. 5. ADS, Sanjay Goel, JIITU, Even sem 2006-07Lect #14 1. Index structures: Linear index, BST Index: Performance Comparison wrt to time and space complexity. Operations: insert/delete/search/updateLect #15 1. Index structures: Indexed BST (IBST) : structure and algorithms for insertion/ deletion/ search on value/ search on index/ update. 2. Assignment (Single student: 10 marks): WAP for creating and maintaining a database using IBST based indices. You can reuse the schema and data of any database (having at least two types of entities) created by you in DBMS course.Lect #16 1. Index structures: Threaded BST (TBST) : structure and algorithms. 2. Assignment (Single student: 10 marks): Modify your last IBST based assignment and add threads to IBST to create Threaded Indexed BST based Index structure to the same database.Lect #17 1. Introductory Techniques for Computer Vision. Application in Robotics and Computer games. Data Structure for Image, search algorithm for colored objects e.g. ball in still image/video. 2. Binary Tree Balancing. Balancing factor. Balancing condition for AVL tree. Detection of imbalance. 3. Assignment (Single student: 10 marks): WAP for the TIBST problem of T2.Lect #18 1. AVL Tree rebalancing on insertionLect #19 1. AVL Tree rebalancing on insertion: LL, RR, LR, RL rotation. 2. Rebalancing on deletion. 3. Assignment (Two students: 10 marks each): Modify you assignment of 16th lecture using Threaded Indexed AVL Search Tree. Compare the performance of three versions of indexes based on IBST, TIBST and TI AVL Search Tree.Lect #20 1. Data storage for multi-dimensional search: Multi-dimensional Data Structures 2. Formula based direct addressing: e.g. BMP. 3. Linked Structures: i. Ordered (on X) linked list of ordered (on Y) linked list. ii. Ordered (on X) linked list of BST (on Y). iii. BST (on X) of ordered (on Y) linked list. iv. BST (on X) of BST (on Y). v. K-d Tree.
  6. 6. ADS, Sanjay Goel, JIITU, Even sem 2006-07Lect #21 1. Multi-dimensional data structures a. Kd-Tree b. Quad-tree c. Octree 2. Assignment (Two students: 15 marks each): WAP an interactive fun program (game, puzzle and so on) using Octree DS.Lect #22 1. Quadtree storage of 16/256 Grey level images. Searching and finding the location of objects in a Quadtree stored image. 2. Graph storage: Adjacency Matrix, Adjacency List. 3. Graph Queries: i. What nodes are adjacent to node i? ii. Are node i and node j connected? iii. What nodes is node i connected to? 4. Graph traversals: DFS (recursive and non recursive) and BFS. 5. Partitioning Graph into Components. 6. Assignment (single students: 10 marks each): WAP to partition the graph into components.Lect #23 1. Representing Map as Graph, extracting graph from BMP. 2. Graph for structure and process representation. 3. Spanning Tree, Minimum Spanning Tree 4. Cycle detection. 5. Greedy Algorithms for finding MST: a. Progressive Edge removal from initial graph b. Progressive Edge addition to the forest of nodes of initial graph. i. Kruskal’s method ii. Prim’s method iii. Sollin’s methodLect #24 1. Greedy Algorithms: Coin changing problem Huffman encoding and decoding.Lect #25, 26 1. Greedy Algorithms: Graph Coloring (map coloring) Job scheduling. Shortest path finding (unweighted directed graph) Shortest path finding (Weighted directed graph) 2. Dynamic programming: Fibonacci number Binomial coefficients Longest Common Subsequence in two strings Try and see some of good ongoing final year projects.