Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 478abba

Browse files
committedDec 11, 2018
fix pivot picking and kruskal's algorithm
1 parent f4668db commit 478abba

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed
 

‎src/algorithms/graph/kruskal/kruskal.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export default function kruskal(graph) {
2424
*/
2525
compareCallback: (graphEdgeA, graphEdgeB) => {
2626
if (graphEdgeA.weight === graphEdgeB.weight) {
27-
return 1;
27+
return 0;
2828
}
2929

3030
return graphEdgeA.weight <= graphEdgeB.weight ? -1 : 1;

‎src/algorithms/sorting/quick-sort/QuickSort.js

+8-4
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,15 @@ export default class QuickSort extends Sort {
2222
// Take the median element of first, mid, and last elements.
2323
let pivotElement = array[0];
2424
const mid = Math.floor(array.length / 2);
25-
if ((array[mid] < array[array.length - 1] && array[mid] > array[0])
26-
|| (array[mid] > array[array.length - 1] && array[mid] < array[0])) {
25+
if ((this.comparator.lessThan(array[mid], array[array.length - 1])
26+
&& this.comparator.greaterThan(array[mid], array[0]))
27+
|| (this.comparator.greaterThan(array[mid], array[array.length - 1])
28+
&& this.comparator.lessThan(array[mid], array[0]))) {
2729
pivotElement = array[mid];
28-
} else if ((array[array.length - 1] < array[mid] && array[array.length - 1] > array[0])
29-
|| (array[array.length - 1] > array[mid] && array[array.length - 1] < array[0])) {
30+
} else if ((this.comparator.lessThan(array[array.length - 1], array[mid])
31+
&& this.comparator.greaterThan(array[array.length - 1], array[0]))
32+
|| (this.comparator.greaterThan(array[array.length - 1], array[mid])
33+
&& this.comparator.lessThan(array[array.length - 1], array[0]))) {
3034
pivotElement = array[array.length - 1];
3135
}
3236

0 commit comments

Comments
 (0)
Please sign in to comment.