Guest User

Untitled

a guest
Nov 15th, 2018
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. function createRand(){
  2. let result = [];
  3. for (let i = 0; i < 10000; i++){
  4. result.push(Math.floor(Math.random()*100000));
  5. }
  6. return result;
  7. }
  8.  
  9. function binarySearch(arr,value) {
  10. let t0 = performance.now();
  11. let done = false;
  12. let i = 0;
  13. let x = arr.length-1;
  14. let result = {
  15. found: false,
  16. index: null,
  17. time: 0
  18. };
  19. while (!done) {
  20. if (arr[i] === value) {
  21. result.found = true;
  22. result.index = i;
  23. done = true;
  24. }
  25. else {
  26. let temp = Math.floor((x - i) / 2)+i;
  27. if(x-i === 0 || x-i === 1){
  28. done = true;
  29. }
  30. else if (arr[temp] > value) {
  31. x = temp;
  32. i = Math.floor((x - i) / 2);
  33. }
  34. else if (arr[temp] < value) {
  35. i = temp;
  36. }
  37. else if (arr[temp] === value){
  38. result.found = true;
  39. result.index = temp;
  40. done = true;
  41. }
  42. }
  43. }
  44. let t1 = performance.now();
  45. result.time = t1 - t0;
  46. if(result.found){
  47. return `Binary search did find ${value} at index ${result.index} and it took ${result.time}`;
  48. }
  49. else{
  50. return `Binary search did not find ${value} and it took ${result.time}`;
  51. }
  52. }
  53.  
  54. function bubbleSort(aList){
  55. let temp = aList;
  56. let done = false;
  57. while(!done){
  58. let i = 0;
  59. while(i<temp.length){
  60. let first = temp[i];
  61. let second = temp[i+1];
  62. if(first > second){
  63. temp[i] = second;
  64. temp[i+1] = first;
  65. }
  66. i++;
  67. }
  68. let sorted = true;
  69. for (let x = 0; x < temp.length;x++){
  70. if (temp[x] <= temp[x+1] || temp[x+1] === undefined){
  71. sorted = sorted && true;
  72. }
  73. else{
  74. sorted = sorted && false;
  75. }
  76. }
  77. if (sorted === true){
  78. done = true;
  79. }
  80. }
  81. return temp;
  82. }
  83.  
  84. function badTest(arr,value){
  85. let t0 = performance.now();
  86. let result = {
  87. found: false,
  88. index: null,
  89. time: 0
  90. };
  91. for (let i = 0; i < arr.length;i++){
  92. if (arr[i] === value){
  93. result.found = true;
  94. result.index = i;
  95. }
  96. }
  97. let t1 = performance.now();
  98. result.time = t1 - t0;
  99. if(result.found){
  100. return `Bad search did find ${value} at index ${result.index} and it took ${result.time}`;
  101. }
  102. else{
  103. return `Bad search did not find ${value} and it took ${result.time}`;
  104. }
  105. }
  106.  
  107. function selectionSort(aList){
  108. let temp = aList;
  109. let done = false;
  110. let x = 0;
  111. while (!done){
  112. let lowest;
  113. let index;
  114. for (let i = x; i < temp.length;i++){
  115. if (i === x){
  116. lowest = temp[i];
  117. index = i;
  118. }
  119. else if(temp[i] < lowest){
  120. lowest = temp[i];
  121. index = i;
  122. }
  123. }
  124. temp[index] = temp[x];
  125. temp[x] = lowest;
  126. x++;
  127. if (x === temp.length){
  128. done = true;
  129. }
  130. }
  131. return temp;
  132. }
  133.  
  134. let myArr = createRand();
  135. myArr = selectionSort(myArr);
  136. let test = Math.floor(Math.random()*(myArr.length-1));
  137. console.log(binarySearch(myArr,myArr[test]));
  138. console.log(badTest(myArr,myArr[test]));
  139. console.log(binarySearch(myArr,100000000000));
  140. console.log(badTest(myArr,1000000000000));
Add Comment
Please, Sign In to add comment