C# Needle in a haystack Application

В роботі Опубліковано %project.relative_time Оплачується при отриманні
В роботі Оплачується при отриманні

The Needle in a haystack application. Full description of the project is in the attached PDF-document

Description:

The saying "it's like looking for a needle in a haystack" when faced with a seemingly hopeless task to look for anything. A computer can, however, find a needle in a haystack - sooner or later. With enough clever algorithms can also ensure that it goes fast.

In this application, the word "haystack" aim at a data set (eg, array, tree, list) and "needle" means an element you want to find.

The task:

You should evaluate how the search time for different methods differ when you let the haystack size vary. For you to get times, that are long enough to be measurable you must have substantially many straws in the stack (a few million for the largest size) and allow the size to vary within a range. You probably need to have at least 4 different sizes to be able to draw any conclusions.

The search shall be made as following:

a) Sequential search. This is the simplest model. Storing elements in an array, and loop through it until the searched element is found or until the entire array is scanned.

b) "Optimized" search. This is still a sequential search in an array. This time do you put into an "extra" pin end of the array (i.e, the data you are looking for). This means that you can (and should) change the conditions of the loop's termination. You no longer have to check if the array is empty or if you applied through all elements because you are sure to find it (if nowhere else then there is last). Post your results from this and a) the task in the same graph.

c) Replace the algorithm in many applications are searched much more often than the deposit. E.g. could it be that man creates haystack initially (ie, inserting elements in any data collection) and in the very initial stage playing the execution time does not matter. For example occur at system startup. Then search the predominant needle, insertion and deletion of elements occurs relatively infrequently.

In this kind of applications "worth" it was therefore to "invest" in an "expensive" data storage that are made initially, if one thereby attains that subsequent searches will be "cheap". In such cases, a binary search tree be a good option, especially if you know nothing about the size of the data set. In this exercise, you should use your sorted binary tree (which is also a search tree). Repeat run with the same sizes in the haystack as in the previous two sub-tasks, and put into a chart. Compare with previous runs.

Create a field for each haystack (with different number of elements in) where the elements are random and unique. Then use these fields to create the other data types that the search should run. The time you measure should only include the actual search. How much accuracy you need to measure with? Find out what code is needed for you to be able to get the execution time.

d) An Algorithm Using the same reasoning as in the previous sub-task one can imagine taking the cost to build a hash table in exchange for the subsequent efficient lookup.

Hash tables will be at its best when it is needed has an idea of ​​how much data is stored. Let's assume such a situation. How big should the table be relative to the amount of data that you think will be added?

Many hash functions are based on strings. If your needles e.g. is any integer, then the course is not really the same thing. Can I use string based features yet somehow the keys consist of integer? You will of course make your hash table as an ADT (Abstract Data Type)

Discuss your findings with us. What measures were most worth investing in if you take into account long-term effects?

Everything in this project should be done in Windows Forms, we do not accept any requests per "Console" project.

Please comment all the code and if possible, give us a demonstration on how the code works!

Програмування на C# Робочій стіл Windows

ID Проекту: #6212731

Про проект

7 заявок(-ки) Дистанційний проект Остання активність Jul 23, 2014

Доручено:

DevAlek

Most questions are well known , seek, insertion and delete cost are well known for different types of containers. But if u want to have actual measurement, well, I can do it,too -- Only u need to prove u are seriou Більше

kr1600 SEK за 13 дні(-в)
(14 відгуків(-и))
4.5

7 фрілансерів(-и) готові виконати цю роботу у середньому за kr1407

indofxlancer

A proposal has not yet been provided

kr1600 SEK за 30 дні(-в)
(1 відгук)
3.8
khp31

Sr. Software Developer with 4.7+ yrs experience. Sr. Software Developer with 4.7+ yrs experience. Sr. Software Developer with 4.7+ yrs experience.

kr1555 SEK за 30 дні(-в)
(6 відгуків(и))
3.3
mingzixian523

A proposal has not yet been provided

kr943 SEK за 3 дні(-в)
(2 відгуків(и))
2.5
Peterpay

A proposal has not yet been provided

kr1600 SEK за 3 дні(-в)
(1 відгук)
1.4
surv1ve

HI, after checking the initial requires, i am here for your kind concern that some people bid with $144 or $5550 which is default in system and totally a fake estimate. Before hiring someone, check completion rate and Більше

kr943 SEK за 10 дні(-в)
(5 відгуків(и))
0.0
ITProblemSolvers

Hi, I would develop the hay stack application in .NET. I am experienced in .NET Applications with 2 years of experience. Thanks

kr995 SEK за 15 дні(-в)
(0 відгуків(и))
0.0