자료구조

김범주·2022년 3월 10일
0

Section 2

목록 보기
4/14

자료구조란?

데이터의 묶음을 저장하고, 효율적으로 다룰 수 있는 방법
여러 곳에서 사용이 가능한 효율적인 방법(재사용성, 추상화)

Stack

데이터를 순서대로 쌓는 형태의 자료구조
골목길의 예시 (가장 먼저 들어간 자동차는 가장 나중에 나옴)
☆☆☆☆☆☆선입후출☆☆☆☆☆☆
브라우저의 앞으로 가기, 뒤로 가기가 대표적인 예시

Queue

Stack과 반대되는 개념으로 줄을 서서 기다린다는 뜻
톨게이트의 예시 (가장 먼저 들어간 자동차가 가장 먼저 나옴)
☆☆☆☆☆☆선입선출☆☆☆☆☆☆
프린터가 차례대로 들어온 인쇄요청을 해결하는 것도 queue

Buffer

컴퓨터 장치들 사이에서 데이터를 주고받을 때 각 장치 사이에 존재하는 속도나 시간의 차리르 극복하기 위해 임시 기억 장치의 자료구조로 queue를 사용함
이를 통틀어 buffer라고 부름

Graph

urclass : 여러 개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조
my : 정점 간의 관계를 나타내는 자료구조

ex : 포털사이트 검색엔진, 네비게이션 등

Tree

urclass : 데이터가 바로 아래에 있는 하나 이상의 데이터에 단방향으로 연결된 계층적 자료구조
my : 각 노드 간의 관계를 단계적으로 나타낸 자료구조

ex : 컴퓨터 디렉토리 구조, 토너먼트 대진표 등

깊이

트리 구조는 루트로부터 특정 노드까지의 깊이를 표현할 수 있음

레벨

트리구조는 같은 깊이를 가지고 있는 노드를 붂어서 레벨로 표현할 수 있음

높이

리프 노드를 기준으로 루트까지의 높이를 표현할 수 있음

Binary Search Tree

효율적인 탐색을 위한 구조
자식노드가 최대 두 개인 노드들로 구성된 트리
모든 왼쪽 Child Node의 값이 루트나 부모보다 작고 모든 오른쪽 자식의 값이 루트나 부모보다 큰 값을 가지는 특징이 있음

profile
개발꿈나무

0개의 댓글