C# and algorithms: Trie, data partitioning, caching. Implement 3 methods.

This project adds new functionality to [login to view URL]

Review: [login to view URL]

Implement IPlacesServices on [PlacesService]([login to view URL]). Method descriptions are in interface definition file: [login to view URL]

This project will have 3 milestones:

1. Implement GetLocationFromPlaceID

2. Implement FindPlacesInArea

2. Implement FindPlacesByPartialMatch

- For every milestone there will be a separate pull request submitted on GitHub. Once pull request is approved, all checks are passing and it is ready to merge, milestone will be released and new milestone will be created. Don't start working on a next milestone, until previous was approved to avoid extra merging and wasted work.

- NOTE that StyleCop is enabled for this project, so every method and variable should have detailed comments

- Every method should be fully covered by unit tests

- Places service should load city entries by calling GetGeoPlacesFromEmbeddedFile in constructor and cache them in memory after that.

- FindPlacesByPartialMatch for 10 results should return the same list of cities as [this call]([login to view URL]).

- FindPlacesByPartialMatch should use a Trie data structure that is storing the city entries by starting letters, here's a visual example from wiki article:

![img]([login to view URL])

This way to get the results matching the input is a matter of going to the prefix from the top, then traversing the subtree and ordering the results by populating in descending order.

- FindPlacesInArea should be using efficient data structure, so that we are partitioning cities efficiently and only look at required partitions around the center location. **It should not be iterating over all results.**

- No external libraries should be used

If you are interested in this project please provide your answers to the following questions:

1. Do you have experience working in GitHub and do you realize you will need to fork [login to view URL] and submit pull request for your fork?

2. What is your time/money bid for milestone 1, milestone 2 and milestone 3 (separately).

3. Please confirm you understand that each milestone will only be released once pull request is ready to merge, passes all checks and all code review comments are addressed.

Habilidades: Algoritmo, Programação C#, Arquitetura de software

Veja mais: trie data structure in c, trie data structure implementation in c, complexity of algorithms in data structure, c algorithms and data structures, best book for algorithms and data structures in c, all algorithms of data structure, algorithms of data structure, algorithms in data structure, algorithms and data structures tutorial, algorithms and data structures in c, algorithms and data structures for dummies, algorithms and data structures for beginners, algorithms advanced data structure, algorithms & advanced data structure, counting player implement methods simple player unnecessarily, software write mq4, software write chip epson, useful software write book, software write web specs, free software write user guide

Acerca do Empregador:
( 9 comentários ) Redmond, United States

ID do Projeto: #12130707

5 freelancers estão ofertando em média $187 para esse trabalho

$147 USD in 3 dias
(277 Comentários)
$155 USD in 3 dias
(113 Comentários)
$188 USD in 5 dias
(35 Comentários)

Dear Client, Greeting of the day ahead !!! Thanks for providing us opportunity to place bid over the project and communicate with you. I am a serious bidder here and i have already worked on a similar project befor Mais

$200 USD in 6 dias
(1 Comentário)
$244 USD in 7 dias
(0 Comentários)