병렬성 (parallelism): 독립적으로 서로 다른 작업이 동시에 수행되는 시스템의 특성
동시성은 단일 코어 머신에서 발생할 수 있으며 병렬성은 멀티 코어 머신에서 발생 가능함
롭 파이크 (Rob Pike): “동시성은 독립적으로 계산을 실행하는 구성이다. 동시성은 병렬성이 아니다. 동시성은 한 번에 많은 것을 다루는 것이지만 병렬성은 한 번에 많은 일을 하는 것이다. 동시성은 구조에 관한 것이며, 병렬성은 실행에 관한 것이다. 동시성은 병렬화할 수 있는 문제를 해결하기 위한 해결책을 구조화하는 방법을 제공한다.”
문자열은 연속된 문자들이 그룹화되어 구성된 자료 구조이다. 따라서 데이터를 그룹화한 추상 자료형인 컬렉션(collection)의 다양한 자료 구조로 문자열을 구조화할 수 있으며 다양한 자료 구조 탐색 알고리즘을 사용하여 부분 문자열들을 탐색 및 비교하는 등의 문제를 해결할 수 있다.
백트래킹(backtracking)(또는 역추적) 알고리즘이란 최적의 해결책을 찾기 위해 모든 가능한 방법을 후보(candidate)로 구성한 후, 점진적으로 후보들을 시도하면서 유효한 후보가 아닐 경우(문제의 정답 조건을 만족하지 않을 경우) 문제 해결 과정에서 제외하고 되돌아가 ...
Comments