총 33개
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
자료구조(프로그램을 자료구조와 알고리즘으로 나누어 설명)2025.01.031. 자료구조 자료구조는 데이터를 어떠한 형태로 저장하고 관리할 것인지에 대한 방법으로, 자료를 어떤 효율적 방법으로 저장할 것인가를 의미합니다. 프로그램을 구성하는 핵심 요소 중 하나입니다. 2. 알고리즘 알고리즘은 저장된 데이터를 찾거나 변형하거나 수정할 때 필요한 방법으로, 문제를 해결하기 위한 절차를 의미합니다. 프로그램을 구성하는 또 다른 핵심 요소입니다. 1. 자료구조 자료구조는 프로그래밍에서 매우 중요한 개념입니다. 데이터를 효율적으로 저장하고 관리하는 방법을 제공하기 때문에 복잡한 문제를 해결하는 데 필수적입니다. 배...2025.01.03
-
주로 많이 쓰이는 트리에는 여러 종류의 트리가 사용된다. 이진트리와 이진탐색트리가 쓰이는 사례를2025.01.221. 이진 트리 이진 트리는 모든 노드 차수가 2 이하인 트리로 공집합 혹은 하나의 뿌리 노드에서 왼쪽 부분의 트리와 오른쪽 부분으로 이루어진 유한한 집합 구조를 의미한다. 이러한 이진 트리에는 순서 트리, 오리엔티드 트리, 포화 이진 트리, 완전 이진 트리, 사향 이진 트리 등 여러 가지 종류가 있다. 이진 트리는 산술 표현식 등에 사용되는 사례가 있다. 2. 이진 탐색 트리 이진 탐색 트리는 이진 트리에서 모든 노드가 서로 다른 키 값을 가지고 이진 트리에서 임의의 노드 n에 대해 n의 키 값이 항상 n의 왼쪽 자식 노드의 키 ...2025.01.22
-
조정다각형과 재귀식을 활용한 Bezier 곡선 교점 구하기2025.01.291. Bezier 곡선 Bezier 곡선은 컴퓨터 그래픽스 분야에서 널리 사용되는 곡선 표현 방식입니다. 이 문제에서는 두 Bezier 곡선의 교점을 구하는 방법을 설명합니다. 조정다각형이 겹치면 Bezier 곡선을 반으로 나누고 나눈 곡선들의 조정다각형을 비교하여 교점을 찾습니다. 재귀함수를 사용해서 조정다각형의 크기가 매우 작을 때까지 루프를 반복합니다. 2. 조정다각형 조정다각형은 Bezier 곡선을 정의하는 데 사용되는 다각형입니다. 이 문제에서는 두 Bezier 곡선의 조정다각형을 비교하여 교점을 찾는 방법을 설명합니다. ...2025.01.29
-
[컴퓨터과학과]알고리즘_출석수업과제물2025.01.251. 오일러 경로 오일러 경로(Eulerian Trail)는 그래프에 존재하는 모든 간선을 정확히 한 번씩 방문하는 연속된 경로를 의미합니다. 각 정점의 차수가 홀수인 정점이 0개 혹은 2개 이어야 하며, 홀수점이 2개일 경우에는 홀수점에서 시작해야 합니다. 2. 배낭 문제 배낭의 용량을 초과하지 않는 범위 내에서 배낭에 들어있는 물체들의 이익의 합이 최대가 되도록 물체를 넣는 문제입니다. 물체를 쪼개서 넣을 수 있으며, 단위 무게당 이익이 가장 큰 물체부터 최대한 넣는 과정을 반복하여 해결할 수 있습니다. 3. 이진 탐색 이진 탐...2025.01.25
-
데이터 구조 및 알고리즘: 이진 탐색, 인접행렬, 인접리스트2025.11.151. 이진 탐색 이진 탐색은 정렬된 배열에서 특정 값을 효율적으로 찾는 검색 알고리즘입니다. 분할 정복 전략을 활용하여 탐색 범위를 반으로 줄이면서 목표값을 찾습니다. 시작점, 중간점, 종료점을 기준으로 중간값을 검사하여 범위를 조정합니다. 예를 들어 배열 [10, 24, 31, 45, 59, 63, 72, 88, 95]에서 63을 찾을 때, 중간값 45와 비교하여 오른쪽 범위로 조정하고, 다시 72와 비교하여 왼쪽 범위로 조정한 후 63을 찾습니다. 대규모 데이터셋에서 검색 작업의 효율성을 크게 증대시킵니다. 2. 인접행렬 인접행...2025.11.15
-
클라우드 서비스 아키텍처 MOOC 이수 보고서2025.11.161. 클라우드 서비스 아키텍처 클라우드 서비스 아키텍처에서 서비스는 무형의 재화를 의미하며, 소프트웨어 시스템 차원에서는 서비스와 연관된 소프트웨어 기능들의 모임입니다. 서비스 기반 아키텍처의 목표는 표준을 적용하여 다양한 시스템들이 서로 연동되도록 하고, 기존의 유용한 소프트웨어 요소들(COTS)을 활용하여 애플리케이션 개발 효율성을 높이는 것입니다. 2. 소프트웨어 시스템 아키텍처 설계 소프트웨어 시스템 아키텍처는 시스템의 조직 구성뿐만 아니라 시스템 개발에 관한 중요한 결정들의 집합입니다. 아키텍처 설계는 아키텍처 스타일과 패...2025.11.16
-
세종대 자료구조실습 3주차 재귀 실습 코드2025.11.121. 재귀함수(Recursion) 재귀함수는 함수가 자기 자신을 호출하는 프로그래밍 기법입니다. 이 실습에서는 재귀함수의 기본 개념을 학습하며, 종료 조건(base case)을 설정하여 무한 루프를 방지합니다. 예제들은 숫자의 합 계산, 숫자 자릿수 출력, 배열의 최댓값 찾기 등 다양한 문제를 재귀로 해결하는 방법을 보여줍니다. 2. 하노이탑 알고리즘(Tower of Hanoi) 하노이탑은 재귀 알고리즘의 고전적인 예제입니다. n개의 원반을 시작 기둥에서 목표 기둥으로 옮기는 문제로, 더 큰 원반이 작은 원반 위에 올 수 없다는 규...2025.11.12
-
구조적방법론, 정보공학방법론, 객체지향 방법론의 특징과 장단점2025.05.091. 구조적방법론 구조 방법론은 1970년대까지 소프트웨어 개발 방법론에서 가장 많이 활용되었다. 기능에 따라 전체 시스템을 분리해 개발하고 이를 통합하는 분할과 정복 방법의 방법론이다. 모든 논리를 순차적, 선별적, 반복적으로 처리하는 방식으로 구성되며 정형화된 분석 프로그램에 따라 요구 사항을 파악하고 그래픽 중심의 그래프를 이용하여 문서화한다. 구조 방법론의 장점은 요구 사항을 명확하게 추출하고 설계에 반영하기 때문에 정형화되고 체계적이며, 모듈화로 인해 유지보수 기능과 효율적인 재사용이 가능하다. 단점은 방법론에 대한 다양한...2025.05.09
-
알고리즘: 재귀적 성질과 알고리즘 사례2025.01.151. 재귀적(Recursive) 성질의 의미 재귀적 성질은 반복적으로 스스로를 이용하여 정의하거나 응용하는 성질이며, 자기 자신을 호출하거나 사용하게 되는 것을 의미한다. 수학 분야에서는 자기 자신을 다시 이용하여 대상을 정의하는 것을 말하며, 신호처리 및 시스템 분야에서는 출력이 다시 입력으로 되돌아가서 사용되는 것을 뜻한다. 또한 프로그래밍에서의 재귀적 성질은 반복 연산 등과 같이 자기 자신을 다시 호출하는 프로그램을 말한다. 2. 재귀적 알고리즘과 그렇지 않은 경우의 차이점과 특징 재귀적 알고리즘(Recursive Algori...2025.01.15
