전체 글(61)
-
[Queue와 Stack의 차이] 큐와 스택의 개념과 차이점
😁 스택이란? 스택은 LIFO구조로 마지막에 들어온 데이터가 먼저 나가는 자료구조이다. 책을 쌓는 것 처럼 차곡차곡 쌓아 올린 형태의 자료구조를 말한다. 😊 스택의 특징 스택은 위의 사진처럼 같은 자료형의 값을 하나의 방향으로만 쌓을 수 있고, top으로 정한 곳을 통해서만 접근할 수 있다. top에는 가장 위에 있는 자료는 가장 최근에 들어온 자료를 가리키고 있으며, 삽입되는 새 자료는 top이 가리키는 자료의 위에 쌓이게 된다. 스택에서 top을 통해 삽입하는 연산을 'push', top을 통해 삭제하는 연산을 'pop'이라고한다. 따라서 스택은 시간 순서에 따라 자료가 쌓여서 가장 마지막에 삽입된 자료가 가장 먼저 삭제된다는 구조적 특징을 가지게 된다. 이러한 스택의 구조를 후입선출(LIFO, La..
2021.11.15 -
[ArrayList vs Linked List] 의 차이점
ArrayList와 LinkedList 둘 다 List라는 인터페이스를 구현한 Collection 구현체이다. 하지만 내부적으로 동작하는 방식은 다르다. ArrayList ArrayList는 기존 배열을 선언할 때 크기를 지정해 메모리 낭비를 하는 걸 보완한 자료구조이다. 배열은 한 번 지정한 크기를 변경할 수 없지만 ArrayList는크기가 가변적으로 변하는 선형 리스트이다. 내부적으로 데이터를 배열에서 관리하며 데이터의 추가, 삭제를 위해 아래와 같이 임시 배열을 생성해 데이터를 복사 하는 방법을 사용 하고 있다. 대량의 자료를 추가/삭제 하는 경우에는 그만큼 데이터의 복사가 많이 일어나게 되어 성능 저하를 일으킬 수 있다. 반면 각 데이터는 인덱스를 가지고 있기 때문에 한 번에 참조가 가능해 데이터..
2021.11.15 -
[Array] 배열 이란?
Array(배열) : 같은 타입의 변수 여러개로 이루어진 집합 배열의 특징 1. 순차적 Array의 가장 큰 특징인 순차적은 말그대로 순차적으로 데이터가 저장된다는 말이다. 그래서 서로 연결된 데이터들을 저장할 때 Array가 많이 사용된다. 대부분의 데이터가 서로 연결되어 있기 때문에 Array가 가장 많이 사용되는 이유 중 하나이다. 2.삽입 순서대로 저장 Array는 삽입 순서대로 저장된다. 즉 한 방향으로 저장 된다는 뜻이다. 3. 수정가능, 중복 가능 Array는 수정이 가능하다 수정이 불가능한 data 형태로는 Set등이 있다. Array 장점 array에는 순서, 즉 index가 있기 때문에 index순서로 조회가 가능하다. 그러므로 특정인덱스를 조회할 때, 순차적인 데이터를 저장할 때 효과..
2021.11.15