7장. 해시 테이블Hash Table.

Slides:



Advertisements
Similar presentations
畵龍點睛 물질에 따른 전자파 차단 연구 연지은 ( 조 ) 서은빈 한서현 이의준. 목차 요즘 우리가 일상적으로 사용하는 것에는 전기 로 만들어져 있음 => 양의 전자파가 발생되어 사람의 몸을 훼손 => 전자파 차단 제품에 효능이 보장된 것 X => 다양한 물질로 실험.
Advertisements

지리산 둘레길지리산 둘레길 사천 비토섬 (30m) 광양 매화마을 (40m) 사천 와룡산 철쭉 (1h) 사천 한려수도 (1h) 순천 순천만 갈대밭 (1h) 순천 삼보사찰 송광사 (1h20m) 구례 산수유마을 (1h30m) 산청 웅석계곡 (1h30m) 거제 외도 (1h50m)
윤준혁 (12), 이주연 (13), 박혜원 (14), 안혜경 (15) 허니버터칩으로 알아본 SNS 의 영향 력.
지도교수 : 박진식 교수님 조 원 : 홍승기, 이병용, 백승준, 조근용, 조동현, 한정협, 이상하.
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
언어의 자서전 소단원 (1) 단원. 언어의 특성 기호성 자의성 사회성 규칙성 창조성 역사성.
똘기 : 채 익지 않은 과일. 똘기 소개 일명 발표동아리. 똘기는 발표에 대한 두려움을 가지고 있는 학우들에게 ‘ 자신감 ’ 을 키워줄 수 있도록 하자는 취지에서 만들어졌다. 평소 강의 시간보다 편안하고 자유롭게 발표해 볼 수 있는 기회를 제공함으로써 발표력 향상에 기여하는.
일 시 : (목) 장 소 : 문산종합사회복지관장) 파주시문산종합사회복지관 기관안내.
2013년도 2학기 학습튜터링 O.T.
미국의 미디어교육 신문방송학과 강진구 한인수 곽모란 이명현.
1. 자료구조 개념 (1) 자료구조의 개요 1) 자료구조 ① 일련의 자료들을 조직하고 구조화하는 것 ② 자료의 표현과 그것과 관련된 연산 2) 자료구조에 따라 저장공간의 효율성과 프로그램의 실행시간이 달라짐 3) 어떠한 자료구조에서도 필요한 모든 연산들을 처리하는 것이.
PRESENTATION 저온화상이란?
오존층 파괴의 실태와 영향 김지수 오선아 조은서 미토콘드리아 조.
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
제3장 사회 복지 발달사.
대포나 미사일이 없던 옛날에는 먼 거리에 있는 적의 성을 어떻게 공격했을까?
가족상담 및 치료.
Chapter 7. Binary Search Trees - 보충 자료-
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
쌓지 말고 해소하자 이 주휘 이 진영 전 민석 전 혜림.
2015년 하반기 소방교육 자 유 전 공 학 부 (금) 안녕하십니까 자유전공학부 행정실 입니다.
일 시 : 2013년 11월 12일(화) 15:00 발표자 : 동대문구보육반장 최 길 숙
쌍용차 회생계획안을 통한 투기자본(=먹튀자본) 수강과목: 회 계 학 원론 담당교수: 박 성 환 교수님
쉽게 배우는 알고리즘 6장. 해시 테이블Hash Table.
아동복지 제9장.
서울 메트로 노조파업 수강과목 : 노사 관계론 담당교수 : 정형진 교수님
해싱(hashing) Ref. C로 쉽게 풀어쓴 자료구조, 생능출판사, 2005.
CHAP 11: 해싱 순천향대학교 하상호.
이름:강연주 학번: 담당교수님:박주형교수님
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
12 검색.
쉽게 배우는 알고리즘 6장. 해시 테이블Hash Table
CHAP 11: 해싱 순천향대학교 하상호.
제13장 장애인 복지.
흡연 예방 보건교육 소중한 우리, 담배로부터 지켜요 서신초등학교.
CHAP 11 : 해싱 C로 쉽게 풀어쓴 자료구조 생능출판사 2011.
전자계약 시스템 사용자 매뉴얼 구매팀.
보육교사 대상 꿈날개 매뉴얼.
글로벌한국사 2강 - 고조선과 단군할아버지- 신화 속 역사 읽기.
Ⅰ. 가족복지 개관 가족복지론 최진령.
패시브하우스 신안산대학교 l 건축과 l 박효동, 박창준, 지예림.
해쉬함수 충돌해결법과 특징 강원대학교 컴퓨터과학과 이해원.
아동학대 문제해결 과 목 : 사회복지실천론 교수님 : 김중구 교수님 학 번 : 강희정
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
해시와 해시 함수.
CHAP 11 : 해싱.
CHAP 11 : 해싱.
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
CHAPTER 04 파일 설계(FiLE Design).
Chapter 11 해쉬(Hash) SANGJI University Kwangman KO
C언어 응용 제 15 주 검색.
광고 모델의 영향력.
미술치료의 매체 인종문.
노년기 발달 장안대 행정법률과 세류반 정 오 손
정렬(Sorting)과 해싱(Hashing)
알고리즘(Algorithm) 유비쿼터스 컴퓨팅학과 교수 송 창근
제 8 장 계산복잡도 개론 검색 문제 알고리즘 강의 슬라이드 8 검색 문제
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
평생 저축해도 강남 아파트 못산다 학 과 : 회계학과 1학년 B반 과 목 : 회계학원론 담당교수: 박성환 교수님
콘텐츠 디자인 황아현.
4장 IEP를 실행으로 옮기기 중등특수교육과 임 은, 김 화 윤 1조.
(Ⅰ) 독서와 언어의 본질 언어의 본질 1 2 [고등 국어] – 독서와 문법 독서의 본질 (1) 독서의 특성
경영학의 상황학파에 대해서… 경제학과 3학년 최준용 회계학과 4학년 진현빈
워밍업 실뭉치 전달게임.
음파성명학 최종욱.
발행시장 1 발행시장의 의의와 구조 2 주식의 발행방법 3 기업공개 4 주식발행의 유형 5 채권의 발행 6
Presentation transcript:

