Project 5 – Directory System
본 자료는 미리보기를 지원하지 않습니다.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

Project 5 – Directory System에 대한 보고서 자료입니다.

목차

1. The Beginning

2. Implementation

3. Time Complexity

4. Remark

본문내용

1. The Beginning
기본적으로 다음과 같은 것들을 전제하였다.
1. 이름과 전화번호는 모두 겹칠 수 있다.
2. 전화번호는 무조건 5자리로 가정한다. 무조건 5자리로 가정한다면 String 타입이 아닌 int 타입을 사용할 수 있다. 만약 5자리 이하라고 한다면 “011”과 “11”을 구분하기 위한 처리를 해줘야 하지만 현재 프로젝트에서는 하지 않았다.
3. 전화번호의 개수 제한은 main() 내에서 처리했다. 실제 phone directory system을 담당하는 클래스에서는 전화번호 수의 제한을 두지 않았다. 차후 확장할 수 있기 때문이다.
4. 모든 input command에 대한 error 처리를 하되 이전처럼 실행을 멈추게 하지 않고 다음 줄부터 다시 command를 읽도록 하였다.
5. 구현해야 할 것은 전화번호 데이터를 추가, 삭제, 검색하는 것인데, 이들의 우선 순위는 실제 상황을 고려해 다음과 같이 처리한다. 각각의 time complexity는 다음 장에서 자세히 설명한다.
1. search by number (정확히 일치) – O(1)
2. search by name (prefix 일치) – O(logN)
3. insert data – O(logN)
4. delete data – O(logN)
name이 정확하게 일치하는 경우는 실제 사용하지 않기에 구현하지 않는다.
6. 학기 중에 다루지 않았던 자료 구조는 사용하지 않는다.
▶ 실제 휴대폰을 사용하는 use case를 분석해 볼 때 search by number가 가장 자주 일어난다고 할 수 있다. (상대방으로부터 전화가 오거나 문자 메시지 등이 오는 경우) 또한 그러한 case에 대해서 사용자는 더욱 시간에 대해 민감하게 반응할 것이다. 예를 들어, 나의 핸드폰에 새로운 친구를 추가하는 데에는 제법 시간이 걸리더라도 쉽사리 넘길 수 있다. 그것은 자주 있는 행동이 아니기 때문이다. 그렇지만 누군가에게 걸려온 전화에 그 사람이 누군지 찾는 과정이 오래 걸린다면 사용자는 금방 화가 날 것이다. 그러므로 search by name은 O(1)의 time complexity를 보장해야 한다.
  • 가격2,500
  • 페이지수8페이지
  • 등록일2006.06.29
  • 저작시기2006.6
  • 파일형식압축파일(zip)
  • 자료번호#357159
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니