umt 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/module/Array/index.d.ts +2 -0
- package/module/Array/index.js +2 -0
- package/module/Array/index.js.map +1 -1
- package/module/Array/insertionSort.d.ts +22 -0
- package/module/Array/insertionSort.js +35 -0
- package/module/Array/insertionSort.js.map +1 -0
- package/module/Array/mergeSort.d.ts +8 -1
- package/module/Array/mergeSort.js +30 -19
- package/module/Array/mergeSort.js.map +1 -1
- package/module/Array/timSort.d.ts +13 -0
- package/module/Array/timSort.js +79 -0
- package/module/Array/timSort.js.map +1 -0
- package/package.json +1 -1
package/module/Array/index.d.ts
CHANGED
|
@@ -3,9 +3,11 @@ export * from "./checkFlagAlignment";
|
|
|
3
3
|
export * from "./chunk";
|
|
4
4
|
export * from "./getArraysCommon";
|
|
5
5
|
export * from "./getArraysDiff";
|
|
6
|
+
export * from "./insertionSort";
|
|
6
7
|
export * from "./mergeSort";
|
|
7
8
|
export * from "./quickSort";
|
|
8
9
|
export * from "./range";
|
|
9
10
|
export * from "./shuffle";
|
|
10
11
|
export * from "./shuffle2DArray";
|
|
11
12
|
export * from "./sum";
|
|
13
|
+
export * from "./timSort";
|
package/module/Array/index.js
CHANGED
|
@@ -3,10 +3,12 @@ export * from "./checkFlagAlignment";
|
|
|
3
3
|
export * from "./chunk";
|
|
4
4
|
export * from "./getArraysCommon";
|
|
5
5
|
export * from "./getArraysDiff";
|
|
6
|
+
export * from "./insertionSort";
|
|
6
7
|
export * from "./mergeSort";
|
|
7
8
|
export * from "./quickSort";
|
|
8
9
|
export * from "./range";
|
|
9
10
|
export * from "./shuffle";
|
|
10
11
|
export * from "./shuffle2DArray";
|
|
11
12
|
export * from "./sum";
|
|
13
|
+
export * from "./timSort";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Array/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Array/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 挿入ソートを使用して配列をソート
|
|
3
|
+
*
|
|
4
|
+
* @param array ソートする配列
|
|
5
|
+
* @param compareFunction 比較関数
|
|
6
|
+
* @param start ソートを開始する配列のインデックス
|
|
7
|
+
* @param end ソートを終了する配列のインデックス
|
|
8
|
+
* @returns ソートされた配列
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const numbers = [4, 2, 7, 1, 3];
|
|
12
|
+
* insertionSort(numbers); // [1, 2, 3, 4, 7]
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const numbers = [4, 2, 7, 1, 3];
|
|
16
|
+
* insertionSort(numbers, (a, b) => a - b); // [1, 2, 3, 4, 7]
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const numbers = [4, 2, 7, 1, 3];
|
|
20
|
+
* insertionSort(numbers, undefined, 1, 3); // [4, 1, 2, 7, 3]
|
|
21
|
+
*/
|
|
22
|
+
export declare const insertionSort: <T>(array: T[], compareFunction?: (a: T, b: T) => number, start?: number, end?: number) => T[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { compareFunctionDefault } from "./compareFunctionDefault";
|
|
2
|
+
/**
|
|
3
|
+
* 挿入ソートを使用して配列をソート
|
|
4
|
+
*
|
|
5
|
+
* @param array ソートする配列
|
|
6
|
+
* @param compareFunction 比較関数
|
|
7
|
+
* @param start ソートを開始する配列のインデックス
|
|
8
|
+
* @param end ソートを終了する配列のインデックス
|
|
9
|
+
* @returns ソートされた配列
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const numbers = [4, 2, 7, 1, 3];
|
|
13
|
+
* insertionSort(numbers); // [1, 2, 3, 4, 7]
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const numbers = [4, 2, 7, 1, 3];
|
|
17
|
+
* insertionSort(numbers, (a, b) => a - b); // [1, 2, 3, 4, 7]
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const numbers = [4, 2, 7, 1, 3];
|
|
21
|
+
* insertionSort(numbers, undefined, 1, 3); // [4, 1, 2, 7, 3]
|
|
22
|
+
*/
|
|
23
|
+
export const insertionSort = (array, compareFunction = (compareFunctionDefault), start = 0, end = array.length - 1) => {
|
|
24
|
+
for (let index = start + 1; index <= end; index++) {
|
|
25
|
+
let index_ = index;
|
|
26
|
+
const target = array[index];
|
|
27
|
+
while (index_ > start && compareFunction(array[index_ - 1], target) > 0) {
|
|
28
|
+
array[index_] = array[index_ - 1];
|
|
29
|
+
index_--;
|
|
30
|
+
}
|
|
31
|
+
array[index_] = target;
|
|
32
|
+
}
|
|
33
|
+
return array;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=insertionSort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insertionSort.js","sourceRoot":"","sources":["../../src/Array/insertionSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAU,EACV,kBAA0C,CAAA,sBAAyB,CAAA,EACnE,KAAK,GAAG,CAAC,EACT,MAAc,KAAK,CAAC,MAAM,GAAG,CAAC,EACzB,EAAE;IACP,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,MAAM,GAAG,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC;QACX,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* マージソート
|
|
3
|
+
* @param {T[]} array 配列
|
|
4
|
+
* @param {(a: T, b: T) => number} compareFunction 比較関数
|
|
5
|
+
* @returns T[]
|
|
6
|
+
* @example mergeSort([1, 3, 2, 4, 5], (a, b) => a - b); // [1, 2, 3, 4, 5]
|
|
7
|
+
*/
|
|
8
|
+
export declare function mergeSort<T>(array: T[], compareFunction?: (a: T, b: T) => number): T[];
|
|
@@ -1,28 +1,39 @@
|
|
|
1
1
|
import { compareFunctionDefault } from "./compareFunctionDefault";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
/**
|
|
3
|
+
* マージソート
|
|
4
|
+
* @param {T[]} array 配列
|
|
5
|
+
* @param {(a: T, b: T) => number} compareFunction 比較関数
|
|
6
|
+
* @returns T[]
|
|
7
|
+
* @example mergeSort([1, 3, 2, 4, 5], (a, b) => a - b); // [1, 2, 3, 4, 5]
|
|
8
|
+
*/
|
|
9
|
+
export function mergeSort(array, compareFunction = compareFunctionDefault) {
|
|
10
|
+
if (array.length <= 1) {
|
|
11
|
+
return array;
|
|
6
12
|
}
|
|
7
|
-
const middle =
|
|
8
|
-
const left =
|
|
9
|
-
const right =
|
|
10
|
-
return merge(left, right, compareFunction);
|
|
11
|
-
}
|
|
13
|
+
const middle = Math.floor(array.length / 2);
|
|
14
|
+
const left = array.slice(0, middle);
|
|
15
|
+
const right = array.slice(middle);
|
|
16
|
+
return merge(mergeSort(left, compareFunction), mergeSort(right, compareFunction), compareFunction);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 2つの配列をマージする関数
|
|
20
|
+
* @param left - マージする左の配列
|
|
21
|
+
* @param right - マージする右の配列
|
|
22
|
+
* @param compareFunction - 比較関数
|
|
23
|
+
* @returns マージされた新しい配列
|
|
24
|
+
*/
|
|
12
25
|
function merge(left, right, compareFunction) {
|
|
13
|
-
const
|
|
14
|
-
let
|
|
15
|
-
let
|
|
16
|
-
while (
|
|
17
|
-
if (compareFunction(left[
|
|
18
|
-
|
|
19
|
-
leftIndex++;
|
|
26
|
+
const array = [];
|
|
27
|
+
let lIndex = 0;
|
|
28
|
+
let rIndex = 0;
|
|
29
|
+
while (lIndex < left.length && rIndex < right.length) {
|
|
30
|
+
if (compareFunction(left[lIndex], right[rIndex]) <= 0) {
|
|
31
|
+
array.push(left[lIndex++]);
|
|
20
32
|
}
|
|
21
33
|
else {
|
|
22
|
-
|
|
23
|
-
rightIndex++;
|
|
34
|
+
array.push(right[rIndex++]);
|
|
24
35
|
}
|
|
25
36
|
}
|
|
26
|
-
return
|
|
37
|
+
return array.concat(left.slice(lIndex)).concat(right.slice(rIndex));
|
|
27
38
|
}
|
|
28
39
|
//# sourceMappingURL=mergeSort.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeSort.js","sourceRoot":"","sources":["../../src/Array/mergeSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,
|
|
1
|
+
{"version":3,"file":"mergeSort.js","sourceRoot":"","sources":["../../src/Array/mergeSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,KAAU,EACV,kBAA0C,sBAAsB;IAEhE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,KAAK,CACV,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,EAChC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,EACjC,eAAe,CAChB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,KAAK,CACZ,IAAS,EACT,KAAU,EACV,eAAuC;IAEvC,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimSortアルゴリズムを実装した関数です。
|
|
3
|
+
* 挿入ソートとマージソートの良い特性を組み合わせたソートアルゴリズムで、
|
|
4
|
+
* 安定なソートを提供し、最悪のケースでもO(n log n)の時間複雑度を持ちます。
|
|
5
|
+
*
|
|
6
|
+
* @param {T[]} array - ソートする配列
|
|
7
|
+
* @param {(a: T, b: T) => number} [compareFunction=compareFunctionDefault<T>] -
|
|
8
|
+
* 要素比較のための関数
|
|
9
|
+
* @param {number} [start=0] - ソートを開始する配列のインデックス
|
|
10
|
+
* @param {number} [end=array.length - 1] - ソートを終了する配列のインデックス
|
|
11
|
+
* @returns {T[]} - ソートされた配列
|
|
12
|
+
*/
|
|
13
|
+
export declare const timSort: <T>(array: T[], compareFunction?: (a: T, b: T) => number, start?: number, end?: number) => T[];
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { compareFunctionDefault } from "./compareFunctionDefault";
|
|
2
|
+
/**
|
|
3
|
+
* TimSortアルゴリズムを実装した関数です。
|
|
4
|
+
* 挿入ソートとマージソートの良い特性を組み合わせたソートアルゴリズムで、
|
|
5
|
+
* 安定なソートを提供し、最悪のケースでもO(n log n)の時間複雑度を持ちます。
|
|
6
|
+
*
|
|
7
|
+
* @param {T[]} array - ソートする配列
|
|
8
|
+
* @param {(a: T, b: T) => number} [compareFunction=compareFunctionDefault<T>] -
|
|
9
|
+
* 要素比較のための関数
|
|
10
|
+
* @param {number} [start=0] - ソートを開始する配列のインデックス
|
|
11
|
+
* @param {number} [end=array.length - 1] - ソートを終了する配列のインデックス
|
|
12
|
+
* @returns {T[]} - ソートされた配列
|
|
13
|
+
*/
|
|
14
|
+
export const timSort = (array, compareFunction = (compareFunctionDefault), start = 0, end = array.length - 1) => {
|
|
15
|
+
const MIN_RUN = 32;
|
|
16
|
+
const insertionSort = (start, end) => {
|
|
17
|
+
for (let index = start; index <= end; index++) {
|
|
18
|
+
const temporary = array[index];
|
|
19
|
+
let index_ = index - 1;
|
|
20
|
+
while (index_ >= start && compareFunction(array[index_], temporary) > 0) {
|
|
21
|
+
array[index_ + 1] = array[index_];
|
|
22
|
+
index_--;
|
|
23
|
+
}
|
|
24
|
+
array[index_ + 1] = temporary;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const merge = (start, mid, end) => {
|
|
28
|
+
const left = array.slice(start, mid + 1);
|
|
29
|
+
const right = array.slice(mid + 1, end + 1);
|
|
30
|
+
let index = 0;
|
|
31
|
+
let index_ = 0;
|
|
32
|
+
let k = start;
|
|
33
|
+
while (index < left.length && index_ < right.length) {
|
|
34
|
+
if (compareFunction(left[index], right[index_]) <= 0) {
|
|
35
|
+
array[k] = left[index];
|
|
36
|
+
index++;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
array[k] = right[index_];
|
|
40
|
+
index_++;
|
|
41
|
+
}
|
|
42
|
+
k++;
|
|
43
|
+
}
|
|
44
|
+
while (index < left.length) {
|
|
45
|
+
array[k] = left[index];
|
|
46
|
+
index++;
|
|
47
|
+
k++;
|
|
48
|
+
}
|
|
49
|
+
while (index_ < right.length) {
|
|
50
|
+
array[k] = right[index_];
|
|
51
|
+
index_++;
|
|
52
|
+
k++;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const getMinRunLength = (n) => {
|
|
56
|
+
let r = 0;
|
|
57
|
+
while (n >= MIN_RUN) {
|
|
58
|
+
r |= n & 1;
|
|
59
|
+
n >>= 1;
|
|
60
|
+
}
|
|
61
|
+
return n + r;
|
|
62
|
+
};
|
|
63
|
+
const n = end - start + 1;
|
|
64
|
+
const minRun = getMinRunLength(n);
|
|
65
|
+
for (let index = start; index <= end; index += minRun) {
|
|
66
|
+
insertionSort(index, Math.min(index + MIN_RUN - 1, end));
|
|
67
|
+
}
|
|
68
|
+
for (let size = minRun; size < n; size *= 2) {
|
|
69
|
+
for (let left = start; left <= end; left += 2 * size) {
|
|
70
|
+
const mid = left + size - 1;
|
|
71
|
+
const right = Math.min(left + 2 * size - 1, end);
|
|
72
|
+
if (mid < right) {
|
|
73
|
+
merge(left, mid, right);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return array;
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=timSort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timSort.js","sourceRoot":"","sources":["../../src/Array/timSort.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED