일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 문자열포맷
- 힙정렬자바
- 프로그래머스
- 카카오기출
- 카카오1차
- 자바
- 객체프로그래밍이란
- 공부정리
- 카카오코테
- 백준 1000번 java
- 백준
- heap정렬
- 객체프로그래밍
- 알고리즘
- 자료구조힙
- Java heap
- 자바문자열
- 개발상식
- 코테준비
- 백준 1924번 java
- heap
- 백준 1000번
- 코딩테스트기출
- 프렌즈4블록
- 자료구조 트리
- java method
- 카카오코딩테스트
- 백준 1924번
- 프렌즈4블록java
- Today
- Total
목록2019/08/21 (4)
일단 시작해보는 블로그
Map 자바에서 Map이라는 인터페이스는 'match'의 의미와 비슷하다고 생각하면 된다. Map에 저장되는 데이터는 'key-value' pair라는 형식을 갖고 있다. 또, 특정 데이터를 찾을 때는 key를 이용해서 검색한다. 마치 주민등록번호를 입력하면 그에 매칭되는 사람의 이름을 일 수 있는 것처럼. Map은 인터페이스로 구현되어있고 가장 많이 쓰이는 클래스는 HashMap, TreeMap, LinkedHashMap이다. 데이터와 중복된 키와 값을 저장하면, 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다. 해싱 (Hashing) 해싱(Hashing)이란 해시함수(hash function)를 이용해서 데이터를 해시테이블(hash table)에 저장하고 검색하는 기법을 말한다. HashMap ..
1. 해쉬는 왜 생겼지? 가장 기본적인 자료구조인 배열의 경우 내부 인덱스를 이용하여 자료의 검색이 한번에 이루어지기 때문에 빠른 검색 속도를 보이는 반면 데이터의 삽입, 삭제 시 많은 데이터가 밀리거나 빈자리를 채우기 위해 이동해야 하므로 많은 시간이 소요된다. 또, 연결리스트는 삽입, 삭제 시 인근 노드들의 참조값만 수정해줌으로써 빠른 처리가 가능했지만 처음노드 마지막 노드 이외의 위치에서 데이터를 삽입, 삭제할 경우나 데이터를 검색할 경우에는 해당 노드를 찾기 위하여 처음부터 순회검색을 해야하기 때문에 데이터의 수가 많아질수록 효율이 떨어질 수 밖에 없는 구조였다. 이를 극복하기 위해 제시된 방법이 해쉬(Hash)이다. 2. 해쉬의 기본 개념 해쉬는 내부적으로 배열(Hash Table)을 사용하여 ..
큐(Queue)는 줄(line)이라는 의미를 가지고 있다. 먼저 들어간 데이터가 가장 먼저 출력되는, 선입선출(FIFO - First In First Out) 형태의 자료구조이다. 가장 오래전에 입력된 데이터(나갈 차례가 가장 빠른, 데이터 삭제) : front 가장 최근에 입력된 데이터(이제 들어온, 들어오는 곳, 데이터 삽입) : rear -> 따라서 큐를 구현하기 위해서는 front와 rear를 관리하는 배열을 이용하거나, front노드와 rear노드를 관리하는 연결 리스트를 이용할 수 있다. 큐의 동작 insert(삽입), remove(추출, 삭제), peek(읽기) 1) 삽입 - insert 새로운 데이터의 삽입은 리스트의 끝 부분을 가리키는 rear에서 발생하며, 데이터가 삽입 될 때 하나 증..
자료의 특성과 크기, 주요 사용법과 수행하는 연산의 종류, 구현에 필요한 기억 공간 크기에 따라서 여러 가지 종류의 자료구조 중 하나를 선택할 수 있다. 종류로는 단순 구조와 자료 간 관계가 1대 1인 선형 구조, 1대 다 혹은 다 대 다 구조인 비선형 구조, 마지막으로 파일구조가 있다. 구현에 따른 분류 배열 : 가장 일반적인 구조로 메모리 상에 같은 타입의 자료가 연속적으로 저장된다. 자료값을 나타내는 가장 작은 단위가 자료를 다루는 단위 이다. 튜플 : 둘 이상의 자료형을 묶음으로 다루는 구조 연결 리스트 : 노드를 단위로 한다. 노드는 자료와 다음 노드를 가리키는 참조 값으로 구성되어 있다. 노드가 다음 노드로 아무것도 가리키지 않으면 리스트의 끝이다. 원형 연결 리스트 : 각 노드는 다음 노드를..