999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于線段樹的售票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2021-08-09 12:47:46王逸芳張子牛齊慶磊
現(xiàn)代計(jì)算機(jī) 2021年17期
關(guān)鍵詞:系統(tǒng)

王逸芳,張子牛,齊慶磊

(南陽師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南陽 453200)

0 引言

隨著國家鐵路運(yùn)輸事業(yè)的快速發(fā)展,列車已經(jīng)成為人們生活中一種十分重要的出行方式。快速、準(zhǔn)確的車票查詢系統(tǒng)能夠給人們帶來良好的乘車體驗(yàn)。由于一條鐵路線路上站點(diǎn)的數(shù)量,乘客從各站點(diǎn)上下車的時(shí)間,乘客購買車票的時(shí)間等因素都會成為影響車票查詢結(jié)果的因素,設(shè)計(jì)和實(shí)現(xiàn)快速高效的車票查詢系統(tǒng)面臨著諸多挑戰(zhàn)。

線段樹[1-2]作為一種特殊的二叉樹,目前已經(jīng)得到廣泛應(yīng)用,有效解決了動態(tài)區(qū)間求最值[3]、范圍查詢[4],高效內(nèi)存劃分[5]、求矩形面積[6]等問題。線段樹的每個(gè)節(jié)點(diǎn)表示一個(gè)區(qū)間,存儲區(qū)間信息。每個(gè)節(jié)點(diǎn)的孩子節(jié)點(diǎn)對該節(jié)點(diǎn)的區(qū)間進(jìn)行分割。在線段樹中,與葉子節(jié)點(diǎn)對應(yīng)的區(qū)間為最小區(qū)間。最小區(qū)間是指不能再分或者無需再分的區(qū)間。線段樹具有如下性質(zhì):

(1)線段樹是一棵平衡二叉樹,樹的高度為logN,N為線段樹中的節(jié)點(diǎn)數(shù)量。

(2)線段樹把區(qū)間上的任意一條長度為N的線段都分為不大于2logN條線段的并。

(3)任兩個(gè)節(jié)點(diǎn)可以是包含關(guān)系,也可以是沒有相同結(jié)點(diǎn)關(guān)系,不可能有重疊的情況,每層節(jié)點(diǎn)的區(qū)間的并即為整個(gè)區(qū)間。

(4)給定一個(gè)葉子結(jié)點(diǎn)p,從根到p路徑上全部節(jié)點(diǎn)代表的區(qū)間都包括點(diǎn)p,且其他節(jié)點(diǎn)代表的區(qū)間都不包括點(diǎn)p。

本文將線段樹用于火車票管理系統(tǒng)中。每個(gè)節(jié)點(diǎn)表示某兩個(gè)車站之間的區(qū)域。根節(jié)點(diǎn)表示始發(fā)站和終點(diǎn)站之間的區(qū)域。除葉子節(jié)點(diǎn)外,每個(gè)節(jié)點(diǎn)代表的區(qū)間由兩個(gè)孩子節(jié)點(diǎn)分割為兩個(gè)子區(qū)間。葉子節(jié)點(diǎn)表示相鄰兩個(gè)站點(diǎn)之間的區(qū)域。節(jié)點(diǎn)內(nèi)記錄車票剩余信息。本文設(shè)計(jì)實(shí)現(xiàn)的售票系統(tǒng)中主要包括創(chuàng)建線段樹,購買車票,更新相應(yīng)路段的車票信息。

1 算法實(shí)現(xiàn)

1.1 算法描述

假設(shè)某條線路上共有S個(gè)站點(diǎn),依次存儲在二維數(shù)組routeInf[S][]中,該線路上的某趟列車共設(shè)M個(gè)座位,并且該列車上僅售坐票。乘客購買票請求為(departure,arrival,ticketNum),表示乘客需要購買ticketNum張車票,離開站為departure,到達(dá)站為arrival。線段樹任一節(jié)點(diǎn)為(departure,arrival,ticketNum,lchild,rchild),表示從站點(diǎn)departure到站點(diǎn)departure的余票數(shù)量為ticketNum,左孩子節(jié)點(diǎn)為lchild,右孩子節(jié)點(diǎn)為rchild。購票系統(tǒng)主要包括創(chuàng)建線段樹,購買車票,更新相應(yīng)路段的車票信息。創(chuàng)建線段樹的函數(shù)為遞歸過程,從根節(jié)點(diǎn)開始,設(shè)置當(dāng)前節(jié)點(diǎn)的離開站,到達(dá)站和車票數(shù)量,創(chuàng)建左子樹和右子樹。

購買車票的函數(shù)也是遞歸過程,從根節(jié)點(diǎn)開始,查看當(dāng)前節(jié)點(diǎn)的車票數(shù)量是否能夠滿足乘客需求,如果滿足,返回調(diào)用函數(shù)。否則分以下三種情況進(jìn)行處理:①如果乘客的乘車區(qū)間在左孩子節(jié)點(diǎn)表示的區(qū)間內(nèi),查看左孩子節(jié)點(diǎn)的車票數(shù)量能否滿足乘客的需求;②如果乘客的乘車區(qū)間在右孩子節(jié)點(diǎn)表示的區(qū)間內(nèi),查看右孩子節(jié)點(diǎn)的車票數(shù)量能否滿足乘客的需求;③如果乘客的乘車區(qū)間跨越兩個(gè)孩子節(jié)點(diǎn)表示的區(qū)間,分段查看左右孩子節(jié)點(diǎn)的車票數(shù)量能否滿足乘客的需求。

