loading
본문 바로가기

자료구조6

[ Java ] 해시맵 ( HashMap ) [ Java ] 해시맵 ( HashMap ) 📚 Table of Contents 해시맵 ( HashMap ) 이란? 맵 : 키( Key ) 와 값( Value ) 두 쌍으로 데이터를 보관하는 자료구조이다. 해싱( Hashing ) : 키가 해시 함수를 거쳐 해시 코드로 매핑되는 과정 해시 함수( Hash function ) : 임의의길이 데이터를 고정 길이 데이터로 매핑하는 함수 해시맵 특징 Key, Value 두 쌍으로 데이터를 저장한다. Key는 유일해야 한다. ( 중복 X ) 데이터의 검색 속도가 빠르다. 대용량 데이터 관리에 좋다. HashTable vs HashMap HashMap과 사용법이 거의 동일한 컬렉션인 HashTable이 있다. 둘은 같은 자료구조이지만 자바에서 차이가 존재한다. Th.. 2023. 12. 14.
[ Linear Data Structure ] 해시 테이블 ( Hash Table ) [ Linear Data Structure ] 해시 테이블 ( Hash Table ) 📚 Table of Contents 해시 테이블 ( Hash Table ) 이란? 해시 테이블이란 해시함수를 사용하여 변환한 값을 index로 삼아 (key, value)로 저장하는 자료구조이다. 키를 통해 해당 데이터에 빠르게 접근할 수 있다. 해싱( Hashing ) 해싱이란 key를 특정 계산식인 해시함수( Hash Function )에 넣어 나온 결과를 사용하여 고정된 크기의 값으로 변환하는 작업을 말한다. 해시 테이블 특징 key : 해시 테이블 접근을 위한 입력 값 hash function : 키를 해시 값으로 매핑하는 연산 hash value : 해시 테이블이 인덱스 hash table : key - val.. 2023. 12. 5.
[ Linear Data Structure ] 데크 ( Deque ) [ Linear Data Structure ] 데크 ( Deque ) 📚 Table of Contents 데크 ( Deque ) 이란? 데크(Deque)는 Double-Ended Queue의 줄임말로, 양쪽 끝에서 데이터를 추가/반환/삭제할 수 있는 형태의 자료구조이다. 스택(Stack)과 큐(Queue)의 특징을 모두 갖고 있다. 배열(Array)로도 구현 가능하지만 이중 연결 리스트(Double Linked List)로 구현하는 것이 효율이 좋다. 데크 특징 자료의 추가, 삭제가 양쪽 끝에서 모두 가능 큐, 스택의 특징을 모두 갖는다. 큐 : 자료 삭제는 front / 추가는 rear 에서 만 가능 스택 : 자료 삭제 / 추가 모두 top 에서 만 가능 양쪽 2개의 포인트를 가진다. 이중 연결 리스트.. 2023. 12. 4.
[ Linear Data Structure ] 큐 ( Queue ) [ Linear Data Structure ] 큐 ( Queue ) 📚 Table of Contents 큐 ( Queue ) 이란? 큐는 한쪽 끝에서 삽입되고, 다른 한쪽 끝에서 삭제되는 리스트 구조이다. 큐는 먼저 집어 넣은 데이터가 먼저 나오는 특징이 있다. ( 후입선출 ) 이러한 자료구조를 FIFO ( First In FIrts Out ) 라고 한다. 큐 특징 데이터의 입력, 출력이 정해진 위치에서만 가능하다. 자료 추가( 삽입, 입력 )는 끝( rear )에서 만 가능하다. 자료 반환( 삭제, 출력 )은 처음( front )에서 만 가능하다. 전후 / 선후 관계가 1 : 1 이다. 선형자료구조 이다. 입출력 순서 / 처리 방법에 따라 큐를 구분할 수 있다. 일반적인 큐 ( Genaral Queue.. 2023. 12. 3.
[ Linear Data Structure ] 스택 ( Stack ) [ Linear Data Structure ] 스택 ( Stack ) 📚 Table of Contents 스택 ( Stack ) 이란? 일반적으로, 차곡차곡 쌓아둔 모양 / 형태의 자료구조를 의미한다. 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 특징이 있다. ( 후입선출 ) 이러한 자료구조를 LIFO( Last In FIrts Out ) 라고 한다. 스택 특징 후입선출 ( LIFO ) 구조 : 마지막에 들어온 데이터가 가장 먼저 나가는 구조 단방향 입출력 구조 : 데이터의 들어오는 방향과 나가는 방향이 같다. 리스트의 top에서 데이터가 들어오고 나간다. 데이터를 하나씩만 넣고 뺄 수 있다. 추가 ( push ) 삭제 ( pop ) 스택의 TOP, BOTTOM TOP, BOTTOM은 스택의 특정위.. 2023. 12. 2.
[ Linear Data Structure ] 배열 ( Array ) [ Linear Data Structure ] 배열 ( Array ) 📚 Table of Contents 배열 ( Array ) 배열 ( Array )는 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 방법이다. 예를 들어 배열이 int 타입인 경우 정수 요소만 저장할 수 있고 그 외 타른 타입의 요소는 저장할 수 없다. 배열을 구성하는 각각의 값을 요소 ( element )라고 하며, 배열의 위치를 가르키는 숫자는 인덱스 ( index )라고 한다. 배열 예시 // 배열 선언 // type[] name = new type[size] int[] arr = new int[5]; // 선언 + 초기화 int[] arr1 = {1, 2, 3, 4, 5}; //elements : 1, 2, 3 ,4.. 2023. 12. 1.