MOMOJI.故事接龙·让我们一起讲故事,做个有故事的人

momoji.技术架构及算法

~链表破环算法~
{ 任一段落可 [ 切到该章节 ] 进行续写接龙 }

~momoji.技术架构及算法~

选取python3为开发语言,版本python 3.7.3;

web架构为pyramid;

数据库访问采用sqlalchemy;

使用jinja2模板,也提供api,但非完全前后端分离;

前端使用了echarts2;

考虑该站点依靠iis挂了几个应用,80端口已占就用iis做了application request routing 和 url rewrite,后续考虑换为nginx;

数据库mysql,版本mysql 8.0.16.0;后续考虑换位文件系统;

存储结构具有为单父属性的节点,即tree或者multi-tree;但最终实现可成环的有向图,非dag(因为有向且成环);

momoji.技术架构及算法 by 飞~甜 @ 2019-06-11 14:56:51

切到该章 收藏 从此续写

~链表破环算法~

在有向有环图中,需要根据一个节点,把它的各级父节点列出来.若是单父节点的树,直接用pid-->id组成的链表,进行遍历即可,退出条件可以简单的设置为遍历到的当前节点为空(或者0);但因有向且有环,所以需要破环,这里采用记录遍历过节点list并比较存在与否来进行环检测;因为这个list的存在所以空间复杂度为o(n);因为比较存在的计算,时间复杂度为o(n2);n为图中节点数;

链表破环算法 by 飞~甜 @ 2019-06-11 15:33:45

切到该章 收藏 从此续写

last by 飞~甜 @ 2019-06-11 15:33:45

章节模式 复制地址