728x90
반응형
SMALL

2024/04/15 3

Stack

Stack은 위에만 구멍이 뚫린 박스라고 생각하면 된다. 이 그림이 Stack 구조이다. 먼저 들어간 데이터가 가장 마지막에 나온다. 가장 마지막에 들어간 데이터가 가장 먼저 나온다. LIFO. Stack은 중간에 데이터를 넣는것도 불가능하고 맨위에 데이터를 새로 넣거나 맨위에 있는 데이터를 빼거나해야 한다. 코드적으로 접근해보기 Stack은 보통 이러한 메서드들을 가지고 있다. pop(): 가장 최근에 추가된 데이터 빼기 push(item): 데이터 새로 추가하기 peek(): 가장 최근에 추가된 데이터 읽기 isEmpty(): Stack이 비어있는지 확인하기 다음 그림과 같이 사이즈가 7인 Stack이 있다고 해보자. 1. 이 상태에서 push(8)을 하면 다음 그림이 된다. 2. 이 상태에서 또 p..

자료구조 2024.04.15

Queue

이번엔 Queue를 정리해보자. Queue는 위 아래 모두 구멍이 있는 박스라고 생각을 하면 된다. 그림을 보면 데이터는 위에서만 넣을 수 있고 빠지는 건 아래에서부터 빠진다. 이런 구조라면 먼저 들어간 데이터가 먼저 나오는 구조가 된다. Queue는 FIFO(First In First Out) 구조이다. 코드적으로 생각해보기 Queue가 가지고 있는 보통의 대표적인 메서드는 다음과 같은 것들이 있다. enqueue(item): 데이터 추가하기 dequeue(): 가장 오래된 데이터 빼기 peek(): 가장 오래된 데이터 보기 isEmpty(): Queue가 비었는지 확인하기 비어있는 사이즈가 7인 큐가 있다. 1. 이 상태에서 데이터 1을 넣으면 다음 모양이 된다. 2. 그리고 데이터 2를 또 추가적으..

자료구조 2024.04.15

Array vs Linked List

오늘부터 자료구조에 대한 내용을 하나씩 정리하기로 했다. 기록을 하지 않으면 알아도 금방 까먹기 때문에 까먹더라도 다시 돌아갈 수 있게. Array 배열은 메모리에 정해진 사이즈만큼 공간이 만들어져서 데이터를 저장하는 방식이다. 그래서 데이터는 연속적으로 위치한 메모리에 저장되어 있다. 장점 연속적으로 메모리에 위치해있기 때문에 인덱스를 통해 빠르게 내가 원하는 값을 찾아낼 수 있다. 단점 사이즈가 정해졌기 때문에 정해진 사이즈 이상으로 데이터를 저장할 수 없다. Linked List Linked List는 사이즈가 동적으로 할당된다. 메모리 상에 여기저기 흩뿌려져 있는 공간에 원하는 만큼 데이터를 넣을 수 있는 방식이다. 각 데이터는 다음 데이터의 주소를 알고 있는 포인터가 있어서 연결되어 있다. 장점..

자료구조 2024.04.15
728x90
반응형
LIST