[发明专利]一种基于顺序存储二叉树的航线自动生成方法有效
申请号: | 202110705953.8 | 申请日: | 2021-06-24 |
公开(公告)号: | CN113449910B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 张凯丽;赵燕;房媛媛;张晶晶;张永兵;苑茹滨 | 申请(专利权)人: | 中国船舶重工集团公司第七0七研究所 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G01C21/20 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王雨晴 |
地址: | 300131 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 顺序 存储 二叉 航线 自动 生成 方法 | ||
1.一种基于顺序存储二叉树的航线自动生成方法,其特征在于:包括以下步骤:
步骤1、初始化测试线为起始点和终点之间的连线,初始化二叉树结点数组、航线索引数组为空;
步骤2、二叉树的根结点初始化为起始点,并且将根结点结构体存储到结点数组中;
步骤3、判断当前测试线上是否存在碍航区,如果存在,转到步骤4;如果不存在,转到步骤6;
步骤4、找到距离最近的碍航区,从左、右两侧切点进行绕行,直至找到不位于自身最近碍航区上的航路点,完成当前测试线的子二叉树构建;
步骤5、构建完当前测试线的子二叉树之后,将生成的左、右两个结点先后添加到结点数组中;
步骤6、如果当前测试线上不存在碍航区,分别将终点及其索引存储到二叉树结点数组及航线索引数组;判断当前是否已完成了全局二叉树还是子二叉树,如果已完成全局二叉树的构建,跳到步骤10;否则返回递归循环的步骤7或步骤8;
步骤7、更新测试线起点为左结点结构体中航路点链表的最后一个点,测试线终点不变,转到步骤3构建左子树;
步骤8、更新测试线起点为右结点结构体中航路点链表的最后一个点,测试线终点不变,转到步骤3构建右子树;
步骤9、左、右子树构建完成,判断是否已完成全局二叉树的构建,如果已完成全局二叉树的构建,跳到步骤10;否则返回递归循环的步骤7或步骤8;
步骤10、全局二叉树构建完成,航线索引数组存储了所有可行性航线终点在结点数组中的索引,通过该索引找到所有可行性航线的路径长度,比较选出最短路径长度的可行性航线,并从终点出发通过父结点索引回溯到起始点,从而生成从起始点到终点的最短航线;
所述步骤1的具体方法为:
(1)测试线是指当前航路点到终点之间的连线,用来检测前进方向上是否存在碍航区,初始化测试线为起始点和终点之间的连线;
(2)定义二叉树结点结构体,包括航路点链表、父结点在结点数组的索引、从起始点到当前结点中航路点链表最后一个航路点的累计路径长度,初始化结点数组为空,在构建二叉树的过程中,按照结点的生成顺序,将各个结点结构体顺序存储到结点数组中;
(3)初始化航线索引数组为空,在构建二叉树过程中会形成多条路径到达终点,每搜索到一条可行性航线,都会将该条航线的终点作为结点存储到结点数组中,并且将该结点在结点数组中的索引存储到航线索引数组中;
所述步骤10的通过该索引找到所有可行性航线的路径长度,比较选出最短路径长度的可行性航线,并从终点出发通过父结点索引回溯到起始点,从而生成从起始点到终点的最短航线的具体步骤包括:
(1)二叉树构建完成之后,顺序遍历航线索引数组,取出当前索引值,访问二叉树结点数组中当前索引的结点结构体,记录该结点结构体中的路径长度值,遍历完航线索引数组,即可找到所有可行性航线的路径长度;
(2)比较所有可行性航线的路径长度,选出其中的最短路径,记录最短可行性航线终点在结点数组中的索引;
(3)从该航线终点索引出发,通过终点的父结点索引找到上一个结点,并记录下该结点对应的航路点链表,如果该结点不是起始点,则继续通过父结点索引回溯寻找并记录对应的航路点链表,直至回溯到起始点为止,从而生成从起始点到终点的最短航线。
2.根据权利要求1所述的一种基于顺序存储二叉树的航线自动生成方法,其特征在于:所述步骤4的具体方法为:找到距离最近的绕行碍航区,根据绕行碍航区的航路二分性特点,得到左右两条与当前测试线方位相差最大的连线,取这两条线在碍航区上相应的交点为左右切点,然后分别判断这两点是否位于它们自身最近的碍航区上,如果不是,分别记录下左右切点到对应的航路点链表中,否则进行绕行碍航区处理直至找到满足此判断的航路点,并且记录下绕行过程中所有的航路点到对应的航路点链表中,则当前测试线的子二叉树搜索完毕;而对于生成子二叉树的左、右两条路径还与其他的碍航区相交的情形,从当前测试线起点出发沿着测试线方向前进,找到当前测试线与最近绕行碍航区的交点,之后沿着碍航区轮廓边线直至左、右切点停止,从而实现此类复杂情况的绕行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七0七研究所,未经中国船舶重工集团公司第七0七研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110705953.8/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理