야놀자 테크스쿨/JAVA 자료구조13 [면접을 위한 CS 전공지식 노트][자료구조] Array(배열)와 ArrayList 0. 개요 JAVA에서는 배열을 직접 사용할 수도 있고, 배열을 사용하기 쉽게 구현해놓은 ArrayList가 존재한다. 자료구조를 공부하면서 이 부분에 대해서 정리하여 기록하고자 이 글을 작성한다. 1. Array 배열이라는 자료구조의 특징을 살펴보면, 1. 선형적인 자료구조이다. 2. 데이터를 일렬로 늘여놓은 형태이다. 3. 물리적으로도 데이터가 메모리에 연속적으로 저장된다는 특징을 가지고 있다. 4. 같은 데이터 타입만을 저장할 수 있다. -> 다른 데이터 타입을 저장하고자 한다면 class 선언을 하여 객체를 이용하여 사용할 수 있다. 등을 이야기 해볼 수 있겠다. Java를 이용해 프로그래밍을 하는 경우 종종 배열을 직접 사용하는 경우도 있지만, 대부분의 경우 배열을 사용하기 쉽게 구현해놓은 Ar.. 2023. 8. 2. [면접을 위한 CS 전공지식 노트][자료구조] 자료구조에 따른 시간 복잡도 0. 개요 프로그래밍을 하면서 알고리즘의 효율을 측정할 수 있는 지표로는 크게 시간 복잡도와 공간복잡도가 있다. 알고리즘이 메모리를 얼마나 쓰는지 나타내는 것이 공간복잡도이고, 알고리즘이 문제를 해결하는데 걸리는 시간이 시간복잡도 이다. 과거에 하드웨어의 스펙이 좋지 않았을 적에는 이 두 가지 모두를 고려하면서 프로그래밍을 진행했지만, 최근 하드웨어의 성능이 좋아지고 나서부터는 공간복잡도 보다는 시간복잡도를 고려하여 프로그래밍을 하는 추세인 것 같다. 또한 시간복잡도와 공간복잡도는 트레이드오프 관계에 있다. 최근은 하드웨어 성능이 좋아짐에 따라 시간복잡도를 기준으로 알고리즘의 효율을 많이 측정하는 추세다. 그러므로 이 글에서는 공간복잡도 보다는 자료구조와 시간복잡도에 대한 것을 중점적으로 정리해 볼 계획.. 2023. 7. 31. [JAVA][자료구조] Java에서 Stack을 사용하는 방법 대해 알아보자! 0. 개요 코딩테스트를 준비하면서 Stack이라는 자료구조를 사용하게 되었는데, Java에서는 어떠한 형식으로 Stack을 사용할 수 있게 제공해주는지, 어떤 메서드를 제공해주는지 정리하고자 이 글을 작성한다. 1. Java에서 제공해주는 Stack Queue와는 다르게 Java에서 Stack은 클래스로 구현이 되어 사용할 수 있게 제공해준다. 잠깐 예전에 정리했던 Queue에 대해서 복기를 해보자면, Queue 같은 경우 new LinkedList()를 통해 생성하여 인터페이스에 해당하는 메소드를 사용했지만, Stack같은 경우 new Stack()으로 객체를 생성하여 스택을 사용할 수 있다!! Stack은 Vector를 상속받아서 구현되어 있는 것을 아래 사진을 통해 확인할 수 있다. 그리고 초록색으.. 2023. 7. 17. [JAVA][자료구조] JAVA Queue 사용법. 0. 개요 코딩테스트를 준비하면서 필요한 java 자료구조와 메서드에 대해서 정리하고자 이 글을 남긴다. 나 같은 경우에는 평소에 queue를 사용해본적이 거의 없기 때문에 어렴풋이 queue가 java에서는 인터페이스로 구현되어 있는다는 사실을 알고만 있을 뿐 이었다. 이번에 코딩테스트를 준비하면서 queue를 사용할만한 문제가 나와서 이번기회에 java에서 queue에 대한 메서드를 정리하고 이해하려고 이 글을 작성한다. 1. JAVA에서 구현된 queue 메서드 이 글을 읽는 분들은 큐라는 자료구조에 대해서 이해가 있을 것이라고 생각한다. 선입선출의 대표적인 자료구조로써 많은 곳에 사용된다. 자! 그럼 자바에서 queue는 어떻게 구현해놓았는지 살펴보자! 먼저 서두에서도 이야기 했듯이 자바에서는 큐.. 2023. 7. 16. 이전 1 2 다음