해시테이블 질문이 있습니다!!! 약간은 개념적인 문제예요...
그놈은멋있었다
지금 Thomas H.Cormen의 algorithms 책을 보고 있는데요.
책에서 이해가 안가는 부분이 있어서 아시는 분이 있다면 설명 부탁드려요..
어디 물어볼 곳이 없어서 너무 답답합니다.ㅠ_ㅠ
책 내용을 고대로 적자면...(해시테이블에서 collisinon이 일어날 경우, chaining기법입니다.)
체이닝에 의해 충돌이 해결될 때, 해시 테이블 T내의 dictionary operation들을 구현하는 것은 아주 쉽다.
CHAINED-HASH-Insert (T,x)
리스트 T[h(ket[x])]의 맨 앞에 x를 삽입
CHAINED-HASH-Search (T,k)
리스트 T[h(k)]에서 키 k를 가지는 원소를 검색
CHAINED-HASH-Delete (T,x)
리스트 T[h(key(x)])에서 x를 삭제 왜 searxh에서는 키를 받고, delete나 insert에서는 원소값을 받나요?
무슨 차이가 있는건가요?
...검색 작업의 최악의 경우 수행시간은 리스트 길이에 비례한다. 이 작업에 대한 좀 더 상세한 분석은 아래에서 이루어질 것이다.
리스트가 양방향 연결이 되어 있다면 원소 x의 삭제는 O(1) 안에 이루어질 수 있다
(Chained-Hash-Delete는 입력 인자로 원소 x를 받는 것이지 키 K를 받는 것이 아님을 명심하자.
그러므로 먼저 x를 검색할 필요가 없다. 리스트가 단방향 연결이라면 입력 인자로 키 k보다 원소 x를 갖는 것이 큰 도움이 되는 것은 아니다.
리스트 T[h(key[x])]에서 원소 x를 검색해서 x 직전원소의 next포인터가 x를 뛰어 넘도록 해야 하기 때문이다.
이 경우, 삭제와 검색은 기본적으로 동일한 수행시간을 갖는다).책의 말에 따르면 양방향 연결 시 키값 대신 원소값을 받음으로써 뭔가 도움이 된다는 말인 것 같은데..
뭐가 이득이 되는건지 도무지 모르겠습니다.ㅠ
또 원소 x를 인자값으로 받아도.. 삭제를 하려면 x를 체인으로 연결된 리스트에서 찾아서 없애야 하는 것 아닌가요?
검색은 당연히 해야할 것 같은데...
또 리스트를 따라가다 보면 최악의 경우에는 리스트 길이만큼 수행시간이 결정될 것 같구요.
궁금합니다.ㅠ_ㅠ
아직 배우고 배우는 처지라 쉽고도 명쾌하게 설명을 해 주셨으면 정말 감사할거예요!!!
부탁드립니다....ㅠ
정말 알고리즘 너무 어려워요...
-
미쁘다
감사합니다^^ 덕분에 도움이 많이 되었어요^^!!!!!
-
올해1살
키대신 원소 값을 받는 이유는 같은 키를 갖는 원소가 여럿일 수 있기 때문입니다.
원소의 삭제가 O(1)인 이유는.. 삭제가 이미 원소를 찾았을때를 가정하고 있기때문입니다.
검색한뒤에 정작 \삭제\자체는 양방향 리스트 이기때문에 삭제할 원소의
앞 원소와 뒷 원소만 연결하면 되기 때문이죠.
책에 써진 말을 보면
검색 작업은 최악의 경우 리스트 길이에 비례, 그리고 삭제는 O(1)이라고 써있죠.
단방향 리스트의 경우에는 검색에 O(n), 삭제도 O(
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695934 | tr 속성값 (9) | 새 | 2025-05-25 |
2695905 | ASP로 개발됐을 때 css가 달라져요 ㅠㅠ (4) | 슬아라 | 2025-05-24 |
2695878 | form을 이용한 다른 페이지로 넘기는 방법을 알려주세요 (1) | 핫파랑 | 2025-05-24 |
2695844 | 저기 암호화 및 복호화 프로그램.. 만들어볼려는대 (2) | 한빛 | 2025-05-24 |
2695814 | [질문] PDA에서 애플릿이 가능한가요? (1) | 봄시내 | 2025-05-24 |
2695785 | 웹 설정 도와줄분 | 화이트캣 | 2025-05-23 |
2695730 | 갑자기 기억이 안나는데 accesskey 속성.. | 빛나라 | 2025-05-23 |
2695702 | [질문] Java 버전 차이에 의한 오류?!! (2) | 검사 | 2025-05-23 |
2695672 | 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) | 뽀그리 | 2025-05-22 |
2695647 | 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) | 아빠몬 | 2025-05-22 |
2695586 | IFRAME 캐싱 질문 | 봄나비 | 2025-05-22 |
2695498 | [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; | 터1프한렩 | 2025-05-21 |
2695468 | 자바랑 이클립스에서요.. | 스킬 | 2025-05-21 |
2695375 | Mysql 연동하는 자바 질문있습니다. | 아리솔 | 2025-05-20 |
2695319 | 파워포인트 파일을 저장할 수 있을까요? | 시윤 | 2025-05-19 |
2695289 | [질문]Tween 값의 정도를 알고 싶습니다. | 타마 | 2025-05-19 |
2695238 | c 와 c++의 시작 (10) | ChocoHoilc | 2025-05-18 |
2695215 | 탑메뉴의 repeat-x .배경이 두가지에요ㅠ ㅠ | 널위해 | 2025-05-18 |
2695187 | 자바스크립트와 자바의 import에 관해서 질문드려요 (1) | 무슬 | 2025-05-18 |
2695116 | 테마 문의 (해당 사이트와 같은 테마 혹은 플러그인) | Sweet | 2025-05-17 |