Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function createRand(){
- let result = [];
- for (let i = 0; i < 10000; i++){
- result.push(Math.floor(Math.random()*100000));
- }
- return result;
- }
- function binarySearch(arr,value) {
- let t0 = performance.now();
- let done = false;
- let i = 0;
- let x = arr.length-1;
- let result = {
- found: false,
- index: null,
- time: 0
- };
- while (!done) {
- if (arr[i] === value) {
- result.found = true;
- result.index = i;
- done = true;
- }
- else {
- let temp = Math.floor((x - i) / 2)+i;
- if(x-i === 0 || x-i === 1){
- done = true;
- }
- else if (arr[temp] > value) {
- x = temp;
- i = Math.floor((x - i) / 2);
- }
- else if (arr[temp] < value) {
- i = temp;
- }
- else if (arr[temp] === value){
- result.found = true;
- result.index = temp;
- done = true;
- }
- }
- }
- let t1 = performance.now();
- result.time = t1 - t0;
- if(result.found){
- return `Binary search did find ${value} at index ${result.index} and it took ${result.time}`;
- }
- else{
- return `Binary search did not find ${value} and it took ${result.time}`;
- }
- }
- function bubbleSort(aList){
- let temp = aList;
- let done = false;
- while(!done){
- let i = 0;
- while(i<temp.length){
- let first = temp[i];
- let second = temp[i+1];
- if(first > second){
- temp[i] = second;
- temp[i+1] = first;
- }
- i++;
- }
- let sorted = true;
- for (let x = 0; x < temp.length;x++){
- if (temp[x] <= temp[x+1] || temp[x+1] === undefined){
- sorted = sorted && true;
- }
- else{
- sorted = sorted && false;
- }
- }
- if (sorted === true){
- done = true;
- }
- }
- return temp;
- }
- function badTest(arr,value){
- let t0 = performance.now();
- let result = {
- found: false,
- index: null,
- time: 0
- };
- for (let i = 0; i < arr.length;i++){
- if (arr[i] === value){
- result.found = true;
- result.index = i;
- }
- }
- let t1 = performance.now();
- result.time = t1 - t0;
- if(result.found){
- return `Bad search did find ${value} at index ${result.index} and it took ${result.time}`;
- }
- else{
- return `Bad search did not find ${value} and it took ${result.time}`;
- }
- }
- function selectionSort(aList){
- let temp = aList;
- let done = false;
- let x = 0;
- while (!done){
- let lowest;
- let index;
- for (let i = x; i < temp.length;i++){
- if (i === x){
- lowest = temp[i];
- index = i;
- }
- else if(temp[i] < lowest){
- lowest = temp[i];
- index = i;
- }
- }
- temp[index] = temp[x];
- temp[x] = lowest;
- x++;
- if (x === temp.length){
- done = true;
- }
- }
- return temp;
- }
- let myArr = createRand();
- myArr = selectionSort(myArr);
- let test = Math.floor(Math.random()*(myArr.length-1));
- console.log(binarySearch(myArr,myArr[test]));
- console.log(badTest(myArr,myArr[test]));
- console.log(binarySearch(myArr,100000000000));
- console.log(badTest(myArr,1000000000000));
Add Comment
Please, Sign In to add comment