Algorithm — различия между версиями
Материал из Star-Staff
Captain (обсуждение | вклад) (Новая страница: «Страница в разработке») |
Captain (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | О, это Алгоритм, которые волнует многие умы человечества. :) | |
+ | |||
+ | |||
+ | И поэтому, несмотря на то что мы фанаты open-source, здесь мы выкладываем алгоритм нескольколетней давности. | ||
+ | С тех пор мы сильно развились, претерпел существенные изменения, был круто оптимизирован. Мы придумали к нему много хороших эвристик (переборных и не только). | ||
+ | Но тем не менее общий каркас и модельный пример этот алгоритм тоже можно использовать. | ||
+ | |||
+ | |||
+ | ==Алгоритм== | ||
+ | |||
+ | |||
+ | <source lang="cpp"> | ||
+ | #include <наша_мега_база_кандидатов> | ||
+ | #include <nanimator> | ||
+ | #include <list> | ||
+ | |||
+ | void Nanimator::CandidateSearch(Query q, Client clinet) { | ||
+ | bool кандидат_найден = false; | ||
+ | list<candidate> CandidateList; | ||
+ | list<candidate> LongList; | ||
+ | |||
+ | while (!кандидат_найден) | ||
+ | { | ||
+ | // наша база | ||
+ | search_base_fill(q, CandidateList, LongList); | ||
+ | // работные сайты | ||
+ | search_sites_fill(q, CandidateList); | ||
+ | // форумы и сообщества | ||
+ | post_forums(q); | ||
+ | |||
+ | list<candidate>::iterator i; | ||
+ | for (i = LongList.begin(); i != LongList.end(); i++) | ||
+ | { | ||
+ | // рекомендации | ||
+ | ask_for_recommendations(*i, CandidateList); | ||
+ | } | ||
+ | |||
+ | candidate_sort(CandidateList); | ||
+ | Response r; | ||
+ | r = candidate_send(CandidateList, client); | ||
+ | if (r.hire) | ||
+ | { | ||
+ | кандидат_найден = true; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | q = correction(q, r); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> |
Версия 19:59, 21 декабря 2011
О, это Алгоритм, которые волнует многие умы человечества. :)
И поэтому, несмотря на то что мы фанаты open-source, здесь мы выкладываем алгоритм нескольколетней давности.
С тех пор мы сильно развились, претерпел существенные изменения, был круто оптимизирован. Мы придумали к нему много хороших эвристик (переборных и не только).
Но тем не менее общий каркас и модельный пример этот алгоритм тоже можно использовать.
Алгоритм
#include <наша_мега_база_кандидатов>
#include <nanimator>
#include <list>
void Nanimator::CandidateSearch(Query q, Client clinet) {
bool кандидат_найден = false;
list<candidate> CandidateList;
list<candidate> LongList;
while (!кандидат_найден)
{
// наша база
search_base_fill(q, CandidateList, LongList);
// работные сайты
search_sites_fill(q, CandidateList);
// форумы и сообщества
post_forums(q);
list<candidate>::iterator i;
for (i = LongList.begin(); i != LongList.end(); i++)
{
// рекомендации
ask_for_recommendations(*i, CandidateList);
}
candidate_sort(CandidateList);
Response r;
r = candidate_send(CandidateList, client);
if (r.hire)
{
кандидат_найден = true;
}
else
{
q = correction(q, r);
}
}
}