Skip to content

Commit 478abba

Browse files
committed
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‎

Lines changed: 1 addition & 1 deletion
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-
return1;
27+
return0;
2828
}
2929

3030
returngraphEdgeA.weight<=graphEdgeB.weight ? -1 : 1;

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

Lines changed: 8 additions & 4 deletions
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
letpivotElement=array[0];
2424
constmid=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-
}elseif((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+
}elseif((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)