プログラミングに最も必要なのは数学力
■ このスレッドは過去ログ倉庫に格納されています
0262名無し@沢村
NGNG>ところがクイックソートより早いソートより早いソートも、実はある。
ヌヒよ、ヌヒもたまにはいいこというよ。
だが「実はある」んじゃなく自分でつくることが大切だよ!!わかるか?
クイックソートより早いソートを自分で考えてみろよ!!それが数学であり応用力というものだよ!!
ちなみにおれもクイックソートよりはやいソートをさくっとつくってみたからちょっと参考にしてみろ?あ〜ん?
これは度数分布という数学の概念をつかったヌヒ等の頭には難しいソートだが、汎用性はかなりあるからつかってみろ?
int *Data,*working,*cnt;
void RapidSort(int Max)
{
int i=0,j,pos;
int *work = working,*table =Data,*temp = work;
while( i < 32){
j=0;whilw(j < 256){cnt[j] = 0;j++}
j=0;while(j < Max){pos = ((*(table + j)) >> i ) & 0xff;cnt[ pos ]++;j++;}
j=1;while( j < 256){ cnt[j] += cnt_table[j - 1];j++;}
j=Max-1;while(j >= 0){pos = ((*(table + j)) >> i ) & 0xff;work[ --cnt[ pos ]] = table[j];j--;}
work = table; table = temp;i+=8;
}}
■ このスレッドは過去ログ倉庫に格納されています