힙==힙은 최대값 혹은 최소값을 빠르게 찾기 위한 이진트리입니다. 최소힙은 부모는 자식보다 작고 최대힙은 부모는 자식보다 커야됍니다. 힙의 삽입과 삭제는 O(log’2’N) 만큼 곧 높이의 시간복잡도를 갖습니다.insert(), delete(루트노드가 대상), peek
이진탐색트리==이진탐색트리는 왼쪽자식은 부모보다 작고, 오른쪽 자식은 부모보다 큰 이진트리입니다. 삽입 검색 삭제가 모두 트리 높이인 logN~N만큼의 시간복잡도를 가집니다. 하지만 편향될 위험이 있어서 자가 균형트리를 사용합니다.왼족 자식은 부모보다 작고, 오른쪽 자
해시== 해시는 키 밸류 형태로 데이터 저장하는 자료구조 입니다. 파일 등 데이터를 매개변수로 해시펑션을 통해 해쉬코드 만들고 인덱스로 반환하고 해쉬버킷에 데이터를 저장하는 자료구조 입니다. 해쉬코드로 다이렉트 데이터 접근가능. 하지만 해쉬버킷에 값이 많으면 검색시간
리스트 \[]== 순차적으로 중복가능 데이터 저장하는 자료구조 입니다. 순차적으로 데이터 접근할수있고, 다양한 데이터 유형 저장할 수 있습니다. 인덱스를 알지 못하면 검색시 O(n) 성능 떨어집니다.
시간복잡도 계산 방법== 컴퓨터 마다 성능이 다르기때문에, 실행시간(running time)이란 함수, 알고리즘 수행에 필요한 스탭 수로 계산합니다. 함수의 실행시간을 점근적 분석을 통해 실행시간을 단순하게 표현하며 점근적 표기법으로 표현한다.업로드중..
배열과 링크드 리스트의 차이를 설명해주세요.\*\*\*\*==배열은 메모리상에 순서대로 데이터를 저장합니다. 반면 링크드 리스트는 다음 데이터의 위치에 대한 포인터를 가지고 있는 구조입니다. 배열은 데이터를 인덱스로 조회할 수 있기 때문에 인덱스 조회성능이 높고, 데이
List와 Set의 차이에 대해서 설명해주세요.==List는 중복된 데이터를 저장하고 순서를 유지하는 선형 자료구조이고, Set은 중복되지 않은 데이터를 저장할 수 있고, 일반적으로 순서를 유지하지 않는 선형 자료구조입니다.
Stack, Queue에 대해서 설명해주세요.==스택은 선형 자료구조의 일종으로 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO(Last In First Out)방식의 자료구조 입니다. 스택의 사용 예시로는 웹 브라우저의 방문기록(뒤로가기), 실행 취소(und
Tree, Binary Tree, BST, AVL Tree에 대해서 설명해주세요.==트리는 배열이나 리스트나 스택이나 큐처럼 선형이 아니라 나무처럼 생긴 자료구조, 바이너리 트리는 자식이 무조건 2개인 트리 자료구조, 바이너리서치트리는 부모의 왼쪽은 부모보다작은 오른쪽
BST의 최악의 경우의 예와 시간복잡도에 대해서 설명해주세요.== 예를들어 1부터 10까지 순차적으로 BST에 저장했다면, BST의 형태는 리스트와 같아집니다. 이 경우를 최악의 경우라고 하며 시간복잡도는 O(n)이 됩니다.
DFS, BFS에 대해서 설명해주세요.==그래프 탐색하는 방법으로 DFS는 부모로부터 한쪽 방향의 맨 아래지식까지 쭉 탐색후, 그 직전의 부모의 자식탐색하는식으로 지그재그로 탐색하는 방법입니다. BFS는 부모로부터 직계자식을 탐색하고, 그다음 자식의 자식들을 탐색하는
array• 같은 자료형을 가진 연속된 메모리 공간으로 이루어진 자료구조, 주소값으로 구성• Index를 통한 Random access가 가능하므로 Constant Time O(1)에 접근이 가능하다.static array = 생성될때 고정된 크기, 일반적 방법으로 추
일반적인 Queue와는 다르게 맨 앞과 맨 뒤에서 모두 삽입과 제거가 가능한 자료구조