首页 / 知识
关于算法:图形序列化
2023-04-11 19:02:00

Graph serialization我正在寻找一种简单的算法来"序列化"有向图。 特别是,我有一组文件,它们的执行顺序相互依赖,我想在编译时找到正确的顺序。 我知道这一定是很常见的事情-编译器一直都在做-但是我的google-fu今天很薄弱。 什么是"去"算法? 拓扑排序(来自维基百科):
伪代码:
如果图形包含循环,那么如何存在文件的允许执行顺序? 我希望需要这样的工具能够以深度优先的方式在树上行走,当它们碰到叶子时,只需对其进行处理(例如编译)并将其从图形中删除(或将其标记为已处理,并使用所有叶子来处理节点)处理为叶子)。 只要是DAG,这个基于堆栈的简单步行就很容易了。 我想出了一个相当幼稚的递归算法(伪代码):
最大的问题是它没有能力检测循环依赖关系-它可以进行无限递归(即堆栈溢出;-p)。我能看到的唯一方法是将递归算法转换为带有手动堆栈的交互式算法,并手动检查堆栈中是否存在重复的元素。 有人有更好的东西吗? |
最新内容
相关内容
python如何执行python文件
python如何执行python文件,代码,培训,文件,程序,命令,模式,事半功倍,后缀,文本,以上,用文本编辑器写Python程序,然后保存为后缀为.py的文件,就python怎么打开文件
python怎么打开文件,代码,系统,培训,信息,基础,环境,文件,源文件,目录,命令,一、使用python源文件的几种方法\运行python脚本:a.windows下打python怎么执行.py文件
python怎么执行.py文件,培训,位置,代码,文件,空格,路径,文件名,时候,右侧,单击,要运行一个已经编写好的.py文件,可以单击开始菜单,在“搜索程序python如何打开文件
python如何打开文件,培训,通用,文件,模式,对象,方式,字节,函数,操作,字符串,python中的文件对象:文件对象不仅可以用来访问普通的磁盘文件,而python怎么生成xml文件
python怎么生成xml文件,数据,培训,设计,标准,文件,标记,语言,实例,模块,宗旨,用python内置的xml.dom可以对xml文件进行解析处理。什么是xml?Xpython包和文件夹有什么区别
python包和文件夹有什么区别,培训,单位,公共,文件夹,显卡,模块,大小,字节,剩余,实例,python包和文件夹有什么区别1、一个或多个文件夹组成一python最短路径有哪些算法
python最短路径有哪些算法,策略,位置,培训,算法,路径,矩阵,节点,问题,源点,距离,python最短路径有哪些算法1、Bellman-Ford算法用于求解单源python不同大小文件的复制方法
python不同大小文件的复制方法,培训,文件,内容,大小,方法,顺序,以上,教程,更多,python不同大小文件的复制方法1、小文件复制,打开一个已有文python轮盘赌算法如何使用
python轮盘赌算法如何使用,个体,规模,培训,状态,种群,算法,概率,列表,个人,精髓,python轮盘赌算法如何使用说明1、轮盘赌算法的精髓是可以根python如何判断文件夹内的重复图片
python如何判断文件夹内的重复图片,图片,照片,连续,培训,文件夹,文件,文件大小,剩余,图片大小,图片集,python如何判断文件夹内的重复图片步骤python决策树算法是什么
python决策树算法是什么,分析,下降,信息,基础,培训,情况,数据,算法,结点,样本,python决策树算法是什么1、说明决策树算法是在已知各种情况发python如何读取全部的文件
python如何读取全部的文件,培训,文件,路径,全部,方法,字符串,变量,实例,关键词,对象,python如何读取全部的文件说明1、文件路径可以是相对路