본문 바로가기

(18)
시간 복잡도 분석과 알고리즘 정당성 증명 시간 복잡도 가장 널리 사용되는 알고리즘 수행 시간 기준. 알고리즘이 실행되는 동안 수행하는 기본적 연산의 수를 입력의 크기에 대한 함수로 표현한 것 알고리즘의 수행 시간은 반복문이 지배! C++에서 vector, string등의 크기가 큰 구조체를 함수 인자로 넘길 때는 참조형으로 넘기자 (훨씬 빠르게 동작함) 주먹구구 법칙 입력의 크기를 시간 복잡도에 대입해 얻은 반복문 수행 횟수에 대해, 1초 당 반복문 수행 횟수가 1억(10^8)을 넘어가면 시간 제한 초과할 수 가능성 있다 P 문제 : 다항 시간 알고리즘이 존재하는 문제들의 집합 NP 문제 : 답이 주어졌을 때 이것이 정답인지를 다항 시간 내에 확인할 수 있는 문제 ~ 모든 P 문제는 NP 문제에 포함 ex) big-O O(N+P), P < N/..
일급 콜렉션 일급 콜렉션은 소트웍스 앤솔로지의 객체지향 생활체조 파트에서 언급. 콜렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다.각 콜렉션은 그 자체로 포장되어 있으므로 이제 콜렉션과 관련된 동작은 근거지가 마련된 셈.필터가 이 새 Class의 일부가 됨을 알 수 있다.필터는 또한 스스로 함수 객체가 될 수 있다.새 Class는 두 그룹을 같이 묶는다든가 그룹의 각 원소에 규칙을 적용하는 등의 동작을 처리할 수 있다.이는 인스턴스 변수에 대한 규칙의 확실한 확장이지만 그 자체를 위해서도 중요하다. 즉, Collection을 Wrapping하면서, 그 외 다른 멤버 변수가 없는 상태를 일급 컬렉션이라 한다. 일급 콜렉션의 이점은 다음과 같다.1. 비즈니스에 종속적인 자료구조2. Collection의 불변..