diff --git a/Advanced.Algorithms/DynamicProgramming/Maximizing/KnackSackProblems.cs b/Advanced.Algorithms/DynamicProgramming/Maximizing/KnackSackProblems.cs index b7ed2ec5..c69b58e4 100644 --- a/Advanced.Algorithms/DynamicProgramming/Maximizing/KnackSackProblems.cs +++ b/Advanced.Algorithms/DynamicProgramming/Maximizing/KnackSackProblems.cs @@ -60,7 +60,7 @@ public static double KnackSack_Fractional(int W, int[] weights, int[] values) //O(n) for (int i = 0; i < weights.Length; i++) { - ratios[i] = values[i] / weights[i]; + ratios[i] = (double)values[i] / weights[i]; } //(o(nlog(n) //quick sort by desc weights diff --git a/Advanced.Algorithms/Sorting/BucketSort.cs b/Advanced.Algorithms/Sorting/BucketSort.cs index 81ea817d..efe08d15 100644 --- a/Advanced.Algorithms/Sorting/BucketSort.cs +++ b/Advanced.Algorithms/Sorting/BucketSort.cs @@ -28,14 +28,17 @@ public static int[] Sort(int[] array, int bucketSize) int i; for (i = 0; i < array.Length; i++) { - var bucketIndex = array[i] / bucketSize; - - if(!buckets.ContainsKey(bucketIndex)) + if (bucketSize != 0) { - buckets.Add(bucketIndex, new List()); - } + var bucketIndex = array[i] / bucketSize; - buckets[bucketIndex].Add(array[i]); + if (!buckets.ContainsKey(bucketIndex)) + { + buckets.Add(bucketIndex, new List()); + } + + buckets[bucketIndex].Add(array[i]); + } } i = 0;