算法的优化。 - 页 8

 
试试更有趣的东西。
graph sin t^2 - Wolfram|Alpha
  • www.wolframalpha.com
x
 
我认为寻找极值 的话题是封闭的。
 

我搜索了整个互联网,寻找字符串数组的排序http://ru.wikipedia.org/wiki/Быстрая_сортировка。

我最后重新设计了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) обменов...
 
问候!
我对同步两个或更多符号的tick历史 的算法的逻辑感到困惑,所以每个时间点都会有相应的符号价格、建议、同事。
 
Andrey Dik:
问候!
我对同步两个或更多符号的tick历史 的算法的逻辑感到困惑,所以每个时间点都会有相应的符号价格、建议、同事。
你知道iBarShift吗?
 
Vladimir Tkach:
你知道iBarShift吗?
我知道,这对我有什么帮助?
 
Andrey Dik:
问候!
我对同步两个或更多符号的tick历史 的算法的逻辑感到困惑,所以每个时间点都会有相应的符号价格、建议、同事。
如果我没有弄错的话:我在考虑这样做--按天分成独立的对象,这样每个对象都存储所有符号的刻度数组,(对于每一天都没有那么多刻度),然后就从按时间排序的数组中按要求给出 "小于或等于"。
 
创建一个额外的数组。从所有的人物那里写出时间。按升序排序。删除重复的内容。使用这个阵列来同步工具。如果没有完全匹配的时间,就取最近的一个刻度的时间。
 
Rorschach:
创建一个额外的数组。在那里从所有的符号中写出时间。按升序排序。删除重复的内容。使用这个阵列来同步工具。如果没有完全匹配的时间,就取最近的一个刻度的时间。
是的,这就是我所做的。
但在同一个字符上经常有相同的时间点,当一毫秒内有几个点的时候
这就是我在逻辑上被卡住的地方。
 
Andrey Dik:
是的,这就是我所做的。
但在同一个字符上经常有相同的时间点,当一毫秒内有几个点的时候
这就是我被卡在逻辑上的地方。

你可以想到几个选项。以每毫秒的平均价格为例。以每毫秒的最后价格为准。人为地将分辨率提高到µs,例如,在一毫秒内出现3个刻度,使第一个刻度的时间为10µs,第二个为20µs,等等。时间信息丢失,没有更好的选择。采取最后的价格将是最通常的,像毫秒级的条形图就可以了。