基于SNOMED术语编码两节点之间多路径算法的实现及其对中医术语编码的意义(3)
简要算法如下:①定义方法名及传入参数、结果类型,定义数组列表获取得到的路径。②定义一个栈来存放已访问节点信息。③利用IS-A关系,获取某一节点的上级父节点;将访问过的节点压入栈中,判断是否到达目标节点,若未到达,查找当前节点父节点,并将其父节点压入栈中。④不断重复③,若找到目标节点,则将此条路径记录入数组列表中。⑤利用栈的性质,用回溯算法,继续寻找有无其他路径。⑥若寻找到根节点,或者栈中已无元素,完成循环,输出获得的路径。图1 两节点之间多路径示意图
本研究利用C#,以及SQL Server的存储过程,函数,定义栈、字符串数组列表,利用回溯算法,将每一条路径进行找出并记录,实现了将多条路径自动找出的功能。如图1,利用回溯算法,共输出7条路径:
①138875005 404684003 64572001 75478009 7895008 111762003 51862005;
②138875005 404684003 6457200187858002 789500811176200351862005;
③138875005 404684003 64572001 75478009 441952005 51862005;
④138875005 404684003 64572001 75478009 7895008 10070005 51862005;
⑤138875005 404684003 64572001 87858002 7895008 10070005 51862005;
⑥138875005 404684003 64572001 75478009 7895008 419639006 49450009 46878002 51862005;
⑦138875005 404684003 64572001 87858002 7895008 419639006 49450009 46878002 51862005 ......
您现在查看是摘要页,全文长 5081 字符。