본문 바로가기

알고리즘

(2)
Do it! 자료구조와 함께 배우는 알고리즘 입문 : 3장 검색 검색 알고리즘 검색과 키 어떤 검색을 하게 되더라도 특정 항목에 주목한다는 점은 검색하기의 공통점이다. 그 주목하는 항목을 키라고 한다. 키는 전체 데이터의 일부로, 검색 대상을 찾아내기 위해 주목하는 데이터를 말한다. 예를 들어, 여러 사람들 중 국적인 한국인 사람을 검색한다고 할 때, 국적이 키이고, 키 값은 한국이다. 또한 찾고자하는 키값과 일치하는 사람이 조건이며, 이런 조건은 꼭 하나만 있는 것은 아니고, 논리 곱이나 논리 합을 사용하여 복합 지정하기도 한다. 배열에서 검색하기 배열을 검색하는 예시로 다음 세가지 검색 기법을 제시한다. 이 중 몇몇은 자료구조에 의존한다. 우리는 이 장에서 배열 검색을 학습하며 다음의 알고리즘을 활용한다. 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색 수행..
자바로 배우는 핵심 자료구조와 알고리즘 : 2장 알고리즘 분석 그렇다면 언제 ArrayList와 LinkedList 중 어떤 것을 사용하는 것이 더 좋은 선택일까? 어떤 프로그램에 어떤 클래스를 사용하는 것이 더 좋을 지 결정할 때 두 경우의 효율성을 계산하기 위해서 두 가지 방법을 사용할 수 있다. 1. 프로파일링 (Profiling) 둘 다 시도해보고 각각 얼마나 걸리는 지 확인 단점 ! 둘 다 구현해봐야한다. 결과가 사용하는 컴퓨터의 성능에 의존한다. 결과가 문제 크기나 입력으로 사용하는 데이터에 의존한다. 2. 알고리즘 분석 (Analysis of algoritms) 구현하지 않고 알고리즘을 비교하는 방법 첫번째 가정 - 하드웨어의 세부사항을 다루지 않기 위해 알고리즘을 이루는 기본 연산을 식별하여 알고리즘에 필요한 연산 수를 센다. 두번째 가정 - 입력 데..