Exemple #1
0
def get_available_options(completed_courses):
	options = []
	for course in courses:
		if course not in completed_courses:
			if get_dependencies(course) == []:
				options.append(course)
			else:
				dep_set = set(get_dependencies(course))
				completed_set = set(completed_courses)
				if dep_set.issubset(completed_set):
					options.append(course)
	return options
Exemple #2
0
def build_graph():
	g = Graph(True)
	for course in courses:
		g.add_node(Node(course, courses[course]))
	for course in courses:
		for next_course in get_dependencies(course):
			g.connect(course, next_course)

	return g