총 54개
-
자료구조 원형리스트 소스코드 구현2025.05.051. 원형 연결 리스트 이 코드는 원형 연결 리스트의 기본적인 연산들을 구현하고 있습니다. 원형 연결 리스트는 마지막 노드가 첫 번째 노드를 가리키는 특징이 있습니다. 이 코드에서는 노드 삽입, 삭제, 탐색, 역순 정렬, 두 개의 리스트 합병 등의 기능을 제공합니다. 이를 통해 원형 연결 리스트의 기본적인 동작을 이해할 수 있습니다. 1. 원형 연결 리스트 원형 연결 리스트는 데이터 구조 중 하나로, 마지막 노드가 첫 번째 노드를 가리키는 특징을 가지고 있습니다. 이를 통해 데이터의 순환적 구조를 구현할 수 있으며, 특히 메모리 관...2025.05.05
-
방통대 인공지능 중간과제물2025.01.251. 균일비용 탐색 균일비용 탐색(uniform-cost search)은 그래프에서 시작하는 노드에서 대상으로 하는 노드까지의 최적 경로를 찾기 위해서 가장 낮은 경로 비용을 사용하는 알고리즘이다. 그러므로, 균일비용 탐색은 최소의 비용에 의거하여 우선순위 큐의 방식을 참조해 트리의 가장 높은 곳의 정점인 루트의 노드부터 확장한다. 확장한 노드에서 후계노드가 발생하며, 경로비용은 g(ni) = g(n) + C (n, ni)로 확인된다. 이 때, g(n)은 출발노드부터 노드까지의 경로비용이며, 발생한 후계노드 중 C (n, ni)은 ...2025.01.25
-
자료구조 이진트리 탐색 소스 코드 구현2025.05.051. 이진 탐색 트리 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조입니다. 이 코드에서는 이진 탐색 트리에 노드를 삽입하고 삭제하는 함수를 구현하고 있습니다. 삽입 함수는 새로운 노드를 트리에 추가하고, 삭제 함수는 특정 키 값을 가진 노드를 트리에서 제거합니다. 또한 중위 순회 함수를 통해 트리의 노드들을 오름차순으로 출력할 수 있습니다. 1. 이진 탐색 트리 이진 탐색 트리는 데이터 구조 분야에서 매우 중요한 개념입니다. 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조로, 각 노드...2025.05.05
-
인공지능의 탐색방법: 깊이 우선 탐색과 너비 우선 탐색, 경험적 탐색방법2025.05.121. 깊이 우선 탐색 깊이 우선 탐색은 그래프의 한 쪽부터 깊이 있게 탐색하는 방법입니다. 첫째, 시작 노드에서 인접한 하나의 노드를 선택합니다. 둘째, 해당 노드를 기준으로 인접한 노드가 없을 때까지 탐색을 계속합니다. 마지막으로, 스택과 재귀함수를 사용하여 방문하지 않은 노드를 탐색할 수 있습니다. 깊이 우선 탐색은 모든 노드를 탐색할 수 있지만, 최단거리가 아닌 경우에 사용됩니다. 2. 너비 우선 탐색 너비 우선 탐색은 모든 경우를 탐색할 수 있으며, 단방향 최단거리를 탐색하는 데 유용합니다. 먼저 한 단계를 건너서 탐색을 하...2025.05.12
-
c로 배우는 쉬운 자료구조 개정3판 7단원 연습문제2025.01.171. 선형 자료구조 선형 자료구조가 아닌 것은 트리입니다. 트리는 계층적 자료구조로 선형 자료구조와는 다릅니다. 2. 이진 트리 트리를 표현할 때 가장 적합한 자료구조는 이진 트리입니다. 이진 트리는 각 노드가 최대 2개의 자식 노드를 가지는 트리 구조입니다. 3. 트리의 노드 트리의 노드 중 차수가 0인 노드를 리프 노드라고 합니다. 리프 노드는 자식 노드가 없는 단말 노드입니다. 4. 트리의 차수 주어진 트리의 차수는 3입니다. 트리의 차수는 트리에서 가장 많은 자식 노드를 가진 노드의 자식 수를 의미합니다. 5. 트리의 터미널...2025.01.17
-
[A+ 레포트] 인공지능 - A 알고리즘을 설명하고 생활 속의 알고리즘 예를 3가지 작성하세요2025.01.141. A* 알고리즘 A* 알고리즘은 경로 탐색 문제를 해결하는 효율적인 알고리즘으로, 시작 노드에서 목표 노드까지 가장 낮은 총 비용을 가지는 경로를 찾아낸다. 이 알고리즘은 각 노드에 대해 시작 노드로부터의 실제 비용과 해당 노드로부터 목표 노드까지의 추정 비용을 합한 값을 사용하여 비용을 계산한다. 이를 통해 효율적이고 정확한 탐색 결과를 제공한다. A* 알고리즘의 핵심은 휴리스틱 함수의 사용으로, 이 함수는 현재 노드로부터 목표 노드까지의 추정 거리를 계산하여 탐색 과정에서 선택할 노드를 결정하는 데 도움을 준다. 1. A* ...2025.01.14
-
C언어 자료구조 8장 트리 연습문제 해설2025.11.131. 트리 순회 방법 트리 순회는 모든 노드를 체계적으로 방문하는 방법입니다. 중위 순회는 왼쪽 노드 → 현재 노드 → 오른쪽 노드 순서로, 전위 순회는 현재 노드 → 왼쪽 노드 → 오른쪽 노드 순서로, 후위 순회는 왼쪽 노드 → 오른쪽 노드 → 현재 노드 순서로 진행됩니다. 레벨 순회는 트리의 높이 1부터 h까지 왼쪽에서 오른쪽으로 순회합니다. 이진 탐색 트리를 배열로 표현할 때 0번 인덱스를 비우면 부모-자식 노드 접근이 용이합니다. 2. 이진 탐색 트리(BST) 이진 탐색 트리는 각 노드의 왼쪽 서브트리는 해당 노드보다 작고 ...2025.11.13
-
인공지능 ) 균일비용 탐색 알고리즘 ) 언덕오르기 탐색 알고리즘 ) A 알고리즘 ) 알고리즘별 특성 비교 ) 문제 상황 정의 ) 탐색트리2025.05.131. 균일비용 탐색 알고리즘 균일비용 탐색(Uniform-Cost Search) 알고리즘이란 시작 상태에서 인접한 노드를 방문하고 그중에서 가장 비용이 적게 드는 상태를 선택한 다음 방문하지 않은 상태와 방문한 상태의 인접한 모든 상태에서 다음으로 가장 비용이 적은 상태를 선택하는 것을 반복하여 목표 상태에 도달하려고 시도하는 알고리즘이다. 균일비용 탐색은 상당히 효율적인 방법이지만 특정 문제에서는 무한 루프에 빠질 수 있다는 단점이 존재한다. 2. 언덕오르기 탐색 알고리즘 언덕 오르기 탐색(Hill-Climbing Search) ...2025.05.13
-
인공지능 ) a-h 지점을 연결하는 도로망에서 각 지점간 도로의 거리를 나타내는 그림, 각 지점에서 목적지인 h까지의 직선거리로, 각 도시2025.01.251. 상태공간 탐색 상태공간 탐색의 경우 탐색의 구성요소를 명확하게 하는 것으로부터 시작한다. 우선 초기 상태를 정의해야 하며, 목표 상태를 정의한다. 정의가 완료되면, 초기 상태 노드부터 노드를 확장해 나가면서 목표 노드까지 도달하는 경로를 연산자를 활용하여 탐색하면 된다. 2. A* 알고리즘을 이용한 최단경로 탐색 A* 알고리즘을 활용하여 최단 경로를 탐색하기 위해서는 평가함수를 정의해야 한다. 평가함수는 출발 노드에서 특정 노드 n까지 도달하는데 필요한 '실제 경로 비용'과 특정 노드 n부터 목표 노드까지 도달하는데 필요한 '...2025.01.25
-
C로 배우는 쉬운 자료구조 4판 7장 - 트리와 힙2025.11.161. 트리의 기본 개념 및 성질 트리는 계층적 구조를 가진 비선형 자료구조로, 루트 노드를 중심으로 자식 노드들이 연결된다. 트리의 차수는 노드의 차수 중 가장 큰 값이며, 단말 노드는 자식 노드가 없는 노드를 의미한다. n개의 노드를 가진 트리는 n-1개의 간선을 가지며, 이진 트리의 경우 각 노드가 최대 2개의 자식을 가진다. 루트 노드의 레벨이 1일 때, 높이가 k인 이진 트리의 최대 노드 수는 2^k-1이고 최소 노드 수는 k이다. 2. 이진 트리의 순회 방법 이진 트리의 순회는 전위(DLR), 중위(LDR), 후위(LRD)...2025.11.16
