Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Ilya Teterin                         2:5020/400     08 Apr 2003  07:47:57
 To : Val Krigan
 Subject : Re: Сортировка
 -------------------------------------------------------------------------------- 
 
 Tue Apr 08 2003 00:45, Val Krigan wrote to Vladislav Gusev:
 
 Представляю свое кривое творение:
 
 #include <vector>
 
 using namespace std;
 
 const hash_space=102400;
 
 typedef double elementtype;
 
 typedef vector<elementtype> elementtype_node;
 
 typedef vector<elementtype_node> node_vector;
 
 double min,max;
 
 int hash_func(double arg){
   return int((arg-min)/(max-min)*hash_space);
 }
 
 int __cdecl sortfunc(const void *d1, const void *d2){
   elementtype *e1=(elementtype*)d1;
   elementtype *e2=(elementtype*)d2;
   if(*e1>*e2)
    return 1;
   else if(*e1==*e2)
    return 0;
 
   return -1;
 
 };
 
 void sort_node(elementtype_node & node){
   qsort(&node[0],node.size(),sizeof(elementtype),&sortfunc);
 };
 
 void addelement(node_vector & vect, elementtype element){
   vect[hash_func(element)].push_back(element);
 };
 
 int main(){
 
   node_vector nodes(hash_space);
 
   bool firsttime=true;
 
   int i,j;
 
   min=0;max=1000; // hardcoded ;)
 
 #define X 1000000
 
   for(i=0;i<X;i++){
    double el=(rand()%10000)/100.0;
 
    addelement(nodes,el);
 
   }
 
   for(i=0;i<nodes.size();i++){
    sort_node(nodes[i]);
    for(j=0;j<nodes[i].size();j++){
 //     printf("%f\n",nodes[i][j]);
    };
   };
 
   return 0;
 
 };
 
 Комментарии: функция hash_func выбирается в зависимости от конкретной задачи,
 должна возвращать значение [0..hash_space-1] и удовлетворять условию a1<a2 =>
 hash_func(a1)<=hash_func(a2). В зависимости от того, насколько хорошо ее
 удастся выбрать и размера hash_space, сложность сортировки изменяется от
 qsort-овской (наихудший случай -  все элементы попали в один hash_node) до
 O(n) (наилучший случай - каждый hash_node содержит не более одного элемента).
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Сортировка   Alexandr Zykhov   04 Apr 2003 04:45:04 
 Re: Сортировка   Oleg Khovayko [SPAM trap - don\'t re   04 Apr 2003 04:44:36 
 Сортировка   Artur Mogozov   04 Apr 2003 06:02:10 
 Сортировка   Ilya Teterin   04 Apr 2003 06:59:19 
 Сортировка   Artur Mogozov   05 Apr 2003 08:57:00 
 Сортировка   Ilya Teterin   05 Apr 2003 08:46:33 
 Сортировка   Mity Usanov   05 Apr 2003 22:35:45 
 Сортировка   Artur Mogozov   06 Apr 2003 07:37:20 
 Сортировка   Yuri Kvashonkin   08 Apr 2003 15:02:14 
 Сортировка   Alex Semenyaka   07 Apr 2003 21:44:38 
 Сортировка   Alex Astafiev   08 Apr 2003 09:30:19 
 Сортировка   Alex Semenyaka   09 Apr 2003 14:32:54 
 Сортировка   Alex Astafiev   04 Apr 2003 15:38:13 
 Сортировка   Ilya Teterin   07 Apr 2003 16:37:01 
 Сортировка   Andrey Dashkovsky   07 Apr 2003 07:06:22 
 Сортировка   Ilya Teterin   04 Apr 2003 06:57:18 
 Сортировка   Mity Usanov   04 Apr 2003 21:10:36 
 Re: Сортировка   Vladislav Gusev   05 Apr 2003 17:27:21 
 Re: Сортировка   Val Krigan   07 Apr 2003 08:25:34 
 Re: Сортировка   Vladislav Gusev   07 Apr 2003 19:45:29 
 Re: Сортировка   Val Krigan   08 Apr 2003 00:45:16 
 Re: Сортировка   Ilya Teterin   08 Apr 2003 07:47:57 
 Re: Сортировка   Val Krigan   08 Apr 2003 08:33:10 
 Re: Сортировка   Ilya Teterin   08 Apr 2003 09:06:12 
 Re: Сортировка   Val Krigan   08 Apr 2003 09:11:19 
 Re: Сортировка   Ilya Teterin   08 Apr 2003 09:29:45 
 Re: Сортировка   Val Krigan   08 Apr 2003 09:45:08 
 Re: Сортировка   Ilya Teterin   08 Apr 2003 10:41:01 
 Сортировка   Alex Astafiev   08 Apr 2003 09:37:12 
 Сортировка   Ilya Teterin   09 Apr 2003 07:15:08 
 Re: Сортировка   Vladislav Gusev   09 Apr 2003 08:37:44 
 Сортировка   Moderator of RU.ALGORITHMS   09 Apr 2003 17:45:12 
 Сортировка   Stanislav Shwartsman   09 Apr 2003 21:09:32 
 Сортировка   Alex Astafiev   10 Apr 2003 18:55:48 
 Сортировка   Yuri Kvashonkin   07 Apr 2003 00:02:56 
 Сортировка   Alex Astafiev   04 Apr 2003 15:31:02 
 Сортировка   Ilya Teterin   07 Apr 2003 16:43:12 
 Re: Сортировка   Dmitriy Iassenev   10 Apr 2003 13:30:57 
 Re: Сортировка   Sergey Andrianov   08 May 2003 09:02:12 
Архивное /ru.algorithms/166797754d176.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional