Data Structures & Algorithm

Run Settings
LanguageJavaScript
Language Version
Run Command
// Big O // const nemo = ['nemo']; // const everyone = ['dory', 'bruce', 'marlin', 'nemo', 'gill', 'bloat', 'nigel', 'squirt', 'darla', 'hank']; // const large = new Array(10000).fill('nemo'); // function findNemo(array) { // for (let i = 0; i < array.length; i++) { // console.log('running'); // Big O rule 1 (Worst case) // if (array[i] === 'nemo' ) { // console.log('Found Nemo'); // break; // Big O rule 1 (Worst case) // } // } // } // findNemo(everyone); // O(n) --> Linear time // const boxes = [0,1,2,3,4,5]; // function compressTwoBoxes(boxes) { // console.log(boxes[0]); // console.log(boxes[1]); // } // compressTwoBoxes(boxes); // Exercise Big O calculation // What is the Big O of the below function? (Hint, you may want to go line by line) // function funChallenge(input) { // let a = 10; // O(1) // a = 50 + 3; // O(1) // for (let i = 0; i < input.length; i++) { // O(n) // anotherFunction(); // O(n) // let stranger = true; // O(n) // a++; // O(n) // } // return a; // O(1) // } // Exercise Big O calculation 2 // What is the Big O of the below function? (Hint, you may want to go line by line) // function anotherFunChallenge(input) { // let a = 5; // O(1) // let b = 10; // O(1) // let c = 50; // O(1) // for (let i = 0; i < input; i++) { // O(n) // let x = i + 1; // O(n) // let y = i + 2; // O(n) // let z = i + 3; // O(n) // } // for (let j = 0; j < input; j++) { // O(n) // let p = j * 2; // O(n) // let q = j * 2; // O(n) // } // let whoAmI = "I don't know"; // O(1) // } // Big O = 4 + 7n = O(n) // Big O rule 2 (remove constants) // function printFirstItemThenFirstHalfThenSay100Times(items) { // console.log(items[0]); // var middleindex = Math.floor(items.length / 2); // var index = 0; // while (index < middleIndex) { // console.log(items[index]); // index++; // } // for (var i = 0; i < 100; i++) { // console.log('hi'); // } // } // Result = O(1 + n / 2 + 100) --> O(n) // Big O rule 3 (Different terms for inputs) // function compressBoxesTwice(boxes, boxes2) { // boxes.forEach(function(boxes) { // console.log(boxes); // }); // boxes2.forEach(function(boxes) { // console.log(boxes); // }); // } // Result = O(a + b) // O(n^2) // const boxes = ['a', 'b', 'c', 'd', 'e']; // function logAllPairsOfArray(array) { // for (let i = 0; i < array.length; i++) { // for (let j = 0; j < array.length; j++) { // console.log(array[i], array[j]); // } // } // } // logAllPairsOfArray(boxes); // Big O rule 4 (Drop non dominants) function printAllNumbersThenAllPairSums(numbers) { console.log("these are the numbers: "); numbers.forEach(function(number) { console.log(number); }); console.log("and these are their sums: "); numbers.forEach(function(firstNumber) { numbers.forEach(function(secondNumber){ console.log(firstNumber + secondNumber); }); }); } printAllNumbersThenAllPairSums([1, 2, 3, 4, 5]); // O(n^2)
Editor Settings
Theme
Key bindings
Full width
Lines