728x90
반응형

c언어 개발 3

[C언어] 기초 자료구조 - 해시(Hash)

1. 해시(Hash)란?해시는 키(Key)를 기반으로 데이터를 저장하고 검색하는 데 사용되는 자료구조. 해싱(Hashing)기법을 통해 키를 해시 함수(Hash Function)로 처리하여 고유한 해시 값(Hash Value)을 생성.특징데이터의 삽입, 삭제, 검색을 O(1) 시간 복잡도로 처리동일한 해시 값이 발생할 경우 충돌(Collision)이 발생할 수 있음활용 사례데이터베이스 인덱싱캐싱암호화 알고리즘집합(Set)과 맵(Map) 구현2. 해시 테이블(Hash Table)의 구조키(Key): 고유한 값(문자열, 정수 등).해시 함수(Hash Function)키를 일정 범위의 정수로 변환.예: hash(key) = key % table_size해시 테이블배열 기반 자료구조로, 해시 값을 인덱스로 사용..

개발/C 2025.01.22

[C언어] 기초 자료구조 - 스택(Stack)

1. 스택(Stack)이란?스택은 후입선출(LIFO, Last In First Out) 방식으로 동작하는 자료구조입니다.특징데이터가 맨 위(top)에서만 삽입(push)되고 삭제(pop)됨.제한된 접근 방식으로 특정 위치의 데이터를 바로 접근할 수 없음.활용 사례함수 호출(재귀 호출 관리)괄호 짝 검사되돌리기(Undo) 기능동작 원리Push: 데이터를 스택의 맨 위에 추가.Pop: 데이터를 스택의 맨 위에서 제거.Peek(Top): 스택의 맨 위 요소를 반환하지만 제거하지 않음.IsEmpty: 스택이 비어 있는지 확인.2. 배열 기반 스택 구현스택을 배열로 구현 시 고정된 크기의 정적 스택을 만들 수 있음.#include #define MAX 5 // 스택의 최대 크기int stack[MAX];int t..

개발/C 2025.01.21

[C언어] 기초 자료구조 - 문자열

1. 문자열이란?문자열은 문자(char)들의 연속으로 이루어진 데이터. C언어에서는 문자열을 널문자('\0')로 끝나는 문자 배열로 표현.특징문자열은 char 배열로 저장됨.문자열 끝에는 항상 '\0'이 추가됨.문자열 처리에는 라이브러리를 사용.예시 코드#include int main() { char str[] = "Hello, World!"; printf("%s\n", str); // 문자열 출력 return 0;}2. 문자열 선언 및 초기화문자열 선언 방법char str[20] = "Hello";초기화 시 주의점배열 크기를 지정하면 남은 공간은 자동으로 '\0'으로 채워짐.배열 선언 시 크기보다 긴 문자열은 저장할 수 없음.예시 코드#include int main() { cha..

개발/C 2025.01.21
728x90
반응형