본문 바로가기
반응형

Computer Science37

[자료구조 & 알고리즘] 그래프 + BFS 이전 포스트 - 그래프 + DFShttps://rnasterofmysea.tistory.com/45 [자료구조 & 알고리즘] 그래프 + DFS그래프에 대해 기초부터 차근차근 학습해보겠습니다. 그래프는 DFS와 BFS를 이해하는 데 필수적인 자료구조이므로, 기초 개념부터 간단한 구현까지 배우면 이후 탐색 알고리즘도 쉽게 이해할 수rnasterofmysea.tistory.com BFS (너비 우선 탐색)1. BFS 개요BFS(Breadth-First Search)는 그래프 탐색 알고리즘 중 하나로, 가장 가까운 노드부터 순차적으로 탐색하는 방식입니다. BFS는 큐(Queue)를 이용하며, 그래프의 최단 경로 탐색에도 활용됩니다. (DFS 일 경우 stack 사용)DFS(깊이 우선 탐색)와는 달리, BFS는 .. 2024. 12. 22.
[자료구조 & 알고리즘] 그래프 + DFS 그래프에 대해 기초부터 차근차근 학습해보겠습니다. 그래프는 DFS와 BFS를 이해하는 데 필수적인 자료구조이므로, 기초 개념부터 간단한 구현까지 배우면 이후 탐색 알고리즘도 쉽게 이해할 수 있습니다. 1. 그래프란 무엇인가?정의: 그래프는 **노드(Node, 정점)**와 이들을 연결하는 **간선(Edge)**으로 이루어진 자료구조입니다.응용 분야: 네트워크(인터넷, 사회 연결망), 지리정보 시스템(지도), 경로 탐색(길 찾기), 관계 모델링(데이터 관계) 등.2. 그래프의 주요 용어정점(Vertex): 그래프를 이루는 점. 보통 숫자나 문자로 표현.간선(Edge): 정점 간의 연결선. 관계를 나타냄.방향성(Directionality):무방향 그래프: 간선에 방향이 없음 (A ↔ B).유방향 그래프: 간선.. 2024. 12. 20.
C - [Backjoon 1021] 회전하는 큐 예제 입력 1 10 31 2 3 예제 출력 10 예제 입력 2 10 32 9 5 예제 출력 28예제 입력 332 627 16 30 11 6 23 예제 출력 359 예제 입력 4 10 101 6 3 2 7 9 8 4 10 5 예제 출력 4 14 리뷰큐 기본 형식의 변형 문제 (하단 링크 참조) 큐 오른쪽 회전 = 큐 기본 형식과 동일 (회전하는 만큼 더하기) front = (front + r_count) % len; 큐 왼쪽 회전 = 큐 기본 형식과 역순 (회전하는 만큼 빼기) front = (len + front - l_count) % len;보안점:deque 활용 https://rnasterofmysea.tistory.com/42 C - [Backjoon 10845] 큐 (큐 기본 형식)출처:https.. 2024. 12. 19.
[자료구조 & 알고리즘] 탐색 알고리즘 총 정리 (feat. 이진탐색, DFS, BFS) 1. 탐색 알고리즘의 정의탐색 알고리즘은 데이터 구조(배열, 리스트, 트리 등)에서 특정 값 또는 조건을 만족하는 데이터를 찾는 과정을 말합니다.목적: 값이 데이터 안에 존재하는지 확인하거나, 위치를 반환.필수 요소:데이터 구조(정렬 여부, 크기, 형태)탐색 키(찾고자 하는 값)2. 탐색 알고리즘의 활용탐색 알고리즘은 다음과 같은 분야에서 광범위하게 사용됩니다:데이터 검색: 데이터베이스, 파일 시스템, 캐시.웹 검색 엔진: 키워드 기반 검색.네트워크 라우팅: 최단 경로 탐색.게임 개발: 경로 탐색, 상태 공간 탐색.AI 및 머신러닝: 상태 공간에서 최적의 값 찾기.3. 탐색 알고리즘의 종류 1) 선형 탐색 (Linear Search)정의:데이터를 처음부터 끝까지 순차적으로 확인하며 목표 값을 찾는 방식... 2024. 12. 17.
C - [Backjoon 10845] 큐 (큐 기본 형식) 출처:https://www.acmicpc.net/problem/10845 예제 입력 1 15push 1push 2frontbacksizeemptypoppoppopsizeemptypoppush 3emptyfront예제 출력 1 122012-101-103  리뷰큐 기본 형 구현이기 때문에 필수로 짚고 넘어가야하는 코드해당 코드가 내 지식이 되야지 다른 파생 문제를 풀 수 있음 특징:각 기능별 함수 분할큐를 동적배열로 할당 -> 동적배열을 함수의 매개변수로 넘길 시 포인터를 사용해야함  #include #include // 함수 push , pop, size, emty, fornt, backvoid push(int* head, int* queue, int value);void pop(int head, int*.. 2024. 12. 16.
[자료구조 & 알고리즘] 자료구조 개념 총정리 (향후 내용추가) 1. 선형 리스트 (Linear List)설명: 데이터를 연속된 메모리 공간에 저장하며, 순서를 보장하는 자료구조.특징:인덱스를 통해 O(1) 시간 복잡도로 접근.삽입/삭제는 O(n)로 비효율적.필수 알고리즘:이분 탐색 (Binary Search):정렬된 리스트에서 O(log n) 시간 복잡도로 값을 탐색.슬라이딩 윈도우 (Sliding Window):고정 크기의 연속 부분 리스트 처리. 자료 출처: https://velog.velcdn.com/images/hyhy9501/post/1c9f28a0-8e27-4aa2-9f6e-e89bb79ed2b4/image.png  2. 연결 리스트 (Linked List) 설명: 노드(Node)와 포인터로 구성된 비연속적 메모리 저장 구조.특징:삽입/삭제가 O(1)로 .. 2024. 12. 16.
반응형