확장메뉴
주요메뉴


소득공제
Java 2

Java 2

: BY EXAMPLE

[ CD 1 ]
Geoff Friesen 저 / 김태훈 역 | 마이트프레스 | 2001년 03월 31일   저자/출판사 더보기/감추기
첫번째 리뷰어가 되어주세요
정가
20,000
판매가
18,000 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2001년 03월 31일
쪽수, 무게, 크기 597쪽 | 1110g | 크기확인중
ISBN13 9788988723203
ISBN10 8988723201

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

책 속으로 책속으로 보이기/감추기

배열들은 객체가 직접 배열 인덱스에 매핑되는 경우에 객체를 저장하고 검색하는 데 아주 유용하지만, 항상 그럴 수는 없는 것이다.

예를 들어 여러분은 200명의 고용인들로 운영되는 공장을 소유하고, 고용인들의 봉급을 지급하는 과정을 프로그램으로 기록하기를 원한다고 가정하자. 한 명의 고용인을 표현한 각 객체들을 참조하는 배열로 프로그램을 고안할 것이다. 왜냐하면 각각의 고용인은 고유한 주민등록번호를 가지므로 객체의 주민등록번호 필드로써 고용인 객체를 신속하게 할당하기 위하여 배열 인덱스처럼 주민등록번호를 사용하려고 할 것이기 때문이다.

그러나 문제가 있다. 배열 지수처럼 주민등록번호를 사용하기 위해서는, 각각의 주민등록번호에 해당하는 상당히 많은 수의 메모리를 확보하여야 하는 것이다. 혹시 충분한 크기의 배열을 확보할 수 있는 넉넉한 메모리를 갖고 있을지라도, 혹시 200개의 객체들만을 참조할 뿐이라면 상당한 양의 메모리가 낭비될 것이다.

여전히 주민등록번호를 사용할 수는 있지만 직접적으로는 아니다. 이번에는 더 좁은 범위의 수를 주민등록번호에 할당한다. 200명의 직원 때문에 200개의 엔트리에 10억 개를 매핑하여야만 한다. 이렇게 하면 메모리 낭비 없이 기록을 효율적으로 검색할 수 있다. 이러한 매핑은 '해싱(hashing)'을 통하여 이루어질 수 있다.

해싱은 모든 키들이 같은 배열 색인에 할당되니 않는다는 방식을 이용하여 비트 기호의 스크램블에 의해 배열 인덱스에 기호를 할당하기 위한 컴퓨터 과학 기술이다. 다른 말로, 해싱은 키 값들이 배열 인덱스 전체에 균일하게 분포되도록 이들 비트들을 스크램블 한다. 균일 분포된 200개의 배열 엔트리에 10억 개의 주민등록번호를 매핑하는 것은 각 엔트리에 5백만 개의 주민등록번호를 매핑시키는 것이다.

불행하게도, 배열 인덱스에 대한 키들의 비율이 매우 클 수 있기 때문에(예를 들면, 200에 십억 개), 충돌(같은 배열 인덱스에 두 개 또는 더 많은 키가 할당됨)이 일어날 수 있다.

두 개(5백만은 고사하고) 키가 같은 배열 인덱스에 해시 되었을 때 어떻게 할 것인가? 이 요소에 어떤 값이 기억될까? 이 문제에 대한 다양한 해결책이 있지만, 가장 유명한 해결책 중에 하나는 배열 요소에 값을 기억하지 않는 것이다. 대신에 각각의 배열 요소는 동적으로 성장/수축 가능한 연결 목록을 참조하게 된다. 단순한 값 대신에 키/값 쌍이 노드들에 기억된다.

이 계획안을 다시 생각해 보자. employee 객체는 특별한 주민등록번호가 필요하다. 주민등록번호는 인덱스 20에 해시한다. 그 연결 목록은 노드가 진짜 기호에 맞는 것을 찾거나 찾지 못했을 때까지 통과한 배열 요소 20에 의해 조회된다. 만약 노드가 찾아지면 그 값이 반환된다.

배열 요소와 적당한 연결 목록의 결합으로 형성되는 데이터 구조를 해시 테이블(hash table)이라고 한다. 해싱을 목적으로 연결 목록을 참조하는 각 배열 요소들은 버킷(bucket)이라고 한다.

f(key)=index 표시법은 해시 함수가 배열 인덱스를 생성하기 위하여 키에 적용되었음을 의미하는 것이다. 이 인덱스는 사용중인 인덱스와 충돌하지 않을 것인데, 만약 충돌한다면 새 엔트리가 인덱스된 배열 요소에 의해 참조된 연결 목록에 추가된다. 로드 인자(load factor)는 실행에 영향을 줄 수 있다. 이 비율이 1.0에 가까워질수록, 충돌 수는 더 커진다.
--- p.374~375

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 절판 상태입니다.
뒤로 앞으로 맨위로 공유하기