7장. 해시 테이블Hash Table

7장.해시 테이블Hash Table 그에게서 배운 것이 아니라 이미 내 속에 있었던 것이 그와 공명을 한 것이다. - 머레이 겔만

학습목표 해시 테이블의 발생 동기를 이해한다. 해시 테이블의 원리를 이해한다. 해시 함수 설계 원리를 이해한다. 충돌 해결 방법들과 이들의 장단점을 이해한다. 해시 테이블의 검색 성능을 분석할 수 있도록 한다.

저장/검색의 복잡도 배열 이진검색트리 균형잡힌 이진검색트리(예: 레드블랙트리) B-트리 해시 테이블 O(n) 평균 Θ(log n) 균형잡힌 이진검색트리(예: 레드블랙트리) 최악의 경우 Θ(log n) B-트리 Balanced binary search tree보다 상수 인자가 작다 해시 테이블 평균 Θ(1)

해시 테이블 원소가 저장될 자리가 원소의 값에 의해 결정되는 자료구조 평균 상수 시간에 삽입, 삭제, 검색 매우 빠른 응답을 요하는 응용에 유용 예: 119 긴급구조 호출과 호출번호 관련 정보 검색 주민등록 시스템 해시 테이블은 최소 원소를 찾는 것과 같은 작업은 지원하지 않는다

주소 계산 검색키 주소계산 배열 모양의 테이블

크기 13인 해시 테이블에 5 개의 원소가 저장된 예 해시함수 h(x) = x mod 13 입력: 25, 13, 16, 15, 7 13 1 2 15 3 16 4 5 6 7 8 9 10 11 12 25 해시함수 h(x) = x mod 13

해시 함수 입력 원소가 해시 테이블에 고루 저장되어야 한다 계산이 간단해야 한다 여러 가지 방법이 있으나 가장 대표적인 것은 나누기 방법과 곱하기 방법이다

곱하기 방법Multiplication Method 해시 함수 나누기 방법Division Method h(x) = x mod m m: 해시 테이블 사이즈. 대개 소수임. 곱하기 방법Multiplication Method h(x) = (xA mod 1) * m A: 0 < A < 1 인 상수 m은 굳이 소수일 필요 없다. 따라서 보통 2p 으로 잡는다(p 는 정수)

x xA mod 1 1 1 m (xA mod 1) 곱하기 방법의 작동 과정 m-1

충돌Collision 해시 테이블의 한 주소를 놓고 두 개 이상의 원소가 자리를 다투는 것 충돌 해결 방법은 크게 두 가지가 있다 체이닝Chaining 개방주소 방법Open Addressing

충돌의 예 h(29) = 29 mod 13 = 3 29를 삽입하려 하자 이미 다른 원소가 차지하고 있다! 입력: 25, 13, 16, 15, 7 13 1 2 15 3 16 4 5 6 7 8 9 10 11 12 25 h(29) = 29 mod 13 = 3 29를 삽입하려 하자 이미 다른 원소가 차지하고 있다! 해시함수 h(x) = x mod 13

충돌 해결Collision Resolution 체이닝 같은 주소로 해싱되는 원소를 모두 하나의 연결 리스트linked list로 관리한다 추가적인 연결 리스트 필요 개방주소 방법 충돌이 일어나더라도 어떻게든 주어진 테이블 공간에서 해결한다 추가적인 공간이 필요하지 않다

