본문 바로가기
  • 장원익 기술블로그

알고리즘2

[알고리즘-PS] Java 에서 큐를 구현하는 방법 Queue란 Stack 자료구조와 다르게 FIFO(First In First Out) 방식의 선입 선출 구조를 가지고 있는 자료 구조이다. 큐는 최근 사용 문서, 인쇄작업 대기 목록, 버퍼 등의 분야에서 사용되며 스택은 위에만 뚤려 있어 자료가 한 방양으로만 흐른다면 큐는 양 방향으로 뚤려 파이프 같은 모양으로 자료가 흐른다. 큐의 원리 큐는 다음과 같이 front와 rear로 데이터의 추가 및 삭제의 경계를 알린다. 큐에 데이터 추가하기 만약 큐가 비어있다면 front 와 rear은 같은 곳을 향하게 될 것이고 20 과 30 이란 데이터를 추가한다면 어떻게 변하는지 봐보자. front와 rear의 포인터가 달라졌는데 이런 식으로 추가를 한다면 rear += 1으로 rear의 위치가 변경되며 rear에 .. 2020. 2. 16.
[알고리즘-PS] Java 에서 스택을 구현하는 방법 이 글은 Stack의 실질적 사용보다는 자바에서 스택을 구현하는 것에 목적을 두었습니다. 만약 자바에서 어떻게 스택이 사용되는지 궁금하다면 변수가 메모리에 담기는 과정 스택 프레임 또는 JRE와 JVM이 어떻게 실행될까?의 글을 가볍게 읽고 와 주시는 것을 추천드립니다. 스택 Stack 기술 스택 (목적을 달성하기 위해서 습득하기 위한 기술을 단계적으로 쌓아 올리는 것) 등에 쓰이는 말인 스택은 무언가를 쌓아 올린다 라는 표현으로 이해해도 무방하다. 스택은 데이터를 일시적으로 저장하기 위해 탄생한 자료구조로, 가장 나중에 넣은 데이터를 가장 먼저 꺼낸다. 이를 전문 용어로 후입선출 (LIFO, Last In First Out) 이라고 한다. 푸시 (PUSH) 스택에 데이터를 넣는 작업을 뜻 한다. 팝 (.. 2020. 2. 14.