본문 바로가기

IT개발/자료구조 & 알고리즘3

[자료 구조 & 알고리즘] 삽입 정렬(Insertion sort), 선택 정렬(Selection sort), 버블 정렬(Bubble sort) 그림 및 시간 복잡도 이해하기 각 정렬 방법의 기본 개념을 설명하고, 시각적인 그림을 통해 각 단계를 자세히 설명함으로써 여러분이 이 중요한 알고리즘들을 보다 쉽게 이해할 수 있도록 돕고자 합니다.삽입 정렬 (Insertion Sort)삽입 정렬은 마치 카드 게임을 할 때 카드를 한 장씩 뽑아 적절한 위치에 삽입하는 방식과 유사합니다. 각 반복에서 하나의 데이터 요소를 현재 정렬된 배열 부분과 비교하여 적절한 위치를 찾아 삽입합니다. 이 방법은 작은 데이터 세트에 효율적이며, 거의 정렬된 상태의 데이터에 매우 빠릅니다. "삽입 정렬 시간 복잡도"최악의 경우( Best Case)평균의 경균 (Average Case) 최선의 경우 (Worst Case) O(n²) O(n²) O(n)  초기 상태 : 85624 1회전85624=>58.. 2024. 5. 12.
[자료 구조 & 알고리즘]우선순위 큐 : 힙(Heap) 우선순위 큐는 데이터의 우선순위를 관리하는 특수한 자료구조입니다. 일반적인 큐(Queue)는 먼저 들어온 데이터가 먼저 나가는 FIFO(First In, First Out) 방식으로 작동하지만, "우선순위 큐"는 데이터마다 우선순위를 부여하고, 그 우선순위에 따라 먼저 처리할 데이터를 결정합니다.우선순위 큐와 힙(Heap)우선순위 큐는 일반적으로 힙(Heap)자료구조를 기반으로 구현됩니다. 힙은 완전 이진 트리(Complete Binary Tree)의 일종으로, 부모 노드의 값이 자식 노드의 값보다 작거나 큰 특성을 가집니다. 이러한 성질 때문에 우선순위 큐를 효율적으로 구현할 수 있습니다.최소 힙(Min Heap): 부모 노드의 값이 자식 노드의 값보다 항상 작습니다. 이 경우, 우선순위가 가장 높은 .. 2023. 11. 10.
[자료 구조 & 알고리즘]자료구조와 알고리즘(Algorithm)의 관계 목차1. 자료구조란?2. 자료구조와 알고리즘의 관계3. 알고리즘 표기법4. 일반 표기법 vs 서적 표기법5. 자료구조의 추상 데이터 타입6. 추상 데이터 타입(ADT)란?# 자료구조란?1. 자료를 저장, 관리, 조직하는 방법2. 문제 해결에 사용할 부품3. 생각하는 방법을 훈련하는 도구 일반적으로 다루는 자료구조는 리스트, 스택, 큐, 힙, 검색트리, 해시 테이블, 그래프 등이 있으며, 생각하는 방법에는 재귀, 추상화, 정렬, 그래프 등이 있습니다.  // "알고리즘"도 "자료구조"에 포합니다.// 스택 : 먼저 들어간 이가 늦게 나옴// 큐 : 먼저 들어간 이가 먼저 나옴 - 선형 자료 구조 : 리스트, 스택, 큐- 색인 자료 구조 : 검색 트리(이진, 균형 트리), 해시 테이블 (테이터를 효율적으로 .. 2023. 9. 8.