hash table의 seperate chaining 질문
382
3 câu hỏi đã được viết
안녕하세요 우선 좋은 강의 만들어주셔서 감사합니다!
hash table의 seperate chaining 부분을 수강하다 질문이 생겨서 남깁니다.
제가 이해한 바로는, 'hash table의 collision 상황을 해결하기 위해 크게 open addressing, seperate chaining 두 가지가 있는데, open addressing은 기존 table 내에서 공간을 탐색해서 저장하는 방식이고, seperate chaining은 linked-list를 통해 동일한 index에서 다음 node에 데이터를 저장한다.' 라고 정리할 수 있을 것 같습니다.
제가 궁금한 사항은
1) open addressing과 seperate chaining을 비교했을 때, 애초에 collision이 발생하기 전부터 (key, value)를 저장하는 방식이 다른 건가? (hash table을 구현하는 방식이 array와 linked-list 로 나누어져 있는 건가요?)
2) 그렇다면 같은 hash table에서 open addressing으로 collision을 해결하다가 seperate chaining으로 collision을 해결할 수 있는가?
3) hash table을 초기에 선언할 때 collsion 해결 방식을 한 가지만 채택해야 하는가?
입니다!
고생 많으십니다!
Câu trả lời 2
1
안녕하세요 욱님! 해시테이블에대해서 정확히 이해하셨네요~
깊게 공부하시다보니 해당 질문에까지 다다른 것 같아 대단하게 생각합니다!
언어에서 어떤식으로 해시테이블을 구현할건지 먼저 정합니다. 이에따라 충돌이 발생할 때 어떤 방식으로 이를 해결할지 미리 정합니다.
따라서 한 언어에서 채택한 해시테이블구현 방식은 한번 정해지면 그걸 쓰게 됩니다.
여러 방식을 쓰는 이점이 딱히 없어서 하나를 채택하여 쭉 씁니다. 물론 두 방식을 합쳐서 쓰는 하이브리드형이 여러면에서 장점이 더 많다는 것을 누가 제안하고 합의가 이뤄진다면 하이브리드로 쓸 수도 있을 것같네요!
더 궁금한점이 있으시다면 언제든 질문주세요! 화이팅입니당
Open addressing을 사용할 때의 worst case
1
462
1
인터넷 계층과 네트워크 엑세스 계층
1
487
1
패킷이란
1
419
1
Linked list의 장점
1
647
1
노션 자료 이메일 잘못 입력했어요..
1
543
1
동기화 문제
1
500
2
프로세스 관련 질문
1
571
1
노션 전자 책 동영상 문제
1
474
1
안녕하세요 강사님!
1
335
1
노션 공유 요청
1
355
1
Linked List 시간 복잡도
3
748
1
thread의 PC register 질문
1
712
2
인덱스 카디널리티 부분 질문이있습니다.
2
1181
2
프론트엔드 면접준비 질문
0
543
1
시간복잡도
1
267
1
쿠키 질문
0
305
1
쓰레드의 단점 중 궁금한 것이 있습니다.
0
257
1
URL을 주소창에 쳤을 때 화면에 나오기까지의 과정에 대해 추가적으로 궁금합니다.
1
430
1
궁금한게 있습니다
0
203
0
강의자료 HTTP 부분 request 단어가 repuest로 되어있습니다
1
219
1
강의가 이해가 잘되네요
1
246
1
syn 과 fin의 데이터 단위가 다른 이유
2
286
1
Circular Queue에 대해서 질문드려요
1
290
1
Linked List 시간복잡도에 대해서 질문드려요.
5
337
1

