| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 튜토리얼
- bootstrap4 패키지
- 환경변수 설정
- href
- #undef
- heroku
- bootstrap
- Action
- 명령어
- 성능지표
- jinja2
- DB 데이터
- #ifdef
- #else
- OpenCV
- #ifndef
- PyQt5
- #if
- javascript
- MySQL 세팅
- openweathermap
- flask
- 실시간 시계
- #endif
- Django
- OpenCV + Flask
- VS Code
- 사이트 도메인
- 콘솔 가상환경 # 콘솔 #가상환경
- DB 데이터 저장
- Today
- Total
PROGRAMMING
Data structure 본문
1. ArrayList, LinkedList
1) ArrayList
: 일반적인 배열(array)로 활용되며, 배열의 각 인덱스에 지정된 자료형의 값이 들어가있음.
※ Java에서 ArrayList의 경우, 일반 배열과는 다르게 가용량(capacity)를 넘을 경우 사용 중인 공간의 크기를 더 크게 할당할 수 있음. (add, get, set, remove, clear)
2) LinkedList
: 데이터 저장공간과 다음 데이터 저장공간의 주소를 가리키는 포인터로 구성된 연결리스트.
단방향(next)과 양방향(prev, next) 연결리스트. 총 2가지 종류가 있음.
2. Hashtable vs HashList vs HashTree
1) Hashtable (called HashMap)
: (key, value) pair를 저장할 수 있는 자료구조.
- key : hashcode로 계산된 값.
- value : key 값과 관련성이 있는 값.
- 특징: O(1)
※ LinkedHashMap(Linked Hashtable) : key 값이 같은 경우 value를 update하여 기존 값을 삭제하지 않고 linkedlist로 연결하여 데이터손실을 없앰.
2) HashList
: hashcode로 계산된 데이터 리스트. (ex. 한 파일 내의 내용을 여러 파트로 나눈 후 hashcode 계산 및 저장 → 추후 데이터 통합에 리스트 활용)
3) Hashtree
: Hashlist와 동일한 원리로 데이터를 저장하고 있으며 tree 형태의 구조를 가지고 있음.
3. HashSet, TreeSet
1) HashSet
: hashcode로 계산된 데이터가 기존 HashSet 내부의 해쉬코드값과 같은지 비교하고 같지 않을 경우 저장
2) TreeSet
: Tree의 특성을 지닌 Set(중복 저장 불가, 저장 순서 유지 X) 자료구조.
'프로그래밍 언어 공통 > OOP' 카테고리의 다른 글
| OOP 설계 원칙 SOLID (0) | 2022.05.29 |
|---|---|
| Class (0) | 2022.05.23 |
| UML Diagram (0) | 2022.05.16 |