質問編集履歴

2

失礼しました。できる限り詳しく詳細記入しました。

2018/10/22 04:04

投稿

kjfnfljnf
kjfnfljnf

スコア23

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,20 @@
6
6
 
7
7
 
8
8
 
9
+ insertionSort、またはmergeSortメソッドに
10
+
11
+ 配列を入れると、正しくソートはしてくれますが、要素が多いと動きがとてつもなく遅くなります。
12
+
13
+ そこで、その2つのメソッドを利用したTimSortアルゴリズムを書きたいのですが、どのタイミングで何をどのメソッドに入れれば良いかが全く分かりません。
14
+
15
+
16
+
17
+ 配列の長さが100だとすると、それを、50、25、12、という風に長さが10以下になるまではmergeSortを、
18
+
19
+ それ以降はinsertionSortを利用したいです。
20
+
21
+
22
+
9
23
  ```java
10
24
 
11
25
 

1

不明な点、追記しました

2018/10/22 04:04

投稿

kjfnfljnf
kjfnfljnf

スコア23

test CHANGED
File without changes
test CHANGED
@@ -412,21 +412,7 @@
412
412
 
413
413
  {
414
414
 
415
- int run = data.length / 5;
415
+ //このメソッド内の仕事が分かりません。
416
-
417
-
418
-
419
- if (left + run < data.length)
420
-
421
- {
422
-
423
- insertionSortRange(data, left + 1, left + run - 1);
424
-
425
- mergeSortHelper(data, left, right);
426
-
427
- timSortHelper(data, left + run, right + run);
428
-
429
- }
430
416
 
431
417
  }
432
418