본문 바로가기
반응형

Computer Science115

[자료구조 & 알고리즘] 정렬 알고리즘 총 정리 참고 포스트 C언어로 다양한 정렬 알고리즘을 활용하여 정수 오름차순 구현2025.01.11 - [Computer Science/C 언어] - [C언어 22] 정렬 알고리즘 총 정리: C언어 구현 [C언어 22] 정렬 알고리즘 총 정리: C언어 구현정렬 알고리즘은 데이터의 순서를 특정 기준(오름차순/내림차순)에 따라 배열하는 과정입니다. 백준 2751번 문제(정수 오름차순 정렬)을 활용하여 C 언어로 구현할 수 있는 다양한 정렬 알고리즘rnasterofmysea.tistory.com 정렬 알고리즘의 핵심 개념 1️⃣ 비교 정렬과 비비교 정렬 비교 정렬 (Comparison Sort)정의: 두 요소를 비교하여 자리를 바꾸는 방식으로 정렬.특징:입력 데이터의 값의 크기 비교가 필수.시간 복잡도의 하한이 O(n.. 2024. 12. 18.
[자료구조 & 알고리즘] 탐색 알고리즘 총 정리 (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.
[C 17]Understanding Generic Programming / 제네릭 프로그래밍 이해 Understanding Generic Programming / 제네릭 프로그래밍 이해제네릭 프로그래밍이란?정의: 데이터 타입에 관계없이 동작하는 코드를 작성하는 기법.목적:코드 재사용성: 다양한 데이터 타입에 대해 동일한 코드를 사용.유연성: 타입에 구애받지 않고 동작.중복 제거: 동일한 기능을 여러 타입으로 구현할 필요 없음.C 언어에서 제네릭 프로그래밍C 언어는 템플릿(C++에서 제공)을 지원하지 않으므로, 매크로와 void * 포인터를 활용하여 제네릭 프로그래밍을 구현합니다.사용 사례데이터 구조(스택, 큐, 링크드 리스트 등)에서 다양한 데이터 타입 처리.정렬, 검색 알고리즘에서 데이터 타입 독립적 구현.13.2. Macros and Inline Functions / 매크로와 인라인 함수매크로를 .. 2024. 12. 15.
[C #17] 구조체(Structs), 공용체(Unions), 열거형(Enums) [C #17] 구조체(Structs), 공용체(Unions), 열거형(Enums)구조체(struct): 서로 다른 데이터 타입을 하나로 묶음.공용체(union): 여러 데이터 타입이 메모리를 공유.열거형(enum): 상수 집합에 이름 부여.구조체는 값을 직접 전달하거나 포인터를 통해 참조로 전달 가능. 구조체 (Structs)구조체의 개념정의: 서로 다른 데이터 타입을 하나로 묶는 사용자 정의 데이터 타입.용도: 관련된 데이터를 그룹화하여 관리.구조체 정의와 선언struct Point { int x; int y;};사용struct Point p1;p1.x = 10;p1.y = 20;printf("Point: (%d, %d)\n", p1.x, p1.y);구조체 초기화struct Point p2 .. 2024. 12. 14.
반응형