My footsteps

TreeSet 본문

예습/이론

TreeSet

밀김 2023. 1. 25. 12:35
728x90

 

 

 

 

 

- TreeSet : 이진 탐색 트리로 구현. 범위 탐색과 정렬에 유리하고 이진 트리는 모든 노드가 최대 2개의 하위노드를 갖는다

 

이진트리(binary tree)

 

 

 

 

- 이진 탐색 트리 : 부모보다 작은 값은 왼쪽, 큰 값은 오른쪽에 저장 / 데이터가 많아질수록 추가,삭제에 시간이 더 걸림

 

- 부모쪽을 먼저 읽는거 : 전위순회 / 부모를 중간에 읽는거 : 중위순회 / 부모를 나중에 읽는거 : 후위순회 

 

- 한층씩 읽는거 : 레벨순회

 

 

- 트리셋 주요 매서드

https://youtu.be/Kcz-z6xTbgk

 

 

 

 

 

 

 

 

 

- hashing이란? : 함수를 이용하여 데이터 저장&읽어오는것

 

 

 

 

- HashMap : 해싱 기법으로 데이터를 저장, 데이터가 많아도 검색 속도 빠름

 

- 해시테이블 : 배열+링크드리스트

 

 


* 해시테이블에 저장된 데이터를 가져오는 과정*

1. 키로 해시함수를 호출해서 해시코드를 얻는다 (주민번호 앞자리 숫자)
2. 해시코드(해시함수의 반환값)에 대응하는 링크드리스트를 배열에서 찾는다(주민번호 앞자리 숫자와 일치하는)
3. 링크드리스트에서 키와 일치하는 데이터를 찾는다 (주민번호 앞자리 숫자와 일치하는 서랍)
4. 해시함수는 같은 키에 대해 항상 같은 해시코드를 반환해야 한다. 서로 다른 키일지라도 (주민번호 뒤에는 다를지라도) 같은 값의 해시코드를 반환할수도 있다 (주민번호 앞자리가 같다면)

 

 

 

 

 

- 해시맵 주요 매서드 

https://youtu.be/el6cTtPHVRs

 

 

- Collections 매서드 

https://youtu.be/u0pJGFyvrqc

 

 

 

 

728x90

'예습 > 이론' 카테고리의 다른 글

지네릭스  (0) 2023.01.25
컬렉션프레임웍2  (0) 2023.01.24
SimpleDateFormat,컬렉션 프레임웍  (0) 2023.01.23
날짜와 시간,형식화클래스  (0) 2023.01.22
래퍼클래스,Number클래스,오토박싱&언박싱  (0) 2023.01.22