본문 바로가기

반응형

💻 개발자/🤖 Data Structure

(4)
[자료구조] Tree & Binary Search Tree(BST) 기초 - Tree 자료구조 Tree는 이름 그대로 나무의 형태를 가지고 있다. 정확히는 나무를 거꾸로 뒤집어 놓은 듯한 모습을 가지고 있다. 그래프의 여러 구조 중 무방향 그래프의 한 구조로, 하나의 뿌리로부터 가지가 사방으로 뻗은 형태가 나무와 닮아 있다고 해서 트리 구조라고 부른다. 마치 가계도와 흡사해 보이는 이 트리 구조는 데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조이다. 데이터를 순차적으로 나열시킨 선형 구조가 아니라, 하나의 데이터 뒤에 여러 개의 데이터가 존재할 수 있는 비선형 구조이다. 트리 구조는 계층적으로 표현이 되고, 아래로만 뻗어나가기 때문에 사이클이 없다. 용어 정리 노드(Node) : 트리 구조를 이루는 모든 개별 데이터 루트(Root) : 트리 ..
[자료구조] Graph 기초 컴퓨터 공학에서 이야기하는 자료구조 그래프는 일반 그래프와 전혀 다른 모습을 가지고 있다. 자료구조의 그래프는 마치 거미줄처럼 여러 개의 점들이 선으로 이어져 있는 복잡한 네트워크 망과 같은 모습을 가지고 있다. 그래프는 여러 개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조이다. 직접적인 관계가 있는 경우 두 점 사이를 이어주는 선이 있고 간접적인 관계라면 몇 개의 점과 선에 걸쳐 이어진다. 하나의 점을 그래프에서는 정점(vertex)이라고 표현하고, 하나의 선은 간선(edge)라고 한다. 다음 그림은 간단한 그래프를 나타낸 것이다. 그래프 실사용 예제 포털 사이트의 검색 엔진, SNS에서 사람들과의 관계, 네비게이션 (길 찾기) 등에서 사용하는 자료구조가 바로 그래프이다. 세 가지 모두..
[자료구조] Stack과 Queue 기초 Stack 스택(Stack)은 쌓다, 쌓이다, 포개지다 와 같은 뜻을 가지고 있다. 마치 접시를 쌓아 놓은 형태와 비슷한 이 자료구조는 직역 그래로, 데이터(Data)를 순서대로 쌓는 자료구조이다. 일상생활에서 Stack과 비슷한 예를 찾아볼 수 있다. 네 대의 자동차가 순서대로 좁은 골목을 지나고 있었다. 하지만 이 골목의 끝은 공사 중으로 막혀있었다. 이를 모르던 첫 번째 차량 운전자는 이 골목을 통과하기 위해 직진했고, 나머지 차량도 앞 차량의 꽁무니를 따라 직진했다. 결국 첫 번째 차량은 공사로 막힌 골목 끝을 맞이했다. 마지막으로 들어온 네 번째 자동차가 먼저 후진으로 나와야 하는 상황이 되어버린 것이다. 이때 골목을 자료구조 Stack, 자동차는 데이터(data)로 비유할 수 있다. 위의 예시..
[자료구조] 자료구조란? 자료구조란 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것 먼저 데이터(data)는 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값이다. 그러나 데이터는 그 자체만으로 어떤 정보를 가지기 힘들다. 예를 들어 나이라는 데이터만 알고 있다면, 사람의 나이인지, 강아지의 나이인지, 고양이의 나이인지 알 수 없다. 이처럼 데이터는 분석하고 정리하여 활용해야만 의미를 가질 수 있다. 데이터를 정해진 규칙 없이 저장하거나, 하나의 구조로만 정리하고 활용하는 것보다 데이터를 체계적으로 정리하여 저장해두는 게, 데이터를 활용하는 데 있어 훨씬 유리하다. 이미 선배 개발자들은 무수한 상황에 데이터를 효율적으로 다룰 수 있는 여러 방법을 연구해 두었다. 선배 개발자들은 무수한 상황에서 데..

반응형