[LUA]分布式计算中任务拓扑调度

[LUA]分布式计算中任务拓扑调度,第1张

概述[LUA]分布式计算中任务拓扑调度

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

local DAG = {	vset = {}}function DAG.addVertex(G,v)	assert(v ~= nil,"cannot add nil as vertex")	assert(G.vset[v] == nil,"vertex already in graph")	G.vset[v] = {};	return G;endfunction DAG.addDirectedEdge(G,from,to)	assert(from ~= nil and to ~= nil,"cannot add nil vertex to edge")	assert(G.vset[from] ~= nil and G.vset[to] ~= nil,"vertex is not in graph.")	G.vset[from][to] = 1;	return G;endlocal function _topology(G,order)	assert(order ~= nil and type(order) == "table","the parameter order is either nil or not a table");	if next(G.vset) == nil then return order end	local removed = {};	for column,_ in pairs(G.vset) do		local remove = true;		repeat			for _,row in pairs(G.vset) do				if row[column] == 1 then					remove = false;					break;				end			end		until true		if remove then 			table.insert(removed,column);		end	end	assert(next(removed) ~= nil,"cycle found in DAG")	table.insert(order,removed);	for _,v in pairs(removed) do		for column,_ in pairs(G.vset) do			if v == column then G.vset[column] = nil end		end	end	return _topology(G,order);endfunction DAG.topology(G)	assert(next(G.vset) ~= nil,"cannot topology against a nil DAG")	return _topology(G,{})endreturn DAG

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的[LUA]分布式计算中任务拓扑调度全部内容,希望文章能够帮你解决[LUA]分布式计算中任务拓扑调度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1278307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存