Câu hỏi:
26/06/2024 110Sửa lại chương trình bổ sung thông báo nếu hệ thống chuyên đề không hợp lí thì thông báo dãy các chuyên đề có mâu thuẫn về kiến thức.
Quảng cáo
Trả lời:
Phiên bản mẫu gợi ý sửa đổi của chương trình để bổ sung thông báo nếu hệ thống chuyên đề không hợp lý và hiển thị dãy các chuyên đề có mâu thuẫn về kiến thức:
def DFS(graph, start, visited, stack):
visited[start] = True
for neighbor in graph[start]:
if not visited[neighbor]:
DFS(graph, neighbor, visited, stack)
stack.append(start)
def topological_sort(graph):
num_nodes = len(graph)
visited = [False] * num_nodes
stack = []
for node in range(num_nodes):
if not visited[node]:
DFS(graph, node, visited, stack)
return stack[::-1]
def is_valid_system(topological_order, prerequisites):
knowledge = set()
for course in topological_order:
knowledge.add(course)
if course in prerequisites:
for prerequisite in prerequisites[course]:
if prerequisite not in knowledge:
return False, [course, prerequisite]
return True, None
def check_course_system(prerequisites):
graph = {}
for course, prereq in prerequisites.items():
if course not in graph:
graph[course] = []
graph[course].extend(prereq)
topological_order = topological_sort(graph)
valid, conflicting_topics = is_valid_system(topological_order, prerequisites)
if valid:
print("Hệ thống chuyên đề hợp lý.")
else:
print("Hệ thống chuyên đề không hợp lý.")
print("Dãy các chuyên đề có mâu thuẫn về kiến thức:", conflicting_topics)
# Dữ liệu chuyên đề và tiên điều kiện
prerequisites = {
"A": ["B"],
"B": ["C"],
"C": ["D"],
"D": ["A"] # Mâu thuẫn về kiến thức với tiên điều kiện của D
}
# Kiểm tra hệ thống chuyên đề
check_course_system(prerequisites)
Hot: 500+ Đề thi thử tốt nghiệp THPT các môn, ĐGNL các trường ĐH... file word có đáp án (2025). Tải ngay
Đã bán 1,5k
Đã bán 1,4k
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Trong lí thuyết đồ thị, chu trình được định nghĩa là một đường đi không tầm thường khép kín, tức là đường đi có số cạnh lớn hơn 1 và đỉnh xuất phát trùng với đỉnh kết thúc. Làm cách nào để kiểm tra một đồ thị cho trước có chu trình hay không?
Câu 2:
Hàm kiểm tra chu trình của đồ thị trên còn đúng không nếu đồ thị ban đầu là vô hướng?
Câu 3:
Mở rộng bài tập trên cho đồ thị có hướng bất kì G = (V, E), được biểu diễn bởi ma trận kề A hoặc danh sách kề Adj. Viết hàm kiểm tra xem đồ thị G có chu trình hay không, nếu có thì hiển thị trên màn hình chu trình đó, bao gồm dãy các đỉnh tham gia vào chu trình.
Câu 4:
Viết lại hàm kiểm tra chu trình DFS_acyclic(Adj,s) trong chương trình trên nhưng sử dụng phương án không đệ quy của thuật toán DFS.
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 19 có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 23 có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 24 có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 22 có đáp án
Trắc nghiệm tổng hợp Tin học năm 2023 có đáp án (Phần 4)
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 25 có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 20 có đáp án
15 câu Trắc nghiệm Tin học 12 Kết nối tri thức Bài 16 có đáp án
Hãy Đăng nhập hoặc Tạo tài khoản để gửi bình luận