い〜さねっと

雑多メモ

ソートの実行時間

色々なソートの実行時間を計測することになったので,なんとなくやってみた
Cで1000個,10000個,100000個のデータを4種類のソートで並び替えを行う
クイックソートだけはqsort()使ったけど,他は一応自力で実装
俺の実装能力がしょぼいので,もっと早くできるだろ!ってのはなしの方向で!

選択ソート

sum of characters is 1001
======== After sorted: [../../files/data/numbers1K.dat] =========
time: 0.002851963043212890625000000000
sum of characters is 11002
======== After sorted: [../../files/data/numbers10K.dat] =========
time: 0.346039056777954101562500000000
sum of characters is 111003
======== After sorted: [../../files/data/numbers100K.dat] =========
time: 34.039495944976806640625000000000

挿入ソート

sum of characters is 1001
======== After sorted: [../../files/data/numbers1K.dat] =========
time: 0.002464056015014648437500000000
sum of characters is 11002
======== After sorted: [../../files/data/numbers10K.dat] =========
time: 0.296245098114013671875000000000
sum of characters is 111003
======== After sorted: [../../files/data/numbers100K.dat] =========
time: 30.699764013290405273437500000000

ヒープソート

sum of characters is 1001
======== After sorted: [../../files/data/numbers1K.dat] =========
time: 0.012396812438964843750000000000
sum of characters is 11002
======== After sorted: [../../files/data/numbers10K.dat] =========
time: 1.456660032272338867187500000000
sum of characters is 111003
======== After sorted: [../../files/data/numbers100K.dat] =========
time: 149.834131002426147460937500000000

クイックソート

sum of characters is 1001
======== After sorted: [../../files/data/numbers1K.dat] =========
time: 0.027005910873413085937500000000
sum of characters is 11002
======== After sorted: [../../files/data/numbers10K.dat] =========
time: 0.023957014083862304687500000000
sum of characters is 111003
======== After sorted: [../../files/data/numbers100K.dat] =========
time: 0.069637060165405273437500000000

ほんま,クイックソートは圧倒的やね