<CodeStates> 자료구조

한주영·2023년 3월 24일
0

코드스테이츠 학습

목록 보기
10/24

Stack

쌓다, 쌓이다, 포개지다 의 의미를 가지고있음
데이터를 순서대로 쌓는 자료구조

LIFO(후입선출)의 구조를 가짐
데이터 넣기: push
데이터 꺼내기: pop

-데이터는 하나씩 넣고 뺄수있음
-하나의 입출력 방향을 가지고있음

ex) 일상생활에서 볼수있는 예시
-프링글스감자칩, 브라우저 앞으로가기 뒤로가기 등등..

Queue

줄을서서 기다리다, 대기행렬 이라는 뜻을 가짐

-먼저들어간 데이터가 제일 처음 나오는 FIFO(선입선출)의 구조를가짐
-데이터는 하나씩 넣고뺄수있음
-두개의 입출력 방향을 가지고 있음

ex)일상생활에서 볼수있는 예시

  • 프린터 작업(프린터가 인쇄되는 과정 )

컴퓨터장치들 사이에서 데이터를 주고받을때 각 장치 사이에 존재하는
속도의 차이나 시간차이를 극복하기 위해 임시 기억장치의 자료구조로 큐를 사용
=> 이것을 버퍼(buffer) 라고 함

Tree

이름 그대로 나무 형태를 지님
단방향 그래프
하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조
비선형 구조

루트라는 하나의 꼭짓점 데이터를 시작으로 여러개의 데이터를 간선으로연결

깊이

루트로부터 하위계층의 특정 노드까지의 깊이를 표현할수있음
위 그림에서 A의 depth는 0이고 B,C의 깊이는 1
D,E,F,G의 깊이는 2

레벨

같은 기핑를 가지고 있는 노드를 묶어서 레벨로 표현할수있음
같은 레벨에 나란히 있는 노드를 형제노드라고함
depth가 0인 루트 A의 level은 1

높이

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

서브트리

트리구조의 root에서 뻗어나오는 큰 트리의 내부에 트리구조를 갖춘
작은 트리

Tree의 실 사용 예제

-컴퓨터의 디렉토리구조
-월드컵 토너먼트 대진표, 가계도,조직도

profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글