728x90
반응형

자료구조 알고리즘 코딩테스트 문제풀이/자료구조 - Do it 2

자료구조 - 스택/큐 O(n)

스택과 큐 배열에서 발전된 형태의 자료구조로 두 자료구조의 구조는 서로 비슷하지만 처리방식이 다르다 스택 (Stack) 삽입 / 삭제 연산이 후입선출 LIFO (LastInFirstOut) 형태로 이루어지는 자료구조이다. LIFO : 마지막에 삽입된 값이 가장 먼저 삭제된다 FILO라고도 부른다 (최초 삽입 데이터가 가장 마지막에 삭제된다) 삽입 삭제가 한쪽에서만 발생한다. (입구와 출구가 하나) 스택에 새 값 삽입(PUSH)시 TOP은 새 값을 가리킨다. 스택에서 값 삭제(POP)시 TOP이 가리키는 값을 삭제한다. 결과적으로 스택에서 값을 삭제할경우 현재 시점에서 가장 마지막에 삽입된 값이 삭제된다. TOP : 삽입 / 삭제가 발생하는 위치 (스택에서는 최 상단에 위치한다.) PUSH : TOP 위치..

자료구조 - 배열 , 리스트, 벡터

배열 연속적인 메모리 공간에 값이 채워져 있는 자료구조이다. 인덱스를 통해 값 참조가능 새로운 값 삽입/특정 인덱스값 삭제 어려움 삽입/삭제시 해당 인덱스 주변 값 이동과정 필요 배열 선언시 크기 지정 가능 (최초 길이 수정 불가) 배열 요소 초기화시 길이는 필수이다 int[ ] a = new int[ ] { }; 와 같이 배열 선언시 빈 배열로 길이를 지정하지 않는다면 배열 초기화 (삽입) 시 길이가 지정된 새 배열 인스턴스로 a 배열을 초기화 해야한다. → a = new int [n]; 간단한 구조 이므로 코딩테스트에서 주로 사용된다. 배열 삽입 배열 삭제 배열에서 요소를 삭제하더라도 배열의 길이는 줄어들지 않는다. (삽입과 삭제한 요소의 갯수만큼 줄어든 길이만큼의 배열을 새로 생성해서 삭제된 이후 ..