數(shù)據(jù)結(jié)構(gòu)試題精選(3)-算法設(shè)計(jì)_跨考網(wǎng)
算法設(shè)計(jì)題
1. 設(shè)有兩個(gè)棧S1,S2都采用順序棧方式,并且共享一個(gè)存儲(chǔ)區(qū)[O..maxsize-1],為了盡量利用空間,減少溢出的可能,可采用棧頂相向,迎面增長(zhǎng)的存儲(chǔ)方式。試設(shè)計(jì)S1,S2有關(guān)入棧和出棧的操作算法。
【哈爾濱工業(yè)大學(xué) 2001 七 (12分)】
2. 設(shè)從鍵盤輸入一整數(shù)的序列:a1, a2, a3,…,an,試編寫算法實(shí)現(xiàn):用棧結(jié)構(gòu)存儲(chǔ)輸入的整數(shù),當(dāng)ai≠-1時(shí),將ai進(jìn)棧;當(dāng)ai=-1時(shí),輸出棧頂整數(shù)并出棧。算法應(yīng)對(duì)異常情況(入棧滿等)給出相應(yīng)的信息。
【南京航空航天大學(xué) 1998 六 (10分)】
3. 設(shè)表達(dá)式以字符形式已存入數(shù)組E[n]中,‘#’為表達(dá)式的結(jié)束符,試寫出判斷表達(dá)式中括號(hào)(‘(’和‘)’)是否配對(duì)的C語(yǔ)言描述算法:EXYX(E); (注:算法中可調(diào)用棧操作的基本算法。)
【北京科技大學(xué) 2001 九、1 (10分)】
4. 從鍵盤上輸入一個(gè)逆波蘭表達(dá)式,用偽碼寫出其求值程序。規(guī)定:逆波蘭表達(dá)式的長(zhǎng)度不超過(guò)一行,以$符作為輸入結(jié)束,操作數(shù)之間用空格分隔,操作符只可能有+、-、*、/四種運(yùn)算。例如:234 34+2*$
【山東師范大學(xué) 1999 七? (10分)】
5. 假設(shè)以I和O分別表示入棧和出棧操作。棧的初態(tài)和終態(tài)均為空,入棧和出棧的操作序列可表示為僅由I和O組成的序列,稱可以操作的序列為合法序列,否則稱為非法序列。
?。?)下面所示的序列中哪些是合法的?
A. IOIIOIOO???? B. IOOIOIIO????? C. IIIOIOIO???? D. IIIOOIOO
(2)通過(guò)對(duì)(1)的分析,寫出一個(gè)算法,判定所給的操作序列是否合法。若合法,返回true,否則返回false(假定被判定的操作序列已存入一維數(shù)組中)?!?a target="_blank">武漢大學(xué) 2000 五、2】
6.設(shè)計(jì)一個(gè)算法,判斷一個(gè)算術(shù)表達(dá)式中的括號(hào)是否配對(duì)。算術(shù)表達(dá)式保存在帶頭結(jié)點(diǎn)的單循環(huán)鏈表中,每個(gè)結(jié)點(diǎn)有兩個(gè)域:ch和link,其中ch域?yàn)樽址愋汀!?a target="_blank">南京郵電大學(xué) 2000五】
7. 請(qǐng)利用兩個(gè)棧S1和S2來(lái)模擬一個(gè)隊(duì)列。已知棧的三個(gè)運(yùn)算定義如下:PUSH(ST,x):元素x入ST棧;POP(ST,x):ST棧頂元素出棧,賦給變量x;Sempty(ST):判ST棧是否為空。那么如何利用棧的運(yùn)算來(lái)實(shí)現(xiàn)該隊(duì)列的三個(gè)運(yùn)算:enqueue:插入一個(gè)元素入隊(duì)列; dequeue:刪除一個(gè)元素出隊(duì)列;queue_empty:判隊(duì)列為空。(請(qǐng)寫明算法的思想及必要的注釋)
【西安電子科技大學(xué)2001軟件五(10分)】【上海交通大學(xué)1999 二(12分)】【河海大學(xué)1998 三(12分)】
類似本題的另外敘述有:
?。?)有兩個(gè)長(zhǎng)度相同的棧S1,S2,已知以下入棧、出棧、判棧滿和判棧空操作:
PROCEDURE?? push(Stack:Stacktype;x:Datatype);
FUNCTION??? Pop(Stack:Stacktype ):Datatype;
FUNCTION??? Full (Stack:Stacktype):Boolean;
FUNCTION??? Empty(Stack:Stacktype)Boolean;
現(xiàn)用此二棧構(gòu)成一個(gè)隊(duì)列,試寫出下面入隊(duì)列、出隊(duì)列操作算法:
PROCEDURE? EnQueue(x:Datatype);
FUNCTION?? DeQueue: Datatype;【北京郵電大學(xué) 2000 六(10分)】
8. 設(shè)結(jié)點(diǎn)結(jié)構(gòu)為(data,link),試用一個(gè)全局指針p和某種鏈接結(jié)構(gòu)實(shí)現(xiàn)一個(gè)隊(duì)列,畫出示意圖,并給出入隊(duì)addq和出隊(duì)deleteq過(guò)程,要求它們的時(shí)間復(fù)雜性都是O(l)(不計(jì)new和dispose時(shí)間)
2022考研初復(fù)試已經(jīng)接近尾聲,考研學(xué)子全面進(jìn)入2023屆備考,跨考為23考研的考生準(zhǔn)備了10大課包全程準(zhǔn)備、全年復(fù)習(xí)備考計(jì)劃、目標(biāo)院校專業(yè)輔導(dǎo)、全真復(fù)試模擬練習(xí)和全程針對(duì)性指導(dǎo);2023考研的小伙伴針也已經(jīng)開始擇校和復(fù)習(xí)了,跨考考研暢學(xué)5.0版本全新升級(jí),無(wú)論你在校在家都可以更自如的完成你的考研復(fù)習(xí),暑假集訓(xùn)營(yíng)帶來(lái)了院校專業(yè)初步選擇,明確方向;考研備考全年規(guī)劃,核心知識(shí)點(diǎn)入門;個(gè)性化制定備考方案,助你贏在起跑線,早出發(fā)一點(diǎn)離成功就更近一點(diǎn)!
考研院校專業(yè)選擇和考研復(fù)習(xí)計(jì)劃 | |||
2023備考學(xué)習(xí) | 2023線上線下隨時(shí)學(xué)習(xí) | 34所自劃線院校考研復(fù)試分?jǐn)?shù)線匯總 | |
2022考研復(fù)試最全信息整理 | 全國(guó)各招生院??佳袕?fù)試分?jǐn)?shù)線匯總 | ||
2023全日制封閉訓(xùn)練 | 全國(guó)各招生院??佳姓{(diào)劑信息匯總 | ||
2023考研先知 | 考研考試科目有哪些? | 如何正確看待考研分?jǐn)?shù)線? | |
不同院校相同專業(yè)如何選擇更適合自己的 | 從就業(yè)說(shuō)考研如何擇專業(yè)? | ||
手把手教你如何選專業(yè)? | 高校研究生教育各學(xué)科門類排行榜 |
相關(guān)推薦
跨考考研課程
班型 | 定向班型 | 開班時(shí)間 | 高定班 | 標(biāo)準(zhǔn)班 | 課程介紹 | 咨詢 |
秋季集訓(xùn) | 沖刺班 | 9.10-12.20 | 168000 | 24800起 | 小班面授+專業(yè)課1對(duì)1+專業(yè)課定向輔導(dǎo)+協(xié)議加強(qiáng)課程(高定班)+專屬規(guī)劃答疑(高定班)+精細(xì)化答疑+復(fù)試資源(高定班)+復(fù)試課包(高定班)+復(fù)試指導(dǎo)(高定班)+復(fù)試班主任1v1服務(wù)(高定班)+復(fù)試面授密訓(xùn)(高定班)+復(fù)試1v1(高定班) | |
2023集訓(xùn)暢學(xué) | 非定向(政英班/數(shù)政英班) | 每月20日 | 22800起(協(xié)議班) | 13800起 | 先行階在線課程+基礎(chǔ)階在線課程+強(qiáng)化階在線課程+真題階在線課程+沖刺階在線課程+專業(yè)課針對(duì)性一對(duì)一課程+班主任全程督學(xué)服務(wù)+全程規(guī)劃體系+全程測(cè)試體系+全程精細(xì)化答疑+擇校擇專業(yè)能力定位體系+全年關(guān)鍵環(huán)節(jié)指導(dǎo)體系+初試加強(qiáng)課+初試專屬服務(wù)+復(fù)試全科標(biāo)準(zhǔn)班服務(wù) |