机票分享第三篇 机票计算过程及时间复杂度(国际篇)

简介: 延续上篇国内机票计算的话题,依然聚焦机票计算层,扩大范畴到国际。国际机票的区别在于会做更多的拼接,若所有数据全部参与计算则耗时过长,需要挑选一部分,还要保证挑选的部分恰好对应最低的价格。国际机票的有趣之处在于决定怎么挑。

延续上篇国内机票计算的话题,依然聚焦机票计算层,扩大范畴到国际。国际机票的区别在于会做更多的拼接,若所有数据全部参与计算则耗时过长,需要挑选一部分,还要保证挑选的部分恰好对应最低的价格。国际机票的有趣之处在于决定怎么挑。


一、国际机票单程

1、由于多数情形需要中转,不再适用运价*座位*规则的笛卡尔积

座位对应的航班组合比较多,如果沿用笛卡尔积,则花费时间的放大倍数与平均航班组合数相当

24b09bfdcda08e80b5983038f19dbd292a5b22cd

示例:两段的中转

2、挑选部分规则来降低匹配次数

(1)、将运价与航班组合按运价分组

3e53cb620172c377f3070bcc4a8348afbcadd009

(2)、用运价与规则匹配并计算价格,从而对规则排序

3918270061e5cbf8bc6cc3309fe311ac2510feff

(3)、将运价与航班组合,从排序后的规则里挑选部分,来生成票价

0ac0046fecf8af318610ff2a37d6c3084338ee5b

注:stop条件并非实际场景,eg.算出一个便stop;一个商家只算一个价格


二、国际机票往返

1、与国内不同,两个运价拼接往返运价的模式为常态

c6b0ac76e0d1e94476bb8bb4dc50893f84bc3e0a

国内的往返运价通常是已经组合好的,而国际的场景是设置一个运价是否适用于去程/回程,并动态去组合的。

2、拼接将时间复杂度放大到n2

国内往返运价、规则是拼好的,仅航班需要拼接,延用笛卡尔积方式还能接受

国际运价、航班、规则都需要拼接,都放大为n2,很可怕

3、挑选部分运价、航班、规则来降低匹配次数

(1)、对运价的挑选:只保留低于同航司运价组合价格的混航司运价组合;对航班的初筛:至少与一个去程运价匹配的航班才放入去程航班集合,至少与一个返程运价匹配的航班才放入返程航班集合

(2)、从排序后的运价、排序后的航班里挑选一些匹配生成运价与航班组合

e91b35fb8d069f703ae1d2c4749d67764a958076

注:图例的stop条件为算出一个航班便停止,实际模型更复杂一些

(3)、挑选部分规则与运价航班组合匹配(和国际单程类似,不再赘述)


三、国际机票多程

1、两程采用和往返同样的计算方式

2、大于两程,则采取多次查询两程的计算结果,并拼接


四、解决时间复杂度放大问题的思路

1、预筛选,来降低数量

2、分组,用匹配分组取代匹配单个元素,从而降维

3、排序,便于后面的挑选

4、按顺序做匹配,达到一定条件就stop


目录
相关文章
|
1月前
|
存储 关系型数据库 MySQL
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
|
1月前
|
弹性计算 NoSQL 关系型数据库
全网都在讨论阿里云降价,这波操作给跪了!
全网都在讨论阿里云降价,这波操作给跪了!百款产品直降,平均降幅20%,阿里云希望通过此次大规模降价,让更多企业和开发者用上先进的公共云服务,加速云计算在中国各行各业的普及和发展。这次降价包括云服务器ECS、对象存储OSS、云数据库都降价了,真降价,直降价:百款产品直降,平均降幅20%,阿里云百科分享阿里云2024年降价信息汇总表
|
6月前
|
搜索推荐 SEO
网络小说推广八步走
网络小说推广八步走
119 0
|
7月前
|
机器学习/深度学习 传感器 安全
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
|
9月前
|
数据建模
【美赛】2023年MCM问题Y:理解二手帆船价格(代码&思路)
【美赛】2023年MCM问题Y:理解二手帆船价格(代码&思路)
|
存储 缓存 负载均衡
什么是区块哈希竞猜游戏系统开发?哈希竞猜游戏系统开发(案例成熟)
01.Hash函数 单向散列函数,又称单向Hash函数、杂凑函数,就是把任意长度的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值。一般用于产生消息摘要,密钥加密等。 哈希算法广泛应用于很多场景,例如安全加密和数据结构中哈希表的查找,布隆过滤器和负载均衡(一致性哈希)等等。 02.常见的Hash函数 常见Hash函数有MD系列、SHA系列、MAC和CRC等。 MD系列 MD全称Message Digest,按照规范版本分为MD2、MD4、MD5三种算法,目前最常用的是MD5版本算法。 MD4算法
|
算法
算法竞赛入门做题记录:苹果采购
算法竞赛入门做题记录:苹果采购
213 0
LeetCode 训练场:1450. 在既定时间做作业的学生人数
LeetCode 训练场:1450. 在既定时间做作业的学生人数
98 0
LeetCode 训练场:1450. 在既定时间做作业的学生人数
|
人工智能 自然语言处理 搜索推荐
增长难题如何破?20天后引擎大会或给出“答题指引”
增长难题如何破?20天后引擎大会或给出“答题指引”
219 0
增长难题如何破?20天后引擎大会或给出“答题指引”
|
新零售 搜索推荐 数据可视化
案例酷 | 4大兵器在手 奇瑞实现连续7个月销售上涨
据最新公布的奇瑞集团销量数据显示,今年7月,奇瑞集团共销售汽车4.9万辆,今年1月到7月,奇瑞集团累计销量已达37.3万辆,实现了连续7个月的销量增长。 优异成绩的背后,除了造车技术的精进,到底奇瑞还有什么样的秘密武器?
815 0
案例酷 | 4大兵器在手 奇瑞实现连续7个月销售上涨