Log in

No account? Create an account

Previous Entry | Next Entry

Short Description:

I am in need of a C++ programmer to create a quicksort program for a task list.

The program would take a simple list of 200 to 300 items and taking each one seperately, using the quicksort algorithm to ask the user which of the two is the most important (or urgent). When complete, the program would then list the 200 items from the most importanrt (or urgent) to the least important (or urgent).

You would think a program like this would already exist. Trust me. It doesn't.

Longer Description:

My dilemma is that unlike most people I am not time-oriented, but project-oriented. With that in mind, it is not unusual for me to have a list of 200 to 300 projects. Sadly, I do not share your father's knack for prioritization and therefore I need a gimmick to help me as looking at a list of 200-300 projects can put me in a form of paralyzed stasis.

Quite simply, what I'm looking for is a simple program that will allow me to take a list of 200 to 300 projects, compare them one by one answering the question "what is most important\urgent\profitable?", and then using a quicksort come up with an ordered list that is logically ordered from the most important, etc. to the least important.

https://en.wikipedia.org/wiki/Quicksort (there is already code available on that site)

That quite frankly that is all I need. However, if somebody has time and interest, there might be some bells and whistles I would ask them to consider:

  • Allow me to assign groups to each individual project. For instance, my groups personally would be Work, Financial, Personal, Bucket List, Family and a host of others. Assigning groups would allow me to work only on church projects within the church office, and other projects when I am in other circumstances.
  • Allow me to import and export the list to and from Microsoft Word.
  • Allow me to insert projects into the list without the necessity of having to go through the quicksort program again. By the by, the first time one would do a quicksort with 200 to 300 projects it will probably take anywhere from one to two hours.
  • Actually allow me to ask ALL THREE criteria (important\urgent\profitable) and allow me to print out lists with that critieria as well.
  • Even though I am not time oriented, some of the projects I do are and it would be nice to assign a complete by date to some individual projects.

Again, these are what I consider bells and whistles. Whatever anybody can do would be deeply appreciated.

By the bye, I would suggest any volunteer to seriously consider selling this program through some type of shareware program as there is no other to do list on the market that does this.

When I used this type of program for the Macintosh many years ago my level of productivity was dramatic. I hope that having access to similar tool will bring back that level of productivity.

One other favor. I would love to see what the program code looks like. Sending me the code along with the program would be most appreciated.

Any interest?


Jun. 2nd, 2012 04:31 pm (UTC)
Just for your information, I created such a list (favorite to least-liked animated features) by assigning a number to each film, sorting that list using a word processing program that was able to sort tab-separated elements on a list. This got the films into groups and I just changed the numbers in groups of 10 (easy to just leave out the second digit so there are ten numbered "1", ten numbered "2") then sorted alphabetically for title and numerically so I could easily spot duplicates. I would then look at those groups of 10 and add a second digit (my list started at 11 for my all-time favorite film "Bambi"). Once done my list, I replaced all the "0[tab]" and "1[tab]"... with [tab] until my list lacked a number field then erased all tabs.
Jun. 2nd, 2012 04:42 pm (UTC)
sorry for thinking out loud here but I just realized that the system does NOT need to ask every combination. It could first ask every pair randomly (an odd numbered item with an even numbered item) until the list was finished. Then one of the two items already compared is compared with one from a different pair. This would create a tree much like winner and loser team trees in bonspiels (word for curling championships).
Jun. 3rd, 2012 06:58 am (UTC)
New format proposed: the choice will be between 3 items with two rows of check box options... the lowest and the highest. This makes 3 comparisons with one page and still provides a rather binary set of thinking when choosing the highest of the three and the lowest of the three. The program will also time the responses and assign the gap on an inversely proportional nature (a quick response means the gap is wide and a long response means the items are close to each other in the final list). An unusually long response will assume a distraction and assign an average response time. The 2 pairs of extremes with the middle choice will be used to create a winner and loser list for deciding which combination to ask next. The gap size will help locate the winner and loser items in the respective lists. This means that after the initial survey (each item only used once for this first round of sets of 3), these two lists can be shuffled together and use the known comparisons to decide when to switch lists it is taking the items from as it goes from one extreme to the other. This newly ordered list can then be used as is to do a second survey with some items reserved for later choices if one of the three pairings has already been included in a previous group of three. Because they are already somewhat sorted, the choices will already be closer and the results of choosing more informative in location. It will still need to assess the NEW response time bell curve as this second survey is already closer. This can go on until all possible pairings have been asked but the user may decide the list is close enough by seeing that the three choices are usually in the right order already.
Jun. 4th, 2012 01:11 am (UTC)
Sounds intriguing and very different from what I originally envisioned.
Jun. 5th, 2012 02:30 pm (UTC)
same here but I was realizing that 2 at a time is like doing math in binary... tedious. When doing my sorting in groups of 10, I would often pick the three favorite and three worst out of the list first then decide among the 3 or 4 of the newly created 3 groups. This made sorting a bit easier as 3 seemed to be the magic number. Sorting was also a matter of some things being obviously close to the top or bottom of the list and were easy and quick to pull them out from the rest. This is where a time-based thing (or alternatively adding a qualifier of how much better or worse the best and worst are) would do much of the work sorting the list. I also just thought of a better way of choosing between the three... three possible changes in order. If the three are in the right order, just go to the next three but otherwise you click a switching option. The only problem is the timing is lost as a single decision accounts for all three pairs.