체이닝 39 13 1 40 2 3 94 3 42 55 4 43 5 44 70 6 7 8 86 47 9 74 10 11 76 12

개방주소 방법 빈자리가 생길 때까지 해시값을 계속 만들어낸다 중요한 세가지 방법 h0(x), h1(x), h2(x), h3(x), … 중요한 세가지 방법 선형 조사 이차원 조사 더블 해싱

선형 조사Linear Probing hi(x) = (h(x) + i) mod m 예: 입력 순서 25, 13, 16, 15, 7, 28, 31, 20, 1, 38 13 1 2 15 3 16 4 28 5 6 7 8 9 10 11 12 25 13 1 2 15 3 16 4 28 5 31 6 7 8 20 9 10 11 12 25 13 1 2 15 3 16 4 28 5 31 6 38 7 8 20 9 10 11 12 25 hi(x) = (h(x) + i) mod 13

선형 조사는 1차군집에 취약하다 1차군집의 예 1차군집: 특정 영역에 원소가 몰리는 현상 1 2 15 3 16 4 28 5 1 2 15 3 16 4 28 5 31 6 44 7 8 9 10 11 37 12 1차군집의 예

이차원 조사Quadratic Probing hi(x) = (h(x) + c1i2 + c2i) mod m 예: 입력 순서 15, 18, 43, 37, 45, 30 1 2 15 3 4 43 5 18 6 45 7 8 30 9 10 11 37 12 hi(x) = (h(x) + i2 ) mod 13

이차원 조사는 2차군집에 취약하다 2차군집의 예 2차군집: 여러 개의 원소가 동일한 초기 해시 함수값을 갖는 현상 1 2 15 1 2 15 3 28 4 5 54 6 41 7 8 21 9 10 11 67 12 2차군집의 예

더블 해싱Double Hashing hi(x) = (h(x) + i f (x)) mod m h(x) = x mod 13 예: 입력 순서 15, 19, 28, 41, 67 1 2 15 3 67 4 5 6 19 7 8 28 9 10 41 11 12 h0(15) = h0(28) = h0(41) = h0(67) = 2 h1(67) = 3 h1(28) = 8 h(x) = x mod 13 h1(41) = 10 f(x) = x mod 11 hi(x) = (h(x)+i f(x)) mod 13

삭제시 조심할 것 (a) 원소 1이 삭제된다 (b) 38 검색, 문제발생 (c) 표식을 해두면 문제없다 13 1 2 15 3 13 1 2 15 3 16 4 28 5 31 6 38 7 8 20 9 10 11 12 25 13 1 2 15 3 16 4 28 5 31 6 38 7 8 20 9 10 11 12 25 13 1 DELETED 2 15 3 16 4 28 5 31 6 38 7 8 20 9 10 11 12 25 (a) 원소 1이 삭제된다 (b) 38 검색, 문제발생 (c) 표식을 해두면 문제없다

해시 테이블에서의 검색 시간 적재율 α 해시 테이블에서의 검색 효율은 적재율과 밀접한 관련이 있다 해시 테이블 전체에서 얼마나 원소가 차 있는지를 나타내는 수치 해시 테이블에 n 개의 원소가 저장되어 있다면 α = n/m 이다 해시 테이블에서의 검색 효율은 적재율과 밀접한 관련이 있다

체이닝에서의 검색 시간 정리 1 체이닝을 이용하는 해싱에서 적재율이 α일 때, 실패하는 검색에서 조사 횟수의 기대치는 α이다 정리 2 체이닝을 이용하는 해싱에서 적재율이 α일 때, 성공하는 검색에서 조사횟수의 기대치는 1 + α/2 + α/2n 이다

개방주소 방법에서의 검색 시간 가정 조사순서 h0(x), h1(x), …, hm-1(x)가 0부터 m-1 사이의 수로 이루어진 순열을 이루고, 모든 순열은 같은 확률로 일어난다 정리 3 적재율 α=n/m 인 개방주소 해싱에서 실패하는 검색에서 조사횟수의 기대치는 최대 1/(1- α )이다 정리 4 적재율 α=n/m 인 개방주소 해싱에서 성공하는 검색에서 조사횟수의 기대치는 최대 (1/ α) log(1/(1- α)) 이다

적재율이 우려스럽게 높아지면 적재율이 높아지면 일반적으로 해시 테이블의 효율이 떨어진다 일반적으로, 임계값을 미리 설정해 놓고 적재율이 이에 이르면 해시 테이블의 크기를 두 배로 늘인 다음 해시 테이블에 저장되어 있는 모든 원소를 다시 해싱하여 저장한다

생각해 볼 것 적재율이 아주 낮으면 각 조사 방법들이 차이가 많이 나는가? 성공적인 검색과 삽입의 관계는? [정리 4]의 증명과도 관계 있음 ~11/3/2003

Thank you