전체 글(61)
-
[Hash] 해시란?
해시(Hash) 해시란 데이터를 다루는 기법 중에 하나로 검색과 저장이 아주 빠르게 진행된다. 데이터를 검색할 때 사용할 Key와 실제 데이터의 값(Value)이 한 쌍으로 존재하고, Key값이 배열의 인덱스로 변환되기 때문에 검색과 저장의 평균적인 시간 복잡도가 O(1)에 수렴하게 된다. 즉 데이터를 효율적으로 관리하기 위해, 임의의 길이 데이터를 고정된 길이의 데이터로 매핑하는 것 해시 함수를 구현하여 데이터 값을 해시 값으로 매핑한다. 해시 함수, 해시 알고리즘, 해시코드 데이터의 value값을 배열의 인덱스인 정수로 변환하기 위해서는 일련의 과정이 필용하다. 예를들어 데이터를 문자열로 받게 되었을 때 문자 한글자 한글자 아스키 코드값을 더하는 과정으로 문자열을 정수 값으로 변환할 수 있다. (만약..
2021.11.16 -
[Tree] 트리란?
😘트리 : Node와 Edge로 이루어진 자료구조 트리는 값을 가진 노드와 이 노드들을 연결해주는 간선으로 이루어져있다. 그림 상 데이터 1을 가진 노드가 루트(Root)노드다. 모든 노드들은 0개 이상의 자식(Child) 노드를 갖고 있으며 보통 부모-자식 관계로 부른다. 😁 트리의 특징 1. 트리에는 사이클이 존재할 수 없다. (만약 사이클이 생기면 그것은 그래프다) 2. 모든 노드는 자료형으로 표현이 가능하다. 3. 루트에서 한 노드로 가는 경로는 유일한 경로 뿐이다. 4. 노드의 개수가 N개면, 간선은 N-1개를 가진다. 😍 트리 순회 방식 트리를 순회하는 방식은 총 4가지가 있다. 위의 그림을 예시로 진행해보자. 1. 전위 순회(pre-order) 각 루트(Root)를 순차적으로 먼저 방문하는 ..
2021.11.16 -
[Heap] 힙이란?
자료구조 힙(heap)이란? 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다. 여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조이다. 힙은 일종의 반정렬 상태를 유지한다. 힙 트리에서는 중복된 값을 허용한다. 힙(heap)의 종류 최대 힙(max heap) - 부모 노드의 키 값이 자식 노드의 키값보다 크거나 같은 완전 이진 트리 최소 힙(min heap) - 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리 힙(heap)의 삽입 힙(heap)의 삭제
2021.11.15