Algorithm — различия между версиями
Материал из Star-Staff
Captain (обсуждение | вклад) |
Captain (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
− | И поэтому, несмотря на то что мы фанаты open-source, здесь мы выкладываем алгоритм нескольколетней давности. | + | И поэтому, несмотря на то что мы фанаты open-source, здесь мы выкладываем алгоритм нескольколетней давности (всё таки это наш "хлеб"). |
− | С тех пор мы сильно развились, претерпел существенные изменения, был круто оптимизирован. Мы придумали к нему много хороших эвристик (переборных и не только). | + | |
− | Но тем не менее общий каркас и модельный пример этот алгоритм | + | С тех пор мы сильно развились, он претерпел существенные изменения, был круто оптимизирован. Мы придумали к нему много хороших эвристик (переборных и не только). |
+ | Но тем не менее общий каркас и модельный пример этот алгоритм можно использовать. | ||
Версия 20:03, 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, LongList);
// соц.сети, форумы и сообщества
search_snfc(q, CandidateList, LongList);
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);
}
}
}