일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준알고리즘
- codility
- 설탕문제
- Java
- 파이도 환불
- Lesson3
- 엔테크서비스
- FLEX5
- 벤쿠버 렌트
- 자바
- 벤쿠버집구하기
- 프로그래머스
- 1463번
- 리눅스
- Linux
- IntelliJ
- 외래키설정
- 캐나다워홀
- QA엔지니어
- binaray_gap
- 데이터의 무결성
- FK 설정
- 레노보노트북
- database연결
- Lesson2
- 언마운트
- 부산입국
- BC렌트
- 벤쿠버렌트
- FIDO 환불
- Today
- Total
대충이라도 하자
알고리즘 도감 - (1) 데이터 구조 본문
1. 리스트 : 접근 느리나, 추가, 삭제 빠름
- ArrayList<Integer> list = new ArrayList<>();
-add, remove
2. 배열 : 접근 빠르나, 추가, 삭제 느림 (but, 선언시 크기 정해짐)
int [] array =new int[];
3. 스택 : first in last out, 최신정보 찾을 때 유용
-Stack<Integer> stack = new Stack<>();
-push, pop
4. 큐 : first in first out, 오래된 데이터부터 순서대로 처리해야 하는 경우
-Queue<Integer> list = new LinkedList<>();
-enqueue, dequeue
-add, offer, remove, clear, poll
5. 해쉬테이블 : key, value
- Hashtable<Integer, String> table= new Hashtable<Integer, String>();
- put, replace, remove, get
- 배열로 넣을 시, 선형탐색 -> 간단히 하기 위해 해쉬 함수 사용해서 넣는 방식
- 연쇄법, 개방주소법
6. 힙 : 그래프의 트리 구조 중 하나, 최솟값을 자주 추출해야 하는 경우
-PriorityQueue<Integer> heap = new PriorityQueue<>();
우선순위가 낮은 순자 순
-PriorityQueue<Integer> heap = new PriorityQueue<>(Collections.reverOrder());
우선순위가 높은 숫자 순
***하지만, 우선순위큐 라이브러리를 사용하지 않고, 구현할 수 있도록 하기!
-add, poll, remove, clear, peek
-추가는 자유롭게 하고, 작은 값부터 꺼내는 것 : 우선순위 큐 (Priority Queue)
7. 이진 탐색 트리
- 모든 노드는 왼쪽 가지에 포함되는 어떤 숫자보다도 큰 숫자가 됨
- 모든 노드는 그 노드의 오른쪽 가지에 포함되는 어떤 숫자보다 작은 숫자가 됨
-즉, 그 숫자보다 작으면 왼쪽, 크면 오른쪽으로 이동
'꼬꼬마 개발자 노트 > Coding Problems' 카테고리의 다른 글
Codility - Lesson3 PermMissingElem (0) | 2021.01.16 |
---|---|
Codility- Lesson3 FrogJmp (0) | 2021.01.16 |
Codility-lesson 2 : OddOccurrencesInArray (0) | 2021.01.12 |
Codility lesson2 - CyclicRotation (0) | 2021.01.12 |
Codility Lesson 1 - Binary Gap (0) | 2021.01.12 |