Data Structure and Algorithms Projects. Please select one of the following projects to implement: Project 1: Spell Checking [50% of the class work]. Project: Data Structures and Algorithms. Project 1: Searching Binary Trees. You learned about binary search trees – where you take a group of data items and turn them into a tree full of nodes where each left node is “lower” than each right node. Assignment. Student Solutions. Project 2: Knight's Travails. Assignment. A project for data structures and algorithms, Published by ACM Article. Bibliometrics Data Bibliometrics. · Citation Count: 0 · Downloads (cumulative):

 Author: Sandrine Heaney Country: Monaco Language: English Genre: Education Published: 22 June 2015 Pages: 557 PDF File Size: 19.32 Mb ePub File Size: 12.88 Mb ISBN: 179-2-74665-403-4 Downloads: 69959 Price: Free Uploader: Sandrine Heaney

It should have a value that it stores and also links to its parent and children if they exist.

Build getters and setters for it e. Start by assuming the array you get is sorted. Data structures projects will want to use an array acting as a queue to keep track of all the child nodes that you have yet to search and to add new ones to the list as you saw in the video.

If the target node value is not located, return nil.

Use quadtrees to implement data structures projects spatial index. Use it to find the nearest point to a given one. You can also ask for a brute force approach and make students do a performance comparison.

Use general trees to implement a simple algorithm enumerating all the possible words from a fixed alphabet at a given length. You can use that algorithm to implement a naive dictionary attack and data structures projects a set of passwords.

### A project for data structures and algorithms

Of course trees aren't necessary for this, but this is a data structures course! Use Bloom data structures projects to avoid polluting caches with "one-hit-wonders". The projects listed above are about applying data structures to solve some problem.

This is the kind of project that I prefer, but there were semesters when I was uninspired and data structures projects up handing out projects focusing on a particular usually exotic data structure. Play with numerical representations by implementing binary random access lists as described in Okasaki's book.

## Data structure projects

Optimal treap priority-changing parameters Treaps are a great randomized data structure: As described on Wikipedia: This modification would cause the tree to lose its random shape; instead, frequently accessed nodes would be more likely to be near the root of the tree, causing searches for them to data structures projects faster.

You could read my description of the data structure, figure out a way to fix the problem with it, and fix it, then implement it and benchmark it.

This project is certainly possible, but might be too easy.

Reduction-memoizing BSTs These are binary search trees where each node memoizes a function of its subtrees. For example, you could have a BST of humans, ordered by age, and have each node store the maximum income of the humans stored in data structures projects children.

You can also update in log time. This is related to finger trees. For bonus points, implement it in C but with bindings to a nice language like Ruby, and a convenient API which lets me specify both my ordering function and my sub-tree memoizing function as lambda functions.