알고리즘 최적화. - 페이지 8

 
더 흥미로운 것을 시도하십시오.
graph sin t^2 - Wolfram|Alpha
  • www.wolframalpha.com
x
 
나는 극한값을 찾는 주제를 닫았다고 생각한다.
 

문자열 배열을 정렬하기 위해 인터넷 전체를 뒤졌습니다. http://ru.wikipedia.org/wiki/Quick_sort

결과적으로 문자열 배열에서 QuickSort를 다시 만들었습니다.

여전히 고유 레코드 거부 모드로 들어갑니다.

 int OnInit()
{
string N[ 8 ];
N[ 0 ]= "123" ;
N[ 1 ]= "asdfgg" ;
N[ 2 ]= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5" ;
N[ 3 ]= "548" ;
N[ 4 ]= "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6" ;
N[ 5 ]= "***" ;
N[ 6 ]= "asdfg" ;
N[ 7 ]= "+++++" ;
StrQuickSort(N);
Comment(
N[ 0 ]+ "\n" ,
N[ 1 ]+ "\n" ,
N[ 2 ]+ "\n" ,
N[ 3 ]+ "\n" ,
N[ 4 ]+ "\n" ,
N[ 5 ]+ "\n" ,
N[ 6 ]+ "\n" ,
N[ 7 ]
);


return ( 0 );
}

void StrQuickSort( string &A[])
{
QuickSort(A, 0 ,ArrayRange(A, 0 )- 1 );
}
//void QuickSort(double &A[],int &r[],int from,int to)
//void CLONGArray::QuickSort(long &m_data[],Cint2D &index,int beg,int end,bool mode=0)
void QuickSort( string &A[], int from , int to)
  {
   int i,j; //,itemp;
   string x,temp;
   if ( from >=to) return ;
   i= from ;
   j=to;
   x=A[( from +to)>> 1 ];
   while (i<=j)
     {
       while (A[i]<x)i++; 
       while (A[j]>x)j--;
       if (i<=j)
        {
         temp=A[i]; A[i]=A[j]; A[j]=temp;
         //itemp=r[i]; r[i]=r[j]; r[j]=itemp;
         i++;
         j--;
        }
     }
   QuickSort(A, from ,j);
   //QuickSort(A,r,from,j);
   QuickSort(A,i,to);  
   //QuickSort(A,r,i,to);
  }
Быстрая сортировка — Википедия
  • ru.wikipedia.org
Быстрая сортировка (англ.  ), часто называемая qsort по имени реализации в стандартной библиотеке языка Си — широко известный алгоритм сортировки, разработанный английским информатиком Чарльзом Хоаром во время его работы в МГУ в 1960 году. Один из самых быстрых известных универсальных алгоритмов сортировки массивов (в среднем O(n log n) обменов...
 
인사말!
두 개 이상의 기호의 틱 기록 을 동기화하는 알고리즘의 논리에 문제가 발생하여 매 순간마다 해당 기호 가격이 있게 됩니다. 동료들이 제안합니다.
 
Andrey Dik :
인사말!
두 개 이상의 기호의 틱 기록 을 동기화하는 알고리즘의 논리에 문제가 발생하여 매 순간마다 해당 기호 가격이 있게 됩니다. 동료들이 제안합니다.
아이바시프트를 아시나요?
 
Vladimir Tkach :
아이바시프트를 아시나요?
그것이 나를 어떻게 도울지 알아?
 
Andrey Dik :
인사말!
두 개 이상의 기호의 틱 기록 을 동기화하는 알고리즘의 논리에 문제가 발생하여 매 순간마다 해당 기호 가격이 있게 됩니다.
내가 올바르게 이해한다면 : 나는 이것을 할 생각입니다 - 모든 악기의 각 틱 배열이 저장되도록 요일별로 별도의 객체로 분할하고 (매일 틱이 많지 않음) 다음에서 제공하십시오. "보다 작거나 같음"에 대해 시간별로 정렬된 배열입니다.
 
추가 배열을 만듭니다. 거기에 있는 모든 문자의 시간을 기록합니다. 오름차순으로 정렬합니다. 중복을 제거하십시오. 이 어레이에서 기기를 동기화합니다. 정확히 일치하는 항목이 없으면 다음 눈금의 시간을 사용합니다.
 
Rorschach :
추가 배열을 만듭니다. 거기에 있는 모든 문자의 시간을 기록합니다. 오름차순으로 정렬합니다. 중복을 제거하십시오. 이 어레이에서 기기를 동기화합니다. 정확히 일치하는 항목이 없으면 다음 눈금의 시간을 사용합니다.
응, 그랬어
그러나 밀리초에 여러 틱이 올 때 같은 시간에 같은 기호에 틱이 있는 경우가 많습니다.
이것은 내가 논리에 갇힌 곳입니다.
 
Andrey Dik :
응, 그랬어
그러나 밀리초에 여러 틱이 올 때 같은 시간에 같은 기호에 틱이 있는 경우가 많습니다.
이것은 내가 논리에 갇힌 곳입니다.

몇 가지 옵션을 생각할 수 있습니다. ms당 평균 가격을 구합니다. ms당 마지막 가격을 가져옵니다. 분해능을 인위적으로 µs로 높입니다. 예를 들어 1ms에 3틱, 첫 번째 틱 시간은 10µs, 두 번째 틱 시간은 20µs 등입니다. 시간 정보가 손실되었습니다. 더 나은 옵션은 없습니다. 밀리초 막대가 작동하는 것처럼 마지막 가격을 사용하는 것이 가장 일반적입니다.