본문 바로가기

자료구조3

[Data Structure] Stack(스택) 자료구조란? -Java Stack 자료구조란 무엇인가? - Java 1. 스택이란? - 'Stack'은 한쪽 방향에서만 자료를 넣고 빼는 형태의 자료구조이다 - LIFO(Last In First Out) - 선입후출 의 특징을 갖고 있으며, 제일 먼저 들어간 데이터는 제일 마지막에 꺼낼 수 있다는 의미를 가진다. - 이해하기 쉬운 예시로 -> '프링글스' 과자를 상상하면 쉬울 것이다. 제일 먼저 들어간 과자는 제일 마지막에 먹을 수 있게 되는 방식인 것이다. - Stack이 많이 사용되는 곳은 - DFS(깊이 우선 탐색)이다. 2. Java Stack 라이브러리 Mehtods push(object) : object를 Stack 에 삽입한다. pop() : stack에 있는 최상단 object를 삭제 하고 반환한다. peek().. 2023. 1. 16.
[Java] Stack 2개로 Queue 처럼 사용하기 java - Stack 2개로 Queue 구현하기 - 사실 Stack 2개로 Queue 처럼 구현할 일이 있는지는 잘 모르겠다... (그냥 Queue를 사용하면 되는 부분) 하지만 상황에 따라 Stack을 Queue 방식으로 구현해야 할 수도 있고, 필자의 기준에서는 신박한 내용이었기에 구현과 포스팅을 해보려 한다. - 자료구조에서 Stack, Queue 라는 개념을 한번쯤은 들어봤을 것이다! 간단하게 얘기하자면 Stack : 선입후출(FILO), 처음에 넣은 요소가 제일 마지막에 나오는 것이고 Queue : 선입선출(FIFO), 처음에 넣은 요소가 처음으로 나오는 것이다. 방법 목표 : 숫자 1,2,3,4 를 차례로 추가하고 1,2,3,4 순서대로 출력하는 것. 1. Stack이 A,B 2개가 있다고 .. 2023. 1. 13.
[Java] 1차원 배열 & 2차원 배열 이 글에서는 Java의 1,2차원 배열에 대해서 알아보도록 하겠습니다!! - 1차원 배열의 선언, 초기화, 출력 방법. - 2차원 배열의 선언, 초기화, 출력 방법. 1차원 배열이란? Java뿐 아니라 모든 언어에서 1차원 배열이 존재하며 많은 분야에서 사용합니다. 1차원 배열은 같은 자료형의 묶음이라고 이해하면 좀더 쉽게 이해할 수 있을것입니다! 1차원 배열의 선언및 활용은 아래와 같이 할 수있습니다. 1. 배열을 선언하는 방법 int[] array; int []array; int array[]; - 언 뜻 보면 같은것 같지만 해당 변수가 배열이라는 것을 알려주는 '[]'의 위치가 다르다는 것을 확인 할 수 있다. - 값을 모르고 초기화를 하지 않을 경우에 사용한다. 2. 배열을 초기화 하는 방법 //.. 2022. 12. 12.