시작에 앞서...

이 포스팅은 다음 세 가지 주제를 다룬다.


- 자료구조

자바 컬렉션 프레임워크 구조로 시작하여 리스트, 맵과 같은 자료구조를 사용하는 방법과 이들이 어떻게 동작하는지를 알아본다.


- 알고리즘 분석

코드를 분석하고 이 코드가 얼마나 빨리 동작하는지와 얼마나 많은 공간(메모리0이 필요한지를 예측해본다.


- 정보 검색

앞의 두 주제에 동기를 부여하고 예제가 더욱 흥미롭도록 자료구조와 알고리즘을 활용하여 간단한 웹 검색 엔진을 만들어 본다.



이 세 가지 주제를 다음 흐름으로 다룬다.


- List 인터페이스로 시작하여 두 가지 방식으로 이 인터페이스를 구현하는 클래스를 작성한다. 그 다음 ArrayList와 LinkedList 클래스로 작업한 구현을 서로 비교한다.


- 트리 모양의 자료구조를 소개하고 첫 번째 응용 프로그램을 만든다. 위키피디아 페이지를 읽어와 내용을 파싱하고 결과 트리에서 링크와 다른 기능들을 찾는 프로그램이다. 이러한 도구들을 사용하여 '철학으로 가는 길' 추측을 테스트한다. 자세한 내용은 http://thinkdast.com/getphil을 참고하자.


- Map 인터페이스와 자바의 HashMap 구현을 알아본다. 그리고 나서 해시 테이블과 이진 탐색 트리를 사용하여 이 인터페이스를 구현하는 클래스를 작성한다.


- 마지막으로 앞의 클래스를 사용하여 (그 중간에 추가할 몇 가지 다른 클래스를 포함하여) 웹 검색 엔진을 만들어본다. 이 검색엔진은 페이지를 찾고 읽는 크롤러와 효율적으로 찾을 수 있도록 웹 페이지 내용을 저장하는 인덱서 , 사용자이 질의를 받아서 연관 결과를 가져오는 검색기를 포함한다.




TAGS.

Comments