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

This project adds new functionality to [url removed, login to view]

Review: [url removed, login to view]

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

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]([url removed, login to view]).

- 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]([url removed, login to view])

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 [url removed, login to view] 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.

Skills: Algorithm, C# Programming, Software Architecture

See more: 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

About the Employer:
( 8 reviews ) Redmond, United States

Project ID: #12130707

6 freelancers are bidding on average $174 for this job

$147 USD in 3 days
(95 Reviews)
$155 USD in 3 days
(35 Reviews)
$188 USD in 5 days
(22 Reviews)

Hi I am really interested in your project. I have full experience of c# programming. I could change your own code as you want. I could satisfy you. Everything will be done well if you work with me. Thank you

$111 USD in 2 days
(3 Reviews)

Hello, sir. I have read your project description in details. I have enough experiences in your required skills. I have worked as software developer in desktop with C, C++, C#, java. And I haave enough experiences More

$155 USD in 3 days
(0 Reviews)

Dear client I am highly interested to do this project. I will make you happy.I don’t need any upfront or milestone payment. Pay me when you will happy. Looking forward. Thanks

$155 USD in 3 days
(0 Reviews)

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 More

$200 USD in 6 days
(0 Reviews)
$244 USD in 7 days
(0 Reviews)