From 34280c97c306ded9d47d83a7c6c7dc50cb3c9c8b Mon Sep 17 00:00:00 2001 From: Subhajit Sahu Date: Sun, 7 May 2023 15:37:27 +0530 Subject: [PATCH] :bug: chore: clean TODO --- TODO | 85 +---------------------------------------------- package-lock.json | 4 +-- package.json | 2 +- wiki | 2 +- 4 files changed, 5 insertions(+), 88 deletions(-) diff --git a/TODO b/TODO index 580d8dc22..18100ca5a 100644 --- a/TODO +++ b/TODO @@ -1,15 +1,4 @@ -SORTS, IN PAIR - -Instead of mapFn, provide pair array to define sort mapping. -selectionSort, insertionSort, bubbleSort, mergeSort, (are all stable?) -quickSort, shellSort, radixSort, timSort, heapSort -https://en.wikipedia.org/wiki/Sorting_algorithm -https://www.npmjs.com/package/sort-algorithms-js -https://dl.acm.org/doi/10.5555/1778580.1778601 -https://stackoverflow.com/questions/463105/in-place-radix-sort/474040#474040 - - -MINNTH, MAXNTH, SORTEDSLICE (ARRAYVIEW) +MINNTH, MAXNTH Need only part of sorted array? [bag][nth] ... Selection algorithm: Quickselect @@ -23,75 +12,3 @@ PARSE, OTHERS INDEX -VE - moveWithin - - -OLD SORT ALGORITHMS - -/** - * Arrange values in order! - * @param x an array (updated!) - * @param fc compare function (a, b) - * @param fm map function (v, i, x) - * @param fs swap function (x, i, j) - * @returns x | x[i] ≤ x[j] ∀ i ≤ j - */ -function bubbleSort$(x: T[], fc: CompareFunction | null=null, fm: MapFunction | null=null, fs: SwapFunction | null=null): T[] { - var fc = fc || COMPARE; - var fm = fm || IDENTITY; // TODO: use map function - var fs = fs || swap$; - var X = x.length; - for (var i=0; i 0) fs(x, i, j); - } - return x; -} - - -/** - * Arrange values in order! - * @param x an array (updated!) - * @param fc compare function (a, b) - * @param fm map function (v, i, x) - * @param fs swap function (x, i, j) - * @returns x | x[i] ≤ x[j] ∀ i ≤ j - */ -function selectionSort$(x: T[], fc: CompareFunction | null=null, fm: MapFunction | null=null, fs: SwapFunction | null=null): T[] { - var fc = fc || COMPARE; - var fm = fm || IDENTITY; // TODO: use map function - var fs = fs || swap$; - var X = x.length; - for (var i=0; i 0) l = j; - fs(x, i, l); - } - return x; -} - - -// TODO: Check if this is correct! -/** - * Arrange values in order! - * @param x an array (updated!) - * @param fc compare function (a, b) - * @param fm map function (v, i, x) - * @param fs swap function (x, i, j) - * @returns x | x[i] ≤ x[j] ∀ i ≤ j - */ -function insertionSortOld$(x: T[], fc: CompareFunction | null=null, fm: MapFunction | null=null, fs: SwapFunction | null=null): T[] { - var fc = fc || COMPARE; - var fm = fm || IDENTITY; // TODO: use map function - var fs = fs || swap$; // TODO: use swap function - var X = x.length; - for (var i=X-2; i>=0; --i) { - var xv = x[i], mv = x[i]; - for (var j=i+1; j