Algorithm — различия между версиями

Материал из Star-Staff
Перейти к: навигация, поиск
(Новая страница: «Страница в разработке»)
 
Строка 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);
    }
  }
}