총 6개
-
컴퓨터적 사고 최단거리 검색 알고리즘 A+2025.01.041. 컴퓨터적 사고 현대 사회에서 빠른 길을 찾는 것은 필수적이 되었습니다. 네비게이터와 같은 기기는 컴퓨팅 사고력을 바탕으로 최단거리를 찾아 제공합니다. 다익스트라 알고리즘은 하나의 정점에서 다른 모든 정점으로 가는 최단 거리를 구하는 알고리즘으로, 이를 통해 목적지까지의 최단경로를 찾을 수 있습니다. 이 알고리즘은 우리 생활의 다양한 분야에서 활용되고 있으며, 컴퓨팅 사고력 향상에도 도움이 됩니다. 2. 최단거리 검색 알고리즘 다익스트라 알고리즘은 출발 노드를 설정하고, 각 노드의 거리를 저장한 뒤, 방문하지 않은 노드 중 가장...2025.01.04
-
연결형 자료구조를 이용한 다항식의 계산 프로그래밍2025.01.131. 다항식 계산 프로그래밍 이 프로그래밍 과제에서는 연결형 자료구조를 이용하여 다항식의 계산을 구현하였습니다. 다항식의 항을 표현하는 구조체를 정의하고, 다항식을 입력받아 연결 리스트로 구성하는 함수, 두 다항식을 더하는 함수, 두 다항식을 곱하는 함수 등을 구현하였습니다. 이를 통해 연결 리스트, 포인터 연산, 알고리즘 설계의 중요성을 배웠고, 프로그래밍 경험을 쌓을 수 있었습니다. 2. 연결 리스트 이 프로그래밍 과제에서는 다항식을 연결 리스트로 표현하였습니다. 연결 리스트는 동적 메모리 할당을 통해 구현되며, 각 항목은 다음...2025.01.13
-
[A+ 레포트] 인공지능 - A 알고리즘을 설명하고 생활 속의 알고리즘 예를 3가지 작성하세요2025.01.141. A* 알고리즘 A* 알고리즘은 경로 탐색 문제를 해결하는 효율적인 알고리즘으로, 시작 노드에서 목표 노드까지 가장 낮은 총 비용을 가지는 경로를 찾아낸다. 이 알고리즘은 각 노드에 대해 시작 노드로부터의 실제 비용과 해당 노드로부터 목표 노드까지의 추정 비용을 합한 값을 사용하여 비용을 계산한다. 이를 통해 효율적이고 정확한 탐색 결과를 제공한다. A* 알고리즘의 핵심은 휴리스틱 함수의 사용으로, 이 함수는 현재 노드로부터 목표 노드까지의 추정 거리를 계산하여 탐색 과정에서 선택할 노드를 결정하는 데 도움을 준다. 1. A* ...2025.01.14
-
분할 정복 알고리즘의 특징과 적용 시 주의사항2025.01.151. 분할 정복 알고리즘 분할 정복 알고리즘은 큰 문제를 작은 문제로 분할하여 각각을 해결하고, 그 결과를 이용해 전체 문제를 해결하는 알고리즘입니다. 이 알고리즘은 재귀적인 방법으로 구현되며, 대표적인 예로는 이진 탐색, 병합 정렬, 퀵 정렬 등이 있습니다. 분할 정복 알고리즘은 빠른 속도, 쉬운 병렬화, 유연성 등의 장점이 있지만, 추가적인 메모리 요구, 최악의 경우 시간 복잡도, 구현의 복잡성 등의 단점도 있습니다. 2. 분할 정복 알고리즘의 특징 분할 정복 알고리즘의 주요 특징은 다음과 같습니다. 첫째, 분할된 문제들은 크기...2025.01.15
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
알고리즘 조건 정리2025.01.091. 알고리즘의 정의 알고리즘은 주어진 문제를 해결하기 위한 단계적인 절차를 의미합니다. 함수를 계산하기 위하여 모호함이 없는 간단한 명령어로 구성된 일련의 순차적 단계이며, 컴퓨터에서 어떤 일을 하는 절차를 알고리즘으로 표현하기 위해 다양한 명령어를 사용합니다. 또한, 알고리즘은 특정한 일을 수행하는 명령어들의 집합이며, 대부분의 알고리즘은 유한한 수의 규칙을 사용하고 언젠가는 끝나야 하는 속성을 지니고 있습니다. 2. 알고리즘의 목표 알고리즘은 단순히 원하는 결과를 얻을 수 있을 뿐만이 아니라 문제 해결을 위해 알고리즘을 구현할...2025.01.09