Computer Science/Algorithm(3)
-
검색
1. 검색 알고리즘 주소록에서 검색 기능을 활용하여 20대 초반 한국인 김철수를 찾는다고 해보자. 검색에는 다음과 같은 프로세스가 진행된다. 1. 나이가 20살 이상 23살 이하인 사람을 찾는다 2. 국적이 한국인 사람을 찾는다. 3. 문자열이 '김철수'와 가장 비슷한 사람을 찾는다. 위 프로세스에서 알 수 있듯, 검색은 특정 항목에 주목하여 과정을 수행한다. 이때 주목하는 특정 항목을 key라고 한다. 1번 과정에서는 나이가 key이고, 2번 과정에서는 국적이 key 값이다. key 시점에서 검색 과정을 살펴보면 다음과 같다. 1. 키 값의 구간을 지정합니다(key : 20 ~ 23) 2. 키 값과 일치하도록 지정합니다(key : 한국) 3. 키 값과 비슷하도록 지정합니다(key : 김철수) 검색에 대..
2024.03.02 -
기본 자료구조
1. 자료구조 이번 글에서는 기본적이고 간단한 자료구조인 배열에 대해서 살펴보자. 들어가기에 앞서 자료구조에 대해 살펴보자. 자료구조(data structure): 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계. 배열, 큐, 스택 등이 이에 포함된다. 2. 배열 배열은 다음과 같은 형식으로 이루어져 있다. 자료형 배열이름[요소개수] 대학교에서 학생들의 성적을 관리할 때, 각 학생의 이름을 따서 변수를 만든다고 가정해보자. "철수", "영희", "지은"... 학생 수가 많아질수록 입력과정에서 오타가 날 수도 있고, 동명이인의 경우 처리하기 힘들어진다. 이때 학번이라는 번호로 관리하는 것이 편하다. 대학교에서 이 '학번'이, c언어에서 '배열'이다. GPT에게 배열의 장점을 물어보니 아래와 같..
2024.02.29 -
기본 알고리즘
1. 알고리즘이란 알고리즘은 다음과 같이 정의할 수 있다. "문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합" 예를 들어 보자, 아래의 코드는 세 수를 입력받아 최댓값을 구하는 프로그램이다. #include int find_max(int n1, int n2, int n3) { int max = n1; if (n2 > max) max = n2; if (n3 > max) max = n3; return max; } int main() { printf("%d, %d, %d 중 최대값: %d\n", 1, 2, 3, find_max(1, 2, 3)); //최댓값은 3 printf("%d, %d, %d 중 최대값: %d\n", 23, 54, 25, find_max(23,..
2024.02.25