반응형 패스트캠퍼스118 자바스크립트로 하는 자료구조와 알고리즘(8장) - 재귀 무한 재귀 호출은 스택 오버플로를 초래한다. 기저 조건 = 종료조건, 재귀를 탈출하기 위한 조건이라고 보면 된다. 대표예시 피보나치 수열 일반 반복문으로 구현한 피보나치수열 function getNthFibo(n) { if ( n = endPos) { return true; } if(word.charAt(beginPos) !== word.charAt(endPos)) { return false; } else { return isPalindromeRecursiveHelper(word, beginPos + 1, endPos - 1); } } console.log(isPalindromeRecursive('racecar')); 시간 복잡도 O(n) 이다. 2019. 10. 24. 자바스크립트로 하는 자료구조와 알고리즘(7장) - 메모리 관리 메모리 누수 : 버려진 메모리를 해제하지 못한 경우 -> 성능이 저하되고 프로그램 자체가 주앋ㄴ되기도함 자바스크립트에는 가비지컬렉터가 있어서 이러한 문제를 해결해주기도 한다. 하지만, 가비지컬렉터가 올바른 방식으로 해제하지 않은 경우에 메모리 누수가 발생한다. 객체가 참조 중이면 해당 객체는 메모리에 존재한다. 마찬가지로 HTML DOM 객체들은 삭제된 이후에는 참조돼서는 안 된다. 함수에서 객체를 참조할 때 필요한 부분만 참조해야 한다. 연습 문제 1. function someLargeArray() { return new Array(1000000); } let exampleObject = { 'prop1' : someLargeArray(), 'prop2' : someLargeArray() } funct.. 2019. 10. 24. 자바스크립트로 하는 자료구조와 알고리즘(6장) - 객체 객체에 속성 추가하기 let javaScriptObject = {}; let testArray = [1,2,3,4]; javaScriptObject.array = testArray; console.log(javaScriptObject); javaScriptObject.title = 'Algo'; console.log(javaScriptObject); 프로토타입 활용 상속 function ExampleClass() { this.name = "Javascript"; this.sayName = function() { console.log(this.name); } } let example1 = new ExampleClass(); example1.sayName(); .prototype을 활용하여 메소드를 동적으로.. 2019. 10. 24. 자바스크립트로 하는 자료구조와 알고리즘(5장) - 배열 배열 삽입 : push()를 사용 / O(1)시간 삭제 : - pop()를 사용 / O(1)시간 , pop은 배열의 맨뒤 요소 제거 - shift()는 맨 앞에서 제거 접근 : array[i] 로 접근 반복문 for while for in 문 과 for of문의 차이 in앞에 지정된 변수 index는 배열의 인덱스이다. of앞에 지정된 변수 elemnet는 배열의 항목이다. 도움 함수들 .slice(begin, end) 배열의 시작 인덱스와 끝 인덱스 두 개의 매개변수를 받아서 그 시작인덱스부터 end인덱스 까지 배열의 일부를 반환 begin인덱스만 있는 경우 -> end인덱스는 배열의 최대값으로 가정 인덱스를 안주면 -> 복사본을 만든다. 하지만, 다음예제를 보면? var array1 = [1,2,3,.. 2019. 10. 22. 이전 1 ··· 7 8 9 10 11 12 13 ··· 30 다음 반응형