본문 바로가기
반응형

자료구조2

힙 정렬 Heap Sort 자바 Max Heap 최대 힙 Heap Sort 완전 이진 트리 🔷 1. 힙 정렬(Heap Sort)이란?힙 정렬은 **완전 이진 트리 형태의 자료구조인 '힙(Heap)'**을 기반으로 하는 정렬 알고리즘입니다.힙(Heap)은 최대 힙(Max Heap) 또는 최소 힙(Min Heap) 이 될 수 있습니다.힙 정렬은 주로 최대 힙을 사용해서 내림차순 → 오름차순 정렬을 구현합니다.🔷 2. 왜 힙 정렬인가? (배경과 장점)정렬 방식메모리 추가 필요 여부시간 복잡도 (최악)안정성특징힙 정렬❌ in-placeO(n log n)❌정렬 안정성은 없지만, 메모리 효율 높음퀵 정렬❌ in-placeO(n²)❌보통 빠르지만, 최악 케이스 존재병합 정렬⭕ extra memoryO(n log n)✅메모리 사용, 안정 정렬 가능 힙 정렬은 추가 메모리 없이 항상 O(n log n)을 .. 2025. 6. 20.
스택 Stack 접시 쌓기 LIFO 큐 Queue 줄 서기 FIFO 자바 자료구조 알고리즘 📌 스택 (Stack) — "접시 쌓기"비유우리가 식당에서 접시를 쌓아두는 모습을 생각해보자.새 접시는 항상 위에 올려.꺼낼 때는 위에서부터 꺼내.이걸 LIFO (Last In, First Out, 마지막에 들어간 것이 먼저 나온다) 라고 해.예시 상황웹 브라우저의 "뒤로가기"프로그램의 함수 호출 (Call Stack)기본 동작동작설명push()데이터를 위에 올린다 (넣기)pop()위에 있는 데이터를 꺼낸다 (빼기)peek()가장 위의 데이터가 뭔지 확인 📌 스택 (Stack) — 접시 쌓기 (LIFO) [ Top ] ┌───────┐ ← 마지막 넣은 것 (먼저 나온다: pop) │ 데이터3 │ ├───────┤ │ 데이터2 │ ├───────┤ │ 데이터1 │ ← 처음 넣은.. 2025. 6. 9.
반응형