
총 108개
-
인하대 데이터구조 3주차 Homework01 하노이의 탑2025.05.031. 하노이의 탑 하노이의 탑은 재귀적으로 구현할 수 있는 문제로, 입력 n에 대해 2^n - 1번의 이동이 필요합니다. 이 문제에서는 재귀 함수를 사용하여 하노이의 탑을 구현하고, 시간 복잡도와 공간 복잡도를 분석했습니다. 64개의 원판이 있는 경우 약 1.844674407 x 10^19번의 이동이 필요합니다. 1. 하노이의 탑 하노이의 탑은 고대 수학 퍼즐로, 세 개의 기둥과 n개의 원판으로 구성되어 있습니다. 이 퍼즐의 목표는 모든 원판을 한 기둥에서 다른 기둥으로 옮기는 것입니다. 이 과정에서 큰 원판이 작은 원판 위에 놓이...2025.05.03
-
인하대 데이터구조 5주차 Homework02 infix, postfix2025.05.031. 데이터 구조 이 프레젠테이션은 인하대학교 데이터 구조 수업의 5주차 과제인 infix와 postfix 변환에 대해 다루고 있습니다. 문제 정의, 알고리즘, 코드 설명 등을 통해 infix 수식을 postfix 수식으로 변환하는 방법을 설명하고 있습니다. 스택의 역할이 중요하며, 예외 처리도 포함되어 있습니다. 1. 데이터 구조 데이터 구조는 데이터를 효율적으로 저장하고 관리하기 위한 방법입니다. 데이터 구조는 데이터의 특성과 사용 목적에 따라 다양한 형태로 구현될 수 있습니다. 예를 들어 배열, 연결 리스트, 스택, 큐, 트리...2025.05.03
-
인하대 데이터구조 9주차 Homework3 Maxheap2025.05.031. Max Heap 이 프레젠테이션은 Max Heap 자료구조를 다루는 프로그램을 작성하는 방법에 대해 설명합니다. 프로그램은 사용자로부터 명령을 받아 Max Heap에 대한 다양한 작업을 수행할 수 있습니다. 이러한 작업에는 요소 삽입, 삭제, 최대값 출력, 특정 순위 요소 삭제 및 출력, 전체 요소 출력 등이 포함됩니다. 프로그램은 입력 오류 처리 기능도 포함하고 있어 잘못된 입력이 들어오는 경우에도 계속해서 입력을 받을 수 있습니다. 1. Max Heap Max Heap은 완전 이진 트리 구조를 가지며, 각 노드의 값이 자식...2025.05.03
-
머신러닝 출석수업 만점 과제2025.01.251. 머신러닝 머신러닝은 인공지능의 한 분야로, 데이터를 이용하여 알고리즘을 학습시켜 문제를 해결하는 기술입니다. 이 과제는 머신러닝 수업의 출석수업 과제물로, 코드 작성과 컴파일 결과를 포함하고 있습니다. 1. 머신러닝 머신러닝은 인공지능 기술의 핵심 분야로, 데이터를 기반으로 학습하고 예측하는 능력을 갖추고 있습니다. 이를 통해 다양한 분야에서 효율적이고 정확한 의사결정을 내릴 수 있습니다. 특히 의료, 금융, 제조업 등 많은 산업 분야에서 머신러닝 기술이 활용되고 있으며, 앞으로도 그 활용 범위가 더욱 확대될 것으로 예상됩니다...2025.01.25
-
마이크로컨트롤러 시스템 개발 과정에 대해 설명하시오2025.01.271. 마이크로컨트롤러 시스템 개발 과정 마이크로컨트롤러 시스템 개발 과정은 하드웨어 제작, 소스 프로그램 작성, 컴파일, 시뮬레이션, ROM화, 타깃 보드 탑재, 동작 확인의 순서로 진행됩니다. 하드웨어 제작에는 인두기, 인두기 스탠드, 니퍼, 롱 노즈, 스트리퍼, 납 흡입기 등의 도구가 필요합니다. 소프트웨어 작성은 순서도 작성, 코딩, 디버깅의 단계로 이루어집니다. 프로그램 실행은 원시 파일 작성, 컴파일, 링크 및 HEX 파일 생성, ROM화 및 실행의 과정을 거칩니다. 2. 마이크로컨트롤러 소프트웨어 제작 순서 마이크로컨트롤...2025.01.27
-
알고리즘 조건 정리2025.01.091. 알고리즘의 정의 알고리즘은 주어진 문제를 해결하기 위한 단계적인 절차를 의미합니다. 함수를 계산하기 위하여 모호함이 없는 간단한 명령어로 구성된 일련의 순차적 단계이며, 컴퓨터에서 어떤 일을 하는 절차를 알고리즘으로 표현하기 위해 다양한 명령어를 사용합니다. 또한, 알고리즘은 특정한 일을 수행하는 명령어들의 집합이며, 대부분의 알고리즘은 유한한 수의 규칙을 사용하고 언젠가는 끝나야 하는 속성을 지니고 있습니다. 2. 알고리즘의 목표 알고리즘은 단순히 원하는 결과를 얻을 수 있을 뿐만이 아니라 문제 해결을 위해 알고리즘을 구현할...2025.01.09
-
재귀적 성질과 재귀적 알고리즘의 특징2025.01.281. 재귀적 알고리즘의 개념 재귀적 알고리즘은 자기 자신을 반복적으로 호출하여 문제를 해결하는 알고리즘을 말한다. 이는 기본적으로 하나의 큰 문제를 여러 개의 작은 문제로 나누고, 이 작은 문제들을 해결하면서 최종적인 답을 도출하는 구조를 가진다. 재귀 알고리즘의 기본 구조는 기저 조건(Base case)과 재귀 단계(Recursive step)로 구성된다. 2. 재귀적 알고리즘과 비재귀적 알고리즘의 차이점 재귀적 알고리즘은 문제를 직관적이고 간결하게 표현할 수 있지만, 재귀 호출이 반복되면서 스택 메모리를 사용하므로 문제의 크기가...2025.01.28
-
장원사이버 평생교육원 컴퓨터공학 토론 과제, 평균 9.7/10점, 전체 A+, (C언어1, 알고리즘, 운영체제)2025.01.231. C언어 함수 사용의 장점 C언어에서는 함수를 이용하여 프로그램을 작성하고 있습니다. 함수를 사용하지 않고 작성한 프로그램을 함수로 사용해서 작성했을때의 장점을 적절한 예시를 통하여 생각해 보세요. 숫자 배열의 평균을 구하는 프로그램을 구현한다고 가정하고 함수의 장점을 생각해 보고자 한다. 먼저 코드 재사용으로 중복을 줄일 수 있다. 평균을 구하고자 하는 배열이 하나면 상관없지만 여러 개일 경우 코드가 길어지게 된다. 하지만 평균을 구하는 과정을 함수로 작성하고, 구하고자 하는 배열을 매개변수로 넣어 함수를 호출하면 평균을 구하...2025.01.23
-
방통대 알고리즘 출석과제물2025.01.241. 빅오 함수 입력 크기 n에 대한 빅오 함수들을 성능 관점에서 가장 나쁜 것부터 차례대로 나열하면 O(2^n) -> O(n^3) -> O(n^2) -> O(nlogn) -> O(n) -> O(logn) -> O(1)이다. 수행시간에 비례한 효율성을 고려할 경우 n의 값이 증가하면 연산 시간도 증가하며, 뚜렷한 차이를 보인다. 따라서 시간 복잡도 함수식의 결과로 수행시간의 효율성을 증명할 수 있다. 2. 이진 탐색 이진 탐색의 점화식은 T(n) = O(1)일 때 n=1, T(n/2) + O(1)일 때 n>=2이며, 폐쇄형은 T(n...2025.01.24
-
알고리즘_혁신의 종류에 대하여 구체적으로 설명하시오2025.01.271. 그리디 알고리즘의 최적화 결과 그리디 알고리즘은 최적해를 구하기 위해 활용하는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때 '탐욕'이란 뜻처럼 가장 최적의 해만을 선택하는 과정으로 최종적인 해답에 도달한다. 거스름돈 문제는 그리디 알고리즘이 최적화 알고리즘이 될 수 있는 사례로, 가장 큰 화폐 단위 동전부터 선택해 거슬러 주는 방식으로 최소 동전 개수를 구할 수 있다. 2. 그리디 알고리즘의 비최적화 결과 그리디 알고리즘이 최적화 알고리즘이 되지 못하는 사례로 도둑의 가방 문제를 들 수 있다. 가방에 담을 수 있는...2025.01.27