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)用
主站蜘蛛池模板: 久久精品人妻中文系列| 国产精品亚洲日韩AⅤ在线观看| 国产成人免费手机在线观看视频| 97色伦色在线综合视频| 色老头综合网| 亚洲天堂免费观看| 久草性视频| 国产成年女人特黄特色大片免费| 高清无码不卡视频| 欧洲日本亚洲中文字幕| 3344在线观看无码| 99热6这里只有精品| 一区二区三区四区日韩| 91在线播放国产| 在线一级毛片| 伊人久久大香线蕉综合影视| 国产精品网曝门免费视频| 91原创视频在线| 中国成人在线视频| 亚洲第一色网站| 国产99视频精品免费视频7| 亚洲欧美日韩动漫| 午夜a级毛片| 国产资源站| 欧美精品影院| 成人综合网址| 亚洲va欧美va国产综合下载| 免费一级毛片在线观看| 永久天堂网Av| 亚洲天堂网视频| 国产日本一线在线观看免费| 国产伦片中文免费观看| 91成人精品视频| julia中文字幕久久亚洲| 亚洲中文字幕国产av| 日本午夜三级| 欧美国产精品不卡在线观看| 亚洲成人在线免费观看| A级毛片无码久久精品免费| 青草精品视频| Jizz国产色系免费| 日本高清免费不卡视频| 日韩色图区| 中文字幕人妻无码系列第三区| 亚洲欧美激情小说另类| 久久一本精品久久久ー99| 亚洲制服丝袜第一页| 国产福利微拍精品一区二区| 欧美一级高清片久久99| 欧美国产综合色视频| yy6080理论大片一级久久| 欧美精品高清| 99精品福利视频| 国产日韩欧美中文| 国产成熟女人性满足视频| 国产小视频免费观看| 国产精品开放后亚洲| 91亚洲视频下载| 亚洲精品男人天堂| 亚洲第一精品福利| 国产99视频精品免费视频7| 欧美乱妇高清无乱码免费| 欧美精品二区| 国产美女免费| 亚洲高清中文字幕在线看不卡| 在线观看无码a∨| 国产无码高清视频不卡| 日韩毛片免费视频| 91午夜福利在线观看精品| 成人免费黄色小视频| 男女男精品视频| 免费中文字幕在在线不卡| 国产欧美亚洲精品第3页在线| 国产永久免费视频m3u8| 国产一级毛片在线| 亚洲成人播放| 国产高潮流白浆视频| 亚洲成人黄色在线| 国产97公开成人免费视频| 国产小视频免费| 激情无码字幕综合| 在线精品视频成人网|