https://github.com/garrisonj/convexhullalgorithms
cs350 project
https://github.com/garrisonj/convexhullalgorithms
Last synced: 8 days ago
JSON representation
cs350 project
- Host: GitHub
- URL: https://github.com/garrisonj/convexhullalgorithms
- Owner: GarrisonJ
- Created: 2014-02-25T20:21:42.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2014-02-27T22:12:25.000Z (over 12 years ago)
- Last Synced: 2025-10-21T19:58:54.266Z (9 months ago)
- Language: Ruby
- Homepage:
- Size: 272 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
CS350
Garrison Jensen
Project proposal
## Project: Convex Hull
### Project Topic
For my project I will compare the two algorithms we learned in class for finding the convex hull of a given set of points, the Quick-Hull and the brute force algorithm. I will compare the time efficiency both mathematically and empirically for random sets of points. I will also compare them on some special cases, such as a set of points in a circle, and points on a line.
I think it will be interesting to see if the brute force algorithm ever out performs the Quick-Hull algorithm on any sets. And if so, by how much.
### Implementation Language
For this project I plan to use the Ruby programming language. I chose this language for several reasons. First, I am experienced with Ruby. Second, Ruby is easy to read, which will allow me to analyse the efficiency of the algorithm without getting caught up in complicated syntax.
Also, Ruby has a simple and easy to use testing module, Benchmark, which will allow me to write extensive test. And a nice graphing library, RubyVis, which will allow me to make graphical representation of my test output.
### Features in Final Report
- A mathematical analysis of time efficiency.
- Quick-Hull
- Brute Force Hull
- An empirical analysis of time efficiency.
- Quick-Hull
- Brute Force Hull
- A graphical representation of tests input and output.
- A point chart of special cases of test input.
- A bar graph showing time taken on different sized input sets.
- A written report analyzing the collected data.
- Optional
- Implementation and analysis of the Graham Scan algorithm.
### Time Plan
This is my tentative time plan for the project.
- 27 Feb
- Have both algorithms implemented.
- Complete the mathematical analysis of brute force algorithm.
- Complete the mathematical analysis of Quick-Hull algorithm.
- 6 March
- Complete the empirical analysis of brute force algorithm.
- Complete the empirical analysis of Quick-Hull algorithm.
- Create graphs representing empirical analysis.
- 13 March
- Write an analyse of collected date.
- Come up with conclusions about the efficiency of algorithms.
- Complete written report.