1.해시 테이블(Hash Table)이란?해시 테이블은 효율적인 탐색을 위한 자료구조 방법이다.해쉬 테이블은 해시 함수를 사용하여 변환된 값을 index로 삼아 키(key)와 데이터(value) 를 저장한다.해싱(Hashing)이란?임의의 길이의 값을 해쉬 함수를 사용
자바의 경우 배열의 길이가 고정되어 있다.이런 경우에는 배열을 만들때 배열의 크기를 함께 지정해야 한다.동적 가변 크기 기능이 내제되어 있는 배열과 비슷한 자료구조를 원할때는 보통 ArrayList를 사용하게 된다.ArrayList는 필요에 따라 크기를 변경할 수 있고
자바에서 문자열이 주어졌을 때 이 문자열들을 하나로 이어 붙이려고 한다.문자열의 길이가 x개로 동일한 n개의 문자열의 시간 복잡도는 O(x+2x+.....+nx)임으로 O(xn^2)이 된다.이 문제를 해결하기 위해서 StringBuilder가 사용된다.StringBui
연결 리스트는 차례로 연결된 노드를 표현해주는 자료구조이다. 연결 리스트는 단방향과 쌍뱡향이 있고 연결리스트 탐색 시간은 k개의 노드가 존재한다고 할때 O(K)만큼 발생한다. 표1 배열, 연결리스트 장점 및 단점 연결 리스트 만들기
트리와 그래프의 기본적인 용어에 대해 정리한다. 트리 트리는 하나의 루트 노드를 갖는다. 루트 노드는 0개 이상의 자식 노드를 갖고 있다. 그 자식 노드 또한 0개 이상의 자식 노드를 갖고 있고,이는 재귀적으로 반복 정의가 된다.
Stack의 특징1\. 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조2\. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 함 3\. 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장 등에 쓰임