반응형 분류 전체보기144 퀵 정렬, 병합 정렬, 힙 정렬 비교식 정렬은 한 번에 두개씩 비교하여 교환을 정렬하는 방식이다. 분배식 정렬은 키 값을 기준으로 자료를 여러 개의 부분집합으로 분해하고 분분집합을 정렬하고 -> 전체를 정렬하는 방식이다. 분할(Divide): 배열을 같은 크기의 2개의 배열로 분할한다. 정복(Conquer): 분할된 배열을 정렬. 결합(Combine): 정렬된 부분 배열을 다시 합침 퀵 정렬과 병합 정렬은 둘 다 평균적으로 O(n log n) 성능을 갖는다. [공통점] divide and conquer(분할과 정복) 알고리즘에 속한다. 탐색할 배열의 크기를 쪼개서 재귀함수로 넘긴다. [차이점] 배열을 분할하는 방식이 서로 다르다. 메모리 공간의 사용량이 다르다. 퀵 정렬: 메모리 공간을 사용하지 않는다. 오직 콜 스택을 위한 메모.. 2022. 9. 4. 시간복잡도와 공간복잡도 알고리즘 성능 평가 - 시간 복잡도와 공간복잡도 동일한 기능을 수행하는 알고리즘이 있을 때 복잡도가 낮을 수록 좋은 알고리즘이라 말한다고 한다. 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 / 알고리즘을 실행하여 종료할 때까지 걸리는 시간 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 / 알고리즘을 실행하여 종료할 때까지 필요한 기억장치의 크기 1. 시간 복잡도 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미한다. 같은 결과를 갖는 프로그래밍 소스도 작성 방법에 따라서 걸리는 시간이 달라지는데, 같은 결과를 같는 소스라면 시간이 적게 걸리는 것이 좋은 소스이다. [시간 복잡도 그래프] fasterO(1) 2022. 9. 3. 얕은복사 깊은복사 개념 코딩을 하다보면 얕/깊은 복사 개념을 모르면 중간중간 멈추게 된다. 어렴풋이 살짝만 알고 있던 상태에서 그순간만 이해하려고 대충 넘겼는데 데이터 타입정리하다보니 얕 깊복사 확실히 알아두자 맘을 먹게됐다. 어짜피 해야하면서 ㅋㅋㅋ 왜이리도 어슬렁 하는거니 ㅠㅠㅠㅠ 앞에 데이터타입에 대한 개념을 정리한것을 토대로 얕은 복사는 객체의 참조 값(주소 값) 을 복사, 깊은 복사는 객체의 '실제 값'을 새로운 메모리 공간에 복사한다. 🍓[ 얕은 복사 (shallow Copy) ] 흔히 알고 있듯, 객체에 담겨있는 변수를 다른 변수에 할당하면 call by reference (데이터 복사가 아닌 참조 형태)가 일어나게 되며, 한 변수를 변경하면 다른 변수의 데이터도 변경이 된다. 🔷 [참조형 데이터] 기본형 데이터의.. 2022. 9. 2. Symbol ES6에서 도입된 7번째 원시형 데이터 타입이다. 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 주로 이름의 다른 값들과 충돌을 피하고 싶을 때 유일한 프로퍼티 키를 만들기 위해서 사용한다. const someSymbol = Symbol() const someSymbol1 = Symbol(`some symbol`) 🔷 심벌 값의 생성 const mySymbol = Symbol() console.log(typeof mySymbol); //symbol console.log(mySymbol) //Symbol() new Symbol() //TypeError: Symbol is not a constructor const mySymbo2 = Symbol('she') const mySymbo3 = Symbo.. 2022. 9. 1. 이전 1 ··· 31 32 33 34 35 36 다음 728x90 반응형