Hash 란 임의의 길이를 갖는 데이터를 고정된 길이의 데이터로 변환(매핑)하는 것그리고 위와 같은 기능을 하는 함수를 해시 함수(Hash Function)이라고 한다ArrayList,LinkedList 등 수많은 자료구조에서 '특정 값'이 있는지 찾아내기 위해선배열
HashTable(해쉬테이블) 이란?해쉬 테이블은 (key,value)로 데이터를 저장하는 자료구조빠르게 데이터를 검색할 수 있는 자료구조다해시 테이블은 각각의 key값에 해시함수를 적용해 배열의 고유한 index를 생성하고 이 인덱스를 활용해 값을 저장하거나 검색한다
자료구조는 Data Structure라고 하는데, 데이터 구조, 좀 더 자세하 설명하자면'일련의 일정 타입들의 데이터 모임 또는 관계를 나타낸 구성체' 라고 할 수 있다.자료구조와 알고리즘은 의존적인 관계이기 때문에 자료구조에 대한 이해가 있어야한다.알고리즘 문제를 풀
배열과 List 인터페이스 비교공통점1\. 동일한 특성의 데이터들을 묶는다2\. 반복묵 내의 변수를 이용하여 하나의 묶음 데이터들을 모드 접근할 수 있다차이점<배열>1\. 처음 선언한 배열의 크기(길이)는 변경할 수 없다. 이를 정적 할당이라고 한다2\. 메모리에
ArrayList는 다른 자료구조와 달리 Object\[] 배열(객체 배열)을 두고 사용한다모든 자료구조는 '동적 할당'을 전제로한다동적 할당을 안하고 사이즈를 정해놓고 구현한다면 메인함수에서 정적배열을 선언하는 것과 차이가 없다데이터의 개수를 알 수 없을 경우 Arr
LinkdeList의 경우 ArrayList와 가장 큰 차이점은 '노드'라는 객체를 이용하여 연결한다는 것이다.ArrayList의 경우 최상위 타입인 오브젝트 배열(Object\[])을 사용하여 데이터를 담아두었다면LinkedList는 배열을 이용하는 것이 아닌 하나의
doubly linked list의 핵심은 노드와 노드가 서로 연결되어 있다는 점이다단순 연결리스트(linked list)와는 다르게 노드가 이전노드(previous)와 다음 노드(next)로 구성되어있다이것의 가장 큰 장점은 양방향으로 연결되어 있기 때문에 노드를 탐
Stack은 말 그대로 '~을 쌓다'라는 의미다책을 쌓았을때 가장 먼저 놓은 책은 맨 아래 있을 것이고, 가장 나중에 놓은 책은 맨 위에 있을 때책을 치운다하면 맨 위에 있는 책 먼저 빼게 된다이렇게 먼저 들어온 데이터가 마지막에 나가는 구조를 후입선출(LIFO: La
Queue는 대기열이라고 이라고 생각하면된다.선입선출(FIFO : First in First Out) 자료구조다놀이공원의 대기줄, 은행의 번호표를 생각하면 된다시간 순으로 어떤 작업 또는 데이터를 처리할 필요가 있는 것들은 큐의 성질을 가지고 있다. 대표적으로 알고리즘