총 36개
-
데이터 탐색 방법 선택을 위한 정렬 여부 확인2025.05.081. 순차 탐색 순차 탐색은 데이터 배열의 처음부터 끝까지 비교하며 탐색하는 방법으로, n개의 데이터에 대해 평균 (n+1)/2의 탐색이 필요하며 최악의 경우 n번의 비교가 필요하다. 2. 이진 탐색 이진 탐색은 정렬된 데이터에 대하여 배열의 중간값을 기준으로 계속 자르는 방식으로 탐색을 진행하며, n개의 데이터에 대해 최대 log₂n의 비교가 필요하다. 3. 데이터 정렬 여부 확인 순차 탐색을 진행할 때는 데이터 정렬 여부가 필요 없지만, 이진 탐색을 할 때는 배열이 정렬되어 있는지 확인하는 것이 가장 중요하다. 데이터의 규모에 ...2025.05.08
-
C언어 사다리타기 게임, 게임 조작하기 소스코드2025.04.271. C 프로그래밍 이 코드는 C 언어로 작성된 사다리 타기 게임 프로그램입니다. 5명의 참가자가 있으며, 랜덤으로 사다리 구조가 생성됩니다. 사용자는 원하는 결과대로 사다리를 조작할 수 있습니다. 이를 위해 사다리 구조를 동적으로 변경하는 기능이 구현되어 있습니다. 2. 게임 프로그래밍 이 코드는 사다리 타기 게임을 구현한 것으로, 게임 로직과 사용자 입력 처리, 그래픽 출력 등 게임 프로그래밍의 기본적인 요소들이 포함되어 있습니다. 특히 사다리 구조를 조작하는 기능은 게임 개발에서 자주 사용되는 기술 중 하나입니다. 3. 랜덤 ...2025.04.27
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
-
데이터베이스 A+과제2025.01.021. ER 다이어그램 ER 다이어그램은 개념적 데이터 모델의 대표적인 모델로, 피터 첸에 의해 제시되었습니다. ER 다이어그램은 개체(Entity), 속성(Attribute), 관계(Relationship)를 사용하여 데이터를 논리적으로 표현합니다. 개체는 단독으로 존재하는 객체이며, 속성은 개체의 특징을 나타냅니다. 관계는 개체들 간의 관계를 나타내며, 1:1, 1:N, N:M 등의 관계를 표현할 수 있습니다. ER 다이어그램은 피터 첸 표기법, 바커 표기법, 정보 공학 표기법 등 다양한 표기법으로 나타낼 수 있습니다. 1. ER...2025.01.02
-
인하대 데이터구조 12주차 Homework 4 크루스칼 알고리즘2025.05.031. 크루스칼 알고리즘 크루스칼 알고리즘은 가중치가 있는 무방향 그래프에서 최소 신장 트리를 찾는 알고리즘입니다. 이 알고리즘은 다음과 같은 단계로 진행됩니다: 1) 그래프의 정점 수와 간선 수를 입력받습니다. 2) 그래프를 구성하고 초기화합니다. 3) 간선들을 가중치 순으로 정렬합니다. 4) 다음 간선이 사이클을 만들지 않으면 결과에 추가합니다. 5) 결과에 포함된 간선의 수가 정점 수 - 1이 되면 종료합니다. 6) 최소 신장 트리의 간선과 가중치를 출력합니다. 1. 크루스칼 알고리즘 크루스칼 알고리즘은 최소 신장 트리(Mini...2025.05.03
-
프림(Prim)의 최소 신장 트리 알고리즘(PrimMST) 수행 과정2025.05.011. 프림(Prim)의 최소 신장 트리 알고리즘 프림의 최소 신장 트리 알고리즘은 그래프에서 최소 비용의 신장 트리를 찾는 알고리즘입니다. 이 알고리즘은 임의의 시작점에서 시작하여 단계적으로 정점을 추가하면서 최소 비용의 신장 트리를 구축합니다. 이 과정을 단계별로 자세히 설명하면 다음과 같습니다. 1. 프림(Prim)의 최소 신장 트리 알고리즘 프림의 최소 신장 트리 알고리즘은 그래프 이론에서 널리 사용되는 중요한 알고리즘입니다. 이 알고리즘은 가중치가 있는 무방향 그래프에서 최소 비용의 신장 트리를 찾는 데 사용됩니다. 프림 알...2025.05.01
-
파이썬프로그래밍 ) 리스트에 대해 설명하고, 리스트를 만드는 방법과 리스트 자르기를 예를 들어 설명하시오.2025.01.191. 리스트 리스트는 아이템들의 수집(collection)을 위해 사용되는 기본 데이터 구조 중 하나이다. 이렇게 리스트 내에 저장된 아이템들은 원소(element)라고 불린다. 파이썬에서 아이템을 저장하고 다루는 방법은 딕셔너리나 튜플 등 여러 가지가 있지만 리스트(list)와 가장 많이 비교되는 것은 배열(array)이다. 리스트와 배열은 원소를 조작하는 방식이나 목적이 비슷하여 상호 호환 가능하지만, 메모리 관리, 원소의 조작 및 사칙연산 등 몇 가지 부분에서는 차이점을 보인다. 2. 리스트 생성 방법 리스트의 생성 방법은 대...2025.01.19
-
정렬 알고리즘 중 선택 정렬, 버블 정렬, 퀵 정렬, 병합 정렬에 대한 설명2025.01.151. 선택 정렬 선택 정렬은 주어진 데이터 내에서 특정 위치에 맞는 자료를 선택해 위치를 교환하는 알고리즘입니다. 구현이 간단하고 추가적인 메모리를 사용하지 않는다는 장점이 있지만, 항상 전체 데이터를 비교하고 정렬하므로 비효율적이라는 단점이 있습니다. 2. 버블 정렬 버블 정렬은 인접한 두 항목의 값을 비교한 뒤, 기준을 만족하면 두 값을 교환하여 정렬하는 방식입니다. 개념이 단순하기에 프로그래밍하기 쉽다는 장점이 있지만, 연산의 횟수가 데이터의 크기에 따라 기하급수적으로 증가하기 때문에 정렬에 걸리는 시간이 오래 걸린다는 단점이...2025.01.15
-
정렬 알고리즘 중 선택 정렬, 버블 정렬, 퀵 정렬, 병합 정렬에 대해 설명하시오2025.01.151. 선택 정렬 선택 정렬은 가장 간단한 정렬 알고리즘 중 하나이다. 리스트에서 가장 작은 항목을 선택하여 순서대로 정렬하는 방식이다. 이는 다른 정렬 알고리즘에 비해 구현이 간단하고 이해하기 쉽다. 그러나 시간 복잡도가 O(n^2)으로 큰 데이터셋에서는 비효율적이다. 2. 버블 정렬 버블 정렬은 인접한 두 요소를 비교하고 필요에 따라 위치를 교환하는 정렬 알고리즘이다. 리스트를 한 번 훑어서 가장 큰 요소를 맨 끝으로 보내는 과정을 반복하여 정렬한다. 선택 정렬과 마찬가지로 구현이 간단하지만 시간 복잡도가 O(n^2)이므로 큰 데...2025.01.15
