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)用
主站蜘蛛池模板: 亚洲中文久久精品无玛| 天天综合网在线| 午夜国产理论| 成人年鲁鲁在线观看视频| 国产69囗曝护士吞精在线视频| 欧美区一区二区三| 2021国产精品自产拍在线| 在线观看视频一区二区| 国产精品短篇二区| 国产一级做美女做受视频| 中文字幕亚洲精品2页| 成人福利在线视频| 香蕉网久久| 99热这里只有精品免费国产| 中文字幕1区2区| 日本在线亚洲| 国内熟女少妇一线天| 一本色道久久88| 97在线免费视频| 亚洲精品片911| 欧美不卡在线视频| 亚洲欧美精品在线| 国产一二视频| 国产剧情一区二区| 婷婷色中文| 国产成人无码综合亚洲日韩不卡| 欧美日韩高清在线| 91色在线观看| 久久婷婷五月综合色一区二区| 日韩第九页| 欧美激情首页| www亚洲精品| 亚洲成人网在线观看| 中文字幕欧美日韩| 天天躁日日躁狠狠躁中文字幕| 国产高清在线观看91精品| 日韩在线视频网站| 精品亚洲欧美中文字幕在线看 | 国产精品成人久久| 国产成人精彩在线视频50| 无码国产偷倩在线播放老年人| 亚洲无码熟妇人妻AV在线| av手机版在线播放| 亚洲高清国产拍精品26u| 久无码久无码av无码| 亚洲无码电影| 午夜福利无码一区二区| 99久久亚洲综合精品TS| 日韩精品无码免费一区二区三区| 欧美一级黄片一区2区| 亚洲无码电影| 精品乱码久久久久久久| 91外围女在线观看| 久久精品日日躁夜夜躁欧美| 一级黄色网站在线免费看| 国产欧美日韩18| 18禁色诱爆乳网站| 色婷婷丁香| 伊人大杳蕉中文无码| 国产在线观看高清不卡| 国产日韩精品欧美一区灰| 日本三级精品| 亚洲人成在线精品| 国产美女视频黄a视频全免费网站| 在线观看国产黄色| 欧美午夜久久| 国产无遮挡猛进猛出免费软件| 久久国产精品夜色| 国产无吗一区二区三区在线欢| 91久久性奴调教国产免费| 四虎永久在线精品国产免费 | 午夜爽爽视频| 538国产视频| 一区二区三区四区精品视频| 日韩区欧美区| 精品国产自在现线看久久| 一级毛片在线免费看| 国产精品久久久久久影院| 久久免费精品琪琪| 亚洲天堂视频网站| 99视频在线免费观看| 亚洲精品高清视频|