덱(Deque) 보다 큐(Queue)와 스택(Stack)이 더 좋은 경우?
·
Java/자료구조
시리즈2025.03.11 - [Java/자료구조] - 스택? 큐?2025.03.11 - [Java/자료구조] - Deque?2025.03.11 - [Java/자료구조] - 덱(Deque) 보다 큐(Queue)와 스택(Stack)이 더 좋은 경우?자바 기반 설명이며 개념에 관한 내용을 다룹니다.📌 핵심내용
Deque?
·
Java/자료구조
시리즈2025.03.11 - [Java/자료구조] - 스택? 큐?2025.03.11 - [Java/자료구조] - Deque? 자바 기반 설명이며 개념에 관한 내용을 다룹니다.📌 핵심내용큐와 스택의 장점을 취하고 단점을 보완한 자료구조로더 유연하고 안정적인 데이터 관리가 가능합니다.다만, 성능은 상황에 따라 달라져 구조를 알고 효율적으로 사용해야 적절합니다.Deque(덱)가 등장한 배경과 필요성Deque(Double-ended Queue, 덱)는 큐와 스택의 단점을 보완한 자료구조로, 양쪽에서 삽입과 삭제가 가능한 형태입니다.1. Deque가 등장한 이유큐(Queue)와 스택(Stack)은 각각 단순한 선형 자료구조이지만, 다음과 같은 문제점이 존재합니다.큐(Queue)의 문제점FIFO 구조로 인해 한쪽..
스택? 큐?
·
Java/자료구조
시리즈2025.03.11 - [Java/자료구조] - 스택? 큐?2025.03.11 - [Java/자료구조] - Deque? 자바 기반 설명이며 개념에 관한 내용을 다룹니다.📌 핵심내용스택(Stack)과 큐(Queue)는 기본적인 자료구조로동기화(스레드 세이프), 시간 복잡도, 알고리즘 적용 방식에 따라 성능과 활용도가 크게 달라집니다. 본 글에서는 실무에서 발생하는 문제와 해결 방안을 중심으로 심화 내용을 다룹니다. 1. 스택(Stack)과 큐(Queue)의 차이점구분스택(Stack)큐(Queue)구분스택(Stack)큐(Queue)구조후입선출(LIFO)선입선출(FIFO)동기화Stack (Thread-safe X)ConcurrentLinkedDeque (Thread-safe O)LinkedList (T..
데이터 구조 선택 가이드
·
Java/자료구조
자바 기반 설명이며 개념에 관한 내용을 다룹니다.📌 핵심내용데이터 구조는 Object의 특성에 따라 적절하게 선택해야하는데스택(Stack), 큐(Queue), 해시맵(HashMap), 트리(Tree), 그래프(Graph) 등 다양한 데이터 구조가 존재하며 각각의 특성이 달라상황에 맞는 데이터 구조 선택이 성능 최적화의 핵심이다.1. 데이터 구조별 특징데이터 구조설명사용 사례배열(Array)인덱스를 통한 빠른 접근 가능리스트, 행렬 연산 (예: Java의 ArrayList)연결 리스트(Linked List)동적 크기 조정 가능, 삽입/삭제 용이LRU 캐싱 (예: Java의 LinkedList)스택(Stack)후입선출(LIFO)함수 호출 스택 (예: Java의 Stack 클래스)큐(Queue)선입선출(FI..
[자료구조] 시프트연산
·
Java/자료구조
시프트를 활용한 기본적인 연산인 N번째 비트를 핸들링하는 방법과 프로그래밍하는 방법에 대해서 알아보겠습니다. 1. GET - N 비트 가져오기 2. SET - N 비트 true 3. CLEAR - N 비트 false 4. CLEAR LEFT - N 비트 왼쪽으로 false 5. CLEAR RIGHT - N 비트 오른쪽으로 false 6. UPDATE - N 비트 true/false 제어하기 1. GET - N 비트 가져오기 boolean getBit( int num, int N ) { return num & ( 1
[자료구조] 비트연산
·
Java/자료구조
컴퓨터는 근본적으로 모든 처리를 비트연산을 통해서 수행합니다. 결론부터 말하자면, 비트연산을 사용하는 목적은 빠른 응답을 위해서 입니다. 일반적인 4칙연산(+,-,*,/)은 피연산자와 연산자의 조합을 확인하고 변환하여 처리합니다. 그러므로 비트연산을 직접적으로 처리하면 더 빠른 연산을 시행할 수 있는 것입니다. 시프트 연산은 숫자타입만 가능하며, 정수를 이용하여 설명을 진행합니다. 1. 정수의 범위와 부호에 대한 구조 2. 비트연산의 피연산자 3. 시프트 더보기 여담으로 산수와 수학은 사전적 의미가 다릅니다. 산수는 계산력이 본질이며, 수학은 논리력과 사고력이 본입니다. 1. 정수의 범위와 부호에 대한 구조 대부분의 정수는 4byte의 크기를 가짐으로 이 기준으로 설명하겠습니다. 4byte를 모두 양의 ..