Z Score,T Score, Percential Rank and Box Plot Graph
Advanced Data Structures 2007
1. ADS, Sanjay Goel, JIITU, Even sem 2006-07
Advanced Data Structures
Lect #1
Course description and brief review of DS.
Programming Assignment (5 Marks): Work on pending DS assignment as announced
by Lab instructors
Lect #2
Hardware efficiency Vs Data size wrt to time complexity of processing algorithm..
Lect #3
Algorthmic Visualisation with the help of animated graphics. Cases of Bubblesort,
Insertion sort, and selection sort. Ref: Sedgewick
Programming Assignment (5 marks): WAP to embed animated visualization into
your programs of Bubble/insertion/ and Selection sort. Work in the group of two
members for two of these sorters and do one independently. Use creative forms for
visualizing and do not use the technique discussed in the class.
Lect #4
Project 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. 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 structure
requirements 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. ADS, Sanjay Goel, JIITU, Even sem 2006-07
Lect #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 animated
visualization into your programs of Merge sort with variable number (user specified run
time parameter) of sublists.for division merger at each stage. Evaluate the program
efficiency 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. 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. ADS, Sanjay Goel, JIITU, Even sem 2006-07
Lect #14
1. Index structures: Linear index, BST Index: Performance Comparison wrt
to time and space complexity. Operations: insert/delete/search/update
Lect #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 insertion
Lect #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. ADS, Sanjay Goel, JIITU, Even sem 2006-07
Lect #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 method
Lect #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.