更新車票的函數(shù)同樣是遞歸過程,從根節(jié)點(diǎn)開始,查看當(dāng)前節(jié)點(diǎn)的車票數(shù)量能否滿足乘客的需求,如果可以,當(dāng)前節(jié)點(diǎn)的車票數(shù)量減去乘客請求的車票數(shù)量,否則,當(dāng)前節(jié)點(diǎn)的車票數(shù)量設(shè)置為0。然后分以下三種情況進(jìn)行處理:①如果乘客的乘車區(qū)間在左孩子節(jié)點(diǎn)表示的區(qū)間內(nèi),更新左孩子節(jié)點(diǎn)的車票數(shù)量;②如果乘客的乘車區(qū)間在右孩子節(jié)點(diǎn)表示的區(qū)間內(nèi),更新右孩子節(jié)點(diǎn)的車票數(shù)量;③如果乘客的乘車區(qū)間跨越兩個(gè)孩子節(jié)點(diǎn)表示的區(qū)間,更新左右孩子節(jié)點(diǎn)的車票數(shù)量。

1.2 實(shí)現(xiàn)代碼

本節(jié)給出創(chuàng)建線段樹,購票和更新車票三個(gè)模塊的C語言實(shí)現(xiàn)代碼。

(1)創(chuàng)建線段樹

(2)購票

(3)更新車票信息

2 程序運(yùn)行效果

購票系統(tǒng)的運(yùn)行測試效果如圖1所示。測試用例選用的線路包括6個(gè)站點(diǎn),依次為:BeiJing、ShiJiaZhuang、ZhengZhou、WuHan、ChangSha、GuangZhou。列車共提供1000張車票。共提出5次購票請求,分別為(BeiJing ZhenZhou 100)、(ZhengZhou WuHan 500)、(ShiJiaZhuang WuHan 400)、(ZhengZhou WuHan 150)、(WuHan ShenZhen 10)。結(jié)果顯示,由于車票充足,系統(tǒng)為前3次請求成功分配了車票,并分別更新了線段樹中和請求線路有重合區(qū)間的節(jié)點(diǎn)的車票數(shù)量。由于第4次請求的車票數(shù)量多于相應(yīng)線路當(dāng)前剩余的車票數(shù)量,系統(tǒng)未能為本次請求分配車票。由于第5次請求的乘車區(qū)間不在線路內(nèi),系統(tǒng)也未能為本次請求分配車票。

圖1 程序運(yùn)行效果

3 結(jié)語

本文給出基于線段樹的售票系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn)過程,主要包括構(gòu)建線段樹,購買車票和更新車票信息三部分。測試結(jié)果顯示該系統(tǒng)能夠有效完成車票購買和車票更新功能,具有一定的應(yīng)用價(jià)值,能夠幫助讀者理解和掌握線段樹的基本思想和應(yīng)用方法。

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 国产女人18水真多毛片18精品| 最新国产网站| 亚洲黄网在线| 色综合日本| 爱爱影院18禁免费| 狠狠做深爱婷婷久久一区| 青青青国产精品国产精品美女| 91成人精品视频| 久久精品一卡日本电影| 欲色天天综合网| 日韩毛片免费观看| 四虎永久在线| 欧美日本一区二区三区免费| 亚洲日韩高清在线亚洲专区| 成人一区在线| 亚洲天堂精品视频| 亚洲无码91视频| 高清无码手机在线观看| 欧美日韩午夜视频在线观看| 国产精彩视频在线观看| 91九色国产在线| 亚洲无码一区在线观看| 午夜性刺激在线观看免费| 国产黄在线免费观看| 日韩欧美国产三级| 国产h视频免费观看| 在线日韩日本国产亚洲| 91精品网站| 欧美无遮挡国产欧美另类| 亚洲爱婷婷色69堂| 四虎永久免费地址在线网站| 一区二区三区国产精品视频| 国产亚洲精品91| 一级一级特黄女人精品毛片| 欧美97色| 色窝窝免费一区二区三区 | 女同久久精品国产99国| 国产伦精品一区二区三区视频优播| 97在线公开视频| 亚洲国产一区在线观看| 看看一级毛片| 国产成人精品综合| 欧美一级在线| 亚洲人成影视在线观看| 国产欧美视频在线| 91亚洲免费| 五月天在线网站| 亚洲中文精品人人永久免费| 欧美日韩精品在线播放| 欧美曰批视频免费播放免费| 青青久久91| 国产SUV精品一区二区6| 1024你懂的国产精品| 国产精品永久久久久| 久久婷婷色综合老司机| 欧美另类一区| 人妻丰满熟妇av五码区| 91在线播放免费不卡无毒| 理论片一区| 欧美人与性动交a欧美精品| 亚洲第一极品精品无码| 老熟妇喷水一区二区三区| 国产免费自拍视频| 国产在线麻豆波多野结衣| 麻豆精品在线播放| 成人国产精品2021| 青青国产在线| 一级毛片视频免费| 精品国产成人三级在线观看| 综合久久五月天| 日本欧美视频在线观看| 亚洲第一黄片大全| 久久国产免费观看| 国产高清无码麻豆精品| 中文成人无码国产亚洲| 久久毛片基地| 99久久国产自偷自偷免费一区| 国产精品久久久久久久久| 欧美亚洲香蕉| 久久精品国产免费观看频道| 亚洲成a人片在线观看88| 91九色国产porny|