Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. // InsertionSortForBucketSort O(n^2)
  2. func InsertionSortForBucketSort(A []float64) {
  3. for j := 1; j < len(A); j++ {
  4. key, i := A[j], j-1
  5. for i >= 0 && A[i] > key {
  6. A[i+1] = A[i]
  7. i--
  8. }
  9. A[i+1] = key
  10. }
  11. }
  12.  
  13. // BucketSort O(n)
  14. func BucketSort(A []float64) {
  15. n := len(A)
  16. B := make([][]float64, n)
  17. fN := float64(n)
  18. for _, a := range A {
  19. B[int(a * fN)] = append(B[int(a * fN)], a)
  20. }
  21. for _, b := range B {
  22. InsertionSortForBucketSort(b)
  23. }
  24. i := 0
  25. for j:= 0; j < n; j++ {
  26. m := len(B[j])
  27. for k := 0; k < m; k++ {
  28. A[i] = B[j][k]
  29. i++
  30. }
  31. }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement