자료구조

·자료구조
스택이란 ❓ 스택은 우리 실생활 속에서도 많이 사용되는 자료구조 중 하나입니다.  예를 들면 웹 브라우저에서의 뒤로 가기, Ctrl+Z (Undo) 등 다양하게 쓰입니다. 스택은  "쌓다"라는 의미를 가집니다. 사전적 의미에서 알 수 있듯이 하나의 입구를 통해 push 하거나 pop 할 수 있습니다. [그림 Stack]에서 볼 수 있듯이 메모리 stack 영역 맨 위에 데이터를 추가하는 것을 'push'라고 하고, 반대로 맨 위의 데이터를 하나씩 제거하는 것을 'pop'이라고 합니다. 즉 하나의 스택에 데이터를 계속 쌓는 형태이고, 가장 마지막 데이터가 먼저 나오는 Last-in First-Out(LIFO) 형태를 가지고 있습니다. 스택은 서로 관계가 있는 여러작업들을 연달아 수행하며 이전의 작업내용을 ..
·자료구조
해시(Hash)란 ❓ Hash는 hash function에서 얻어지는 값으로서, 유일한 값(반복되지 않는 값)을 저장하기 위한 자료구조입니다. Dictionary(Map) 자료 구조와 같이 key,value의 형태로 저장되며 모든 데이터가 유일한 key를 가지고 있습니다. 유일한 key를 가지고 있기 때문에 특정한 값을 아주 빠르게 찾을 수 있다는 특징을 가지고 있습니다. 해시가 특정한 값(데이터)를 아주 빠르게 찾을 수 있는 이유는 데이터를 검색할 때 사용할 key와 value가 1:1 매칭으로 존재하기 때문에 O(1)의 시간복잡도를 가지기 때문입니다. Hash Function(해시 함수) 란 ❓ 해시 함수란 임의의 길이를 갖는 임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 함수를 말합니다. ..
지누박
'자료구조' 카테고리의 글 목록 (3 Page)