class Graph:
	''' 1: Eine Implementierung des Graph-Interface'''
	def __init__(self):
		# dein Code   
		pass

	
	def add_node(self, node):
		# dein Code   
		pass
	
	def add_edge(self, source, target):
		# dein Code   
		pass    

	def has_edge(self, source, target):
		# dein Code   
		pass
	
	def indeg(self, node):
		# dein Code   
		pass
	
	def outdeg(self, node):
		# dein Code   
		pass

	def nodes(self):
		# dein Code   
		pass


	def edges(self):
		# dein Code   
		pass

	def bfs(self, node):
		# dein Code   
		pass

	def dfs(self, node):
		# dein Code   
		pass
	
	#2, Methode 
	def get_undirected_graph(self):
		# dein Code   
		pass

	#3: Zyklustest
	def has_cycle(self):
		# dein Code   
		pass

#2, die Klasse
class UndirectedGraph(Graph):	   
	# dein Code   
	pass

