欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      時(shí)間:2019-05-12 17:59:12下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目》。

      第一篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      一、表達(dá)式求值(2-3人)

      ? 問題描述:從鍵盤上輸入中綴算數(shù)表達(dá)式,計(jì)算出表達(dá)式的值。? 基本要求:

      1.程序?qū)λ斎氲谋磉_(dá)式做簡單的判斷,如果表達(dá)式有錯(cuò),能給出適當(dāng)?shù)奶崾尽?/p>

      2.能處理+、-、×、÷

      這四種基本的算術(shù)運(yùn)算符。

      二、停車場管理(3-4人)

      ? 問題描述:假設(shè)停車場只有一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)的先后順序依次排列,如果車場內(nèi)已經(jīng)停滿了汽車,則后來的汽車只能在門外的便道上等候。一旦停車場內(nèi)某輛車要離開時(shí),在它之后開入的車輛必須先退出車場為它讓路,待該車輛開出大門后,為它讓路的車輛再按原次序進(jìn)入停車場。每輛汽車在離開時(shí)都要依據(jù)停留時(shí)間交費(fèi)(在便道上停留的時(shí)間不計(jì)費(fèi))。

      ? 基本要求:

      1.汽車的輸入信息格式為:到達(dá)/離去的標(biāo)識(shí),汽車牌照號(hào)碼,到達(dá)/離去的時(shí)間。

      2.對(duì)于不合理的輸入信息有適當(dāng)?shù)奶崾荆缫箅x開的汽車沒在停車場或便道時(shí)有相應(yīng)的提示。

      ? 提示:以棧模擬停車場,用隊(duì)列模擬便道,另設(shè)一個(gè)棧臨時(shí)停放為讓路而從車場退出的車。

      三、約瑟夫環(huán)問題(2人)

      問題描述:設(shè)編號(hào)為1,2,3,……,n的n(n>0)個(gè)人按順時(shí)針方向圍坐一圈,每個(gè)人持有一個(gè)正整數(shù)密碼。開始時(shí)任選一個(gè)正整數(shù)作為報(bào)數(shù)上限m,從第一個(gè)人開始順時(shí)針方向自1起順序報(bào)數(shù),報(bào)到m是停止報(bào)數(shù),報(bào)m的人出列,將他的密碼作為新的m值,從他的下一個(gè)人開始重新從1報(bào)數(shù)。如此下去,直到所有人全部出列為止。令n最大值取30。要求設(shè)計(jì)一個(gè)程序模擬此過程,求出出列編號(hào)序列。

      四、航空客運(yùn)訂票系統(tǒng)(4-5人)

      ? 問題描述:業(yè)務(wù)主要包括查詢航線和客票預(yù)訂的信息、客票預(yù)訂和辦理退票等。? 基本要求:

      1.系統(tǒng)必須能存儲(chǔ)以下數(shù)據(jù)信息:

      航班信息:飛機(jī)抵達(dá)城市、航班號(hào)、飛機(jī)號(hào)、起降時(shí)間、票價(jià)、總座位數(shù)和剩余座位數(shù)、已訂票的客戶名單??蛻粜畔ⅲ嚎蛻粜彰⒆C件號(hào)、座位號(hào)。2.系統(tǒng)能實(shí)現(xiàn)的功能:

      承辦訂票業(yè)務(wù):根據(jù)客戶提出的要求查詢?cè)摵桨嘈畔ⅲ魸M足要求,則為客戶辦理訂票手續(xù),輸出座位號(hào)。

      退票業(yè)務(wù):根據(jù)客戶提供的航班號(hào)和訂票數(shù)量辦理退票手續(xù)。查詢功能:查詢航線信息(根據(jù)飛機(jī)的降落地點(diǎn)輸出航班號(hào)、飛機(jī)好、起降時(shí)間、票價(jià)和剩余座位數(shù))和客戶預(yù)訂信息(根據(jù)客戶證件號(hào)輸出航班號(hào)、飛機(jī)號(hào)和座位號(hào))

      五、漢諾塔游戲程序(2-3人)

      ? 問題描述:在平面上有三個(gè)位置A、B、C,在A位置上有n個(gè)大小不等的圓盤、小盤壓在大盤上形成圓盤堆。要求將A位置的N個(gè)圓盤通過B位置移動(dòng)到C位置上,并按同樣的順序疊放。移動(dòng)圓盤時(shí)必須遵循以下規(guī)則:

      1.每一次只能移動(dòng)一個(gè)圓盤

      2.圓盤可以放在A、B、C任何一個(gè)塔座上 3.任何時(shí)刻都不能將大圓盤壓在小圓盤上 ? 基本要求:

      圓盤的個(gè)數(shù)從鍵盤輸入(如3-64等);用動(dòng)畫的形式在屏幕上顯示盤的移動(dòng)。六、八皇后問題(2人)

      ? 問題描述:八皇后問題,是一個(gè)古老而著名的問題,是回溯算法的典型例題。該問題是十九世紀(jì)著名的數(shù)學(xué)家高斯1850年提出:在8×8格的國際象棋上擺放八個(gè)皇后,使其不能互相攻擊,即任意兩個(gè)皇后都不能處于同一行、同一列或同一斜線上。

      ? 基本要求:統(tǒng)計(jì)總共有多少種擺法,并以一定方式輸出擺好的格局。

      七、簡單個(gè)人圖書管理系統(tǒng)(3-4人)

      ? 問題描述:學(xué)生在學(xué)習(xí)過程中擁有很多書籍,對(duì)購買的書籍進(jìn)行分類和統(tǒng)計(jì)是一種良好的習(xí)慣。如果用文件來存儲(chǔ)相關(guān)書籍的各種信息,包括書號(hào)、書名、作者名、價(jià)格和購買日期,輔之以程序?qū)畔⑦M(jìn)行統(tǒng)計(jì)和查詢會(huì)使書籍管理工作輕松有趣。? 基本要求:

      1.在外存中用文件存儲(chǔ)書籍相關(guān)信息 2.在內(nèi)存中設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)圖書信息 3.能查找、刪除、插入、更新

      4.能按作者名對(duì)書籍進(jìn)行排序并顯示排序結(jié)果

      八、雙端隊(duì)列(2人)

      ? 問題描述:雙端隊(duì)列是插入和刪除操作可以在兩端進(jìn)行的線性表,表的兩端分別稱作端點(diǎn)1和端點(diǎn)2。設(shè)計(jì)雙端隊(duì)列的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)入隊(duì)、出隊(duì)等基本操作。

      提示:為便于操作,采用帶頭結(jié)點(diǎn)的雙鏈表存儲(chǔ)雙端隊(duì)列

      九、迷宮問題(2人)

      ? 問題描述:迷宮實(shí)驗(yàn)是取自心理學(xué)的一個(gè)古典實(shí)驗(yàn)。在該實(shí)驗(yàn)中,把一只老鼠從一個(gè)無頂大盒子的門放入,在盒中設(shè)置了許多墻,對(duì)行進(jìn)方向形成了多處阻擋。盒子僅有一個(gè)出口,在出口處放置一塊奶酪,吸引老鼠在迷宮中尋找道路以到達(dá)出口。在給出入口和出口的前提下,給出動(dòng)態(tài)的迷宮行走路線 ? 基本要求:

      1.設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)迷宮

      提示:用二維數(shù)組表示迷宮,1代表有障礙,0代表無障礙 2.設(shè)計(jì)存儲(chǔ)結(jié)構(gòu)保存入口到出口的通路

      十、火車車廂重排問題(4-5人)

      ? 問題描述:一列貨運(yùn)列車共有n節(jié)車廂,每節(jié)車廂將停放在不同的車站。假定n個(gè)車站的編號(hào)分別為1-n,即貨運(yùn)列車按照第n站到第1站的次序經(jīng)過車站。為了便于從列車上卸掉相應(yīng)的車廂,車廂的編號(hào)應(yīng)與車站的編號(hào)相同,這樣,在每個(gè)車站只要卸掉最后一節(jié)車廂。所以,給定任意次序的車廂,必須重新排列它們。車廂的重排工作可以通過轉(zhuǎn)軌站完成。在轉(zhuǎn)軌站中有一個(gè)出軌、一個(gè)入軌和一個(gè)緩沖軌,緩沖軌位于入軌和出軌之間。設(shè)緩沖軌按先進(jìn)先出的方式運(yùn)作,設(shè)計(jì)算法解決火車車廂重排問題。

      ? 基本要求:設(shè)計(jì)存儲(chǔ)結(jié)構(gòu)表示n個(gè)車廂、k個(gè)緩沖軌以及入軌、出軌。假設(shè)k=3。

      十一、魔方陣(2人)

      ? 問題描述: 在一個(gè)n×n的矩陣中填入一個(gè)1到n2的數(shù)字(n為奇數(shù)),使得每一行、每一列、每條對(duì)角線的累加和都相等。

      十二、簡單個(gè)人電話號(hào)碼查詢系統(tǒng)(3-4人)

      ? 問題描述:人們?cè)谌粘I钪薪?jīng)常要查找某個(gè)人或某個(gè)單位的電話號(hào)碼,要求實(shí)現(xiàn)一個(gè)簡單的個(gè)人電話號(hào)碼查詢系統(tǒng),根據(jù)用戶輸入的信息(例如姓名等)進(jìn)行快速查詢。? 基本要求:

      1.在外存中用文件保存電話號(hào)碼信息

      2.在內(nèi)存中設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)電話號(hào)碼信息

      3.將電話號(hào)碼信息按某一字段排序,以提高查找效率 4.提供插入、刪除、修改等維護(hù)功能。

      十三、直接插入排序基于單鏈表的實(shí)現(xiàn)(1人)

      ? 問題描述:采用單鏈表存儲(chǔ)待排序數(shù)據(jù),在其上實(shí)現(xiàn)直接插入排序算法。? 基本要求:排序的數(shù)據(jù)的個(gè)數(shù)及其內(nèi)容由用戶從鍵盤上輸入。

      十四、患者看病過程模擬(2人)

      ? 問題描述:患者到醫(yī)院看病的過程為先排隊(duì)等候再看病治療。在排隊(duì)的過程中主要重復(fù)做兩件事:一是患者到達(dá)診室,將病歷交給護(hù)士,排到等候隊(duì)列中候診;二是護(hù)士從等候隊(duì)列中取出下一個(gè)患者的病歷,該患者進(jìn)入診室看病。設(shè)計(jì)算法模擬該過程。? 基本要求:

      1.以菜單的形式供用戶選擇相應(yīng)的操作 2.可以查看當(dāng)前正在就診的病人的信息 3.可以查詢當(dāng)前等候就診的病人的信息

      十五、汽車牌照數(shù)據(jù)的排序與快速查找(3人)

      ? 問題描述:在汽車數(shù)據(jù)的信息模型中,汽車牌照是關(guān)鍵字,而且是具有結(jié)構(gòu)特點(diǎn)的一類關(guān)鍵字。因?yàn)槠嚺普仗?hào)是數(shù)字和字母混編的,例如01B7328,這種記錄集合是一個(gè)適用于多關(guān)鍵字進(jìn)行排序的典型例子。? 基本要求:

      1.首先利用鏈?zhǔn)交鶖?shù)排序方法排序,然后利用折半查找方法實(shí)現(xiàn)對(duì)汽車記錄按關(guān)鍵字查找

      2.汽車記錄集合可以人工錄入,也可以按自動(dòng)方式隨機(jī)生成十六、求圖的中心點(diǎn)(2人)

      ? 問題描述:假設(shè)有一個(gè)公司在某個(gè)地區(qū)有n個(gè)產(chǎn)品銷售點(diǎn),現(xiàn)根據(jù)業(yè)務(wù)需要打算在其中某個(gè)銷售點(diǎn)上建立一個(gè)中心倉庫負(fù)責(zé)向其他銷售點(diǎn)提供產(chǎn)品。由于運(yùn)輸路線不同,運(yùn)輸費(fèi)用也不同。假定每天需要向每個(gè)銷售點(diǎn)運(yùn)輸一次產(chǎn)品,那么應(yīng)將中心倉庫建在哪個(gè)銷售點(diǎn)上才能使運(yùn)輸費(fèi)用最低。

      十七、集合的交、并和差運(yùn)算的實(shí)現(xiàn)(1-2人)

      ? 問題描述:用有序單鏈表表示集合,實(shí)現(xiàn)集合的交、并、差運(yùn)算 ? 基本要求: 空間復(fù)雜度為O(1)

      十八、單鏈表實(shí)現(xiàn)十進(jìn)制大整數(shù)運(yùn)算(1-2人)

      ? 問題描述:使用單鏈表實(shí)現(xiàn)不限大小的整數(shù),每個(gè)結(jié)點(diǎn)存儲(chǔ)一位數(shù)字,要求實(shí)現(xiàn)加、減運(yùn)算。即能從鍵盤上輸入兩個(gè)大整數(shù),比如:***12345和-***11111,則加的結(jié)果應(yīng)為:***01234;減的結(jié)果應(yīng)為:***23456。? 基本要求: 從鍵盤上輸入運(yùn)算數(shù)和運(yùn)算符,輸出結(jié)果。

      十九、哈夫曼編碼(4-5人)

      ? 問題描述:利用哈夫曼編碼進(jìn)行通信可以大大提高信道利用率,縮短信息傳輸時(shí)間,降低傳輸成本。這就要求在發(fā)送端通過一個(gè)編碼系統(tǒng)對(duì)待傳數(shù)據(jù)預(yù)先編碼,在接收端將傳來的數(shù)據(jù)進(jìn)行譯碼。對(duì)于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個(gè)完成的編譯碼系統(tǒng)。試為這樣的信息收發(fā)站寫一個(gè)哈夫曼的編譯碼系統(tǒng)。?

      基本要求:

      1.初始化。從終端讀入字符集大小n,以及n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹。

      2.編碼。利用已建好的哈夫曼樹,對(duì)正文進(jìn)行編碼。

      3.譯碼。對(duì)編碼好的內(nèi)容進(jìn)行譯碼。

      4.打印編碼。

      二十、商品貨架管理(2人)

      ? 問題描述:商品貨架可以看成一個(gè)棧,棧頂商品的生產(chǎn)日期最早,棧底商品的生產(chǎn)日期最近。上貨時(shí)需要倒貨架,以保證生產(chǎn)商品較近的商品在較下的位置。用棧和隊(duì)列作為周轉(zhuǎn),實(shí)現(xiàn)上述管理過程。

      二十一、稀疏矩陣運(yùn)算器(3人)

      ? 問題描述:實(shí)現(xiàn)兩個(gè)稀疏矩陣的加、減、乘運(yùn)算。

      ? 基本要求:可用三元組順序表存儲(chǔ)稀疏矩陣,矩陣的運(yùn)算結(jié)果以通常的陣列形式輸出。

      二十二、校園導(dǎo)游程序(3-4人)

      ? 問題描述:用無向圖表示你所在學(xué)校的景點(diǎn)平面圖,圖中頂點(diǎn)表示主要景點(diǎn),存放景點(diǎn)的編號(hào)、名稱、簡介等信息,圖中的邊表示景點(diǎn)間的道路,存放路徑長度等消息。? 基本要求:

      1.能查詢各景點(diǎn)的相關(guān)信息

      2.為來訪客人提供景點(diǎn)的問路查詢,即已知一個(gè)景點(diǎn),查詢到某景點(diǎn)之間的一條最短路徑及長度。

      二十三、排序綜合(2-3人)

      ? 問題描述:利用隨機(jī)函數(shù)產(chǎn)生N個(gè)隨機(jī)整數(shù)(20000以上),對(duì)這些數(shù)使用多種方法進(jìn)行排序。? 基本要求: 1.至少采用三種方法(希爾排序、快速排序、堆排序)實(shí)現(xiàn)上述問題求解

      2.統(tǒng)計(jì)每一種排序方法的性能(以上機(jī)運(yùn)行程序所花費(fèi)的時(shí)間為準(zhǔn)進(jìn)行對(duì)比),找出其中兩種較快的方法

      3.統(tǒng)計(jì)每種算法所用的比較次數(shù)和交換次數(shù),最后列表顯示

      二十四、線索二叉樹(1人)

      ? 問題描述:建立一個(gè)中序線索二叉樹,并且完成中序遍歷。求該中序線索二叉樹上已知結(jié)點(diǎn)在中序的前驅(qū)和后繼;

      第二篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目.

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      1.運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)(限1 人完成)

      任務(wù):參加運(yùn)動(dòng)會(huì)有n個(gè)學(xué)校,學(xué)校編號(hào)為1……n。比賽分成m個(gè)男子項(xiàng)目,和w個(gè)女子項(xiàng)目。項(xiàng)目編號(hào)為男子1……m,女子m+1……m+w。不同的項(xiàng)目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。(m<=20,n<=20)

      功能要求:

      1)可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績; 2)能統(tǒng)計(jì)各學(xué)??偡郑?)可以按學(xué)校編號(hào)或名稱、學(xué)??偡?、男女團(tuán)體總分排序輸出;

      4)可以按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校。5)數(shù)據(jù)存入文件并能隨時(shí)查詢

      6)規(guī)定:輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,運(yùn)動(dòng)項(xiàng)目的名稱

      輸出形式:有合理的提示,各學(xué)校分?jǐn)?shù)為整形

      界面要求:有合理的提示,每個(gè)功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。

      存儲(chǔ)結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要存儲(chǔ)在數(shù)據(jù)文件中。(數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在c語言程序設(shè)計(jì)的書上,請(qǐng)自學(xué)解決)請(qǐng)?jiān)谧詈蟮纳辖毁Y料中指明你用到的存儲(chǔ)結(jié)構(gòu);

      測(cè)試數(shù)據(jù):要求使用

      1、全部合法數(shù)據(jù);

      2、整體非法數(shù)據(jù);

      3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,以保證程序的穩(wěn)定。測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫明;

      2.飛機(jī)訂票系統(tǒng)(限1 人完成)

      任務(wù):通過此系統(tǒng)可以實(shí)現(xiàn)如下功能:

      錄入:

      可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)

      查詢:

      可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉);

      可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;

      訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)

      可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;

      退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;

      客戶資料有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào)。

      修改航班信息:

      當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件

      要求:

      根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完成功能;

      3.文章編輯(限1 人完成)

      功能:輸入一頁文字,程序可以統(tǒng)計(jì)出文字、數(shù)字、空格的個(gè)數(shù)。

      靜態(tài)存儲(chǔ)一頁文章,每行最多不超過80個(gè)字符,共N行;要求(1)分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);(2)統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);(3)刪除某一子串,并將后面的字符前移。

      存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能;

      輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)。

      輸出形式:(1)分行輸出用戶輸入的各行字符;(2)分4行輸出“全部字母數(shù)”、“數(shù)字個(gè)數(shù)”、“空格個(gè)數(shù)”、“文章總字?jǐn)?shù)”(3)輸出刪除某一字符串后的文章;

      4.宿舍管理查詢軟件(限1 人完成)

      1)任務(wù):為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件, 程序設(shè)計(jì)要求: A.采用交互工作方式

      B.建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序(冒泡、選擇、插入排序等任選一種)2)查詢菜單:(用二分查找實(shí)現(xiàn)以下操作)A.按姓名查詢

      B.按學(xué)號(hào)查詢

      C.按房號(hào)查詢

      3)打印任一查詢結(jié)果(可以連續(xù)操作)

      5.校園導(dǎo)航問題(限1 人完成)

      設(shè)計(jì)要求:設(shè)計(jì)你的學(xué)校的平面圖,至少包括10個(gè)以上的場所,每兩個(gè)場所間可以有不同的路,且路長也可能不同,找出從任意場所到達(dá)另一場所的最佳路徑(最短路徑)。

      6.教學(xué)計(jì)劃編制問題(限1 人完成)

      設(shè)計(jì)要求:針對(duì)計(jì)算機(jī)系本科課程,根據(jù)課程之間的依賴關(guān)系(如離散數(shù)學(xué)應(yīng)在數(shù)據(jù)結(jié)構(gòu)之前開設(shè))制定課程安排計(jì)劃,并滿足各學(xué)期課程數(shù)目大致相同。

      7.散列法的實(shí)驗(yàn)研究(限1 人完成)

      散列法中,散列函數(shù)構(gòu)造方法多種多樣,同時(shí)對(duì)于同一散列函數(shù)解決沖突的方法也可以不同。兩者是影響查詢算法性能的關(guān)鍵因素。對(duì)于幾種典型的散列函數(shù)構(gòu)造方法,做實(shí)驗(yàn)觀察,不同的解決沖突方法對(duì)查詢性能的影響。

      8.圖書借閱管理系統(tǒng)(限1 人完成)

      主要分為兩大功能:

      1)圖書管理(增加圖書、查詢圖書、刪除圖書、圖書借閱、還書); 2)會(huì)員管理(增加會(huì)員、查詢會(huì)員、刪除會(huì)員、借書信息);

      9.學(xué)生成績管理(限1 人完成)

      實(shí)現(xiàn)功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、保存、拷貝、排序、索引、分類合計(jì)、退出。

      10.活期儲(chǔ)蓄帳目管理(限1 人完成)

      活期儲(chǔ)蓄處理中,儲(chǔ)戶開戶、銷戶、存入、支出活動(dòng)頻繁,系統(tǒng)設(shè)計(jì)要求: 1)能比較迅速地找到儲(chǔ)戶的帳戶,以實(shí)現(xiàn)存款、取款記賬; 2)能比較簡單,迅速地實(shí)現(xiàn)插入和刪除,以實(shí)現(xiàn)開戶和銷戶的需要。

      11.二叉排序樹的實(shí)現(xiàn)(限1 人完成)

      用順序和二叉鏈表作存儲(chǔ)結(jié)構(gòu)

      1)以回車('n')為輸入結(jié)束標(biāo)志,輸入數(shù)列L,生成一棵二叉排 序樹T; 2)對(duì)二叉排序樹T作中序遍歷,輸出結(jié)果;

      3)輸入元素x,查找二叉排序樹T,若存在含x的結(jié)點(diǎn),則刪除該結(jié)點(diǎn),并作中序遍歷(執(zhí)行操作2);否則輸出信息“無x”;

      12.最小生成樹問題(限1 人完成)

      設(shè)計(jì)要求:在n個(gè)城市之間建設(shè)網(wǎng)絡(luò),只需保證連通即可,求最經(jīng)濟(jì)的架設(shè)方法。存儲(chǔ)結(jié)構(gòu)采用多種。求解算法多種。

      13.通訊錄的制作(限1 人完成)

      設(shè)計(jì)目的:用〈〈數(shù)據(jù)結(jié)構(gòu)〉〉中的雙向鏈表作數(shù)據(jù)結(jié)構(gòu),結(jié)合C語言基本知識(shí)。編寫一個(gè)通訊錄管理系統(tǒng)。以把所學(xué)數(shù)據(jù)結(jié)構(gòu)知識(shí)應(yīng)用到實(shí)際軟件開發(fā)中去。設(shè)計(jì)內(nèi)容:本系統(tǒng)應(yīng)完成一下幾方面的功能: 1)輸入信息——enter();2)顯示信息———display();3)查找以姓名作為關(guān)鍵字 ———search();4)刪除信息———delete();5)存盤———save();6)裝入———load();設(shè)計(jì)要求:

      1)每條信息至包含 :姓名(NAME)街道(STREET)城市(CITY)郵編(EIP)國家(STATE)幾項(xiàng) 2)作為一個(gè)完整的系統(tǒng),應(yīng)具有友好的界面和較強(qiáng)的容錯(cuò)能力 3)上機(jī)能正常運(yùn)行,并寫出課程設(shè)計(jì)報(bào)告

      14.哈夫曼編碼/譯碼器(限1 人完成)【問題描述】

      設(shè)計(jì)一個(gè)利用哈夫曼算法的編碼和譯碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止?!净疽蟆?/p>

      1)將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中)2)分別采用動(dòng)態(tài)和靜態(tài)存儲(chǔ)結(jié)構(gòu)

      3)初始化:鍵盤輸入字符集大小n、n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹; 4)編碼:利用建好的哈夫曼樹生成哈夫曼編碼; 5)輸出編碼;

      6)設(shè)字符集及頻度如下表:

      字符 空格 A B C D E F G H I J K L M 頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 頻度 57 63 15 1 48 51 80 23 8 18 1 16 1 【進(jìn)一步完成內(nèi)容】 1)譯碼功能; 2)顯示哈夫曼樹; 3)界面設(shè)計(jì)的優(yōu)化。

      15.圖書管理系統(tǒng)(限1 人完成)【問題描述】

      設(shè)計(jì)一個(gè)計(jì)算機(jī)管理系統(tǒng)完成圖書管理基本業(yè)務(wù)?!净疽蟆?/p>

      1)每種書的登記內(nèi)容包括書號(hào)、書名、著作者、現(xiàn)存量和庫存量; 2)對(duì)書號(hào)建立索引表(線性表)以提高查找效率; 3)系統(tǒng)主要功能如下:

      *采編入庫:新購一種書,確定書號(hào)后,登記到圖書帳目表中,如果表中已有,則只將庫存量增加; *借閱:如果一種書的現(xiàn)存量大于0,則借出一本,登記借閱者的書證號(hào)和歸還期限,改變現(xiàn)存量; *歸還:注銷對(duì)借閱者的登記,改變?cè)摃默F(xiàn)存量?!具M(jìn)一步完成內(nèi)容】 1)系統(tǒng)功能的進(jìn)一步完善; 2)索引表采用樹表。3)設(shè)計(jì)內(nèi)容 4)程序流程圖 5)源程序

      6)軟件測(cè)試報(bào)告(包括所用到的數(shù)據(jù)及結(jié)果)

      16.散列表的設(shè)計(jì)與實(shí)現(xiàn)(限1 人完成)【問題描述】

      設(shè)計(jì)散列表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)?!净疽蟆?/p>

      1)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;

      2)從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立散列表; 3)采用一定的方法解決沖突; 4)查找并顯示給定電話號(hào)碼的記錄; 5)查找并顯示給定用戶名的記錄?!具M(jìn)一步完成內(nèi)容】 1)系統(tǒng)功能的完善;

      2)設(shè)計(jì)不同的散列函數(shù),比較沖突率;

      3)在散列函數(shù)確定的前提下,嘗試各種不同類型處理沖突的方法,考察平均查找長度的變化。

      17.順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)。(限1 人完成)

      設(shè)有一元多項(xiàng)式Am(x)和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm

      Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn

      請(qǐng)實(shí)現(xiàn)求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。要求:

      1)首先判定多項(xiàng)式是否稀疏

      2)分別采用順序和動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn); 3)結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng); 4)要求輸出結(jié)果的升冪和降冪兩種排列情況

      18.利用棧求表達(dá)式的值,可供小學(xué)生作業(yè),并能給出分?jǐn)?shù)。(限1 人完成)

      要求:建立試題庫文件,隨機(jī)產(chǎn)生n個(gè)題目;題目涉及加減乘除,帶括弧的混合運(yùn)算;隨時(shí)可以退出;保留歷史分?jǐn)?shù),能回顧歷史,給出與歷史分?jǐn)?shù)比較后的評(píng)價(jià)

      19.簡易文本編輯器(限1 人完成)要求:

      1)具有圖形菜單界面;

      2)查找,替換(等長,不等長),插入(插串,文本塊的插入)、塊移動(dòng)(行塊,列塊移動(dòng)),刪除 3)可正確存盤、取盤; 4)正確顯示總行數(shù)。

      20.二叉樹的中序、前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。(限1 人完成)

      要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。

      樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹的前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。

      要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。

      21.學(xué)生搭配問題(限1 人完成)

      一班有m個(gè)女生,有n個(gè)男生(m不等于n),現(xiàn)要開一個(gè)舞會(huì).男女生分別編號(hào)坐在舞池的兩邊的椅子上.每曲開始時(shí),依次從男生和女生中各出一人配對(duì)跳舞, 本曲沒成功配對(duì)者坐著等待下一曲找舞伴.請(qǐng)?jiān)O(shè)計(jì)一系統(tǒng)模擬動(dòng)態(tài)地顯示出上述過程,要求如下: 1)輸出每曲配對(duì)情況

      2)計(jì)算出任何一個(gè)男生(編號(hào)為X)和任意女生(編號(hào)為Y),在第K曲配對(duì)跳舞的情況.至少求出K的兩個(gè)值.3)盡量設(shè)計(jì)出多種算法及程序,可視情況適當(dāng)加分

      提示:用隊(duì)列來解決比較方便.22.猴子吃桃子問題(限1 人完成)

      有一群猴子摘了一堆桃子,他們每天都吃當(dāng)前桃子的一半且再多吃一個(gè),到了第10天就只余下一個(gè)桃子。用多種方法實(shí)現(xiàn)求出原來這群猴子共摘了多少個(gè)桃子。

      要求:

      1)采用數(shù)組數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上述求解 2)采用鏈數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上述求解 3)采用遞歸實(shí)現(xiàn)上述求解

      23.數(shù)制轉(zhuǎn)換問題(限1 人完成)

      任意給定一個(gè)M進(jìn)制的數(shù)x,請(qǐng)實(shí)現(xiàn)如下要求 1)求出此數(shù)x的10進(jìn)制值(用MD表示)2)實(shí)現(xiàn)對(duì)x向任意的一個(gè)非M進(jìn)制的數(shù)的轉(zhuǎn)換。

      3)至少用兩種或兩種以上的方法實(shí)現(xiàn)上述要求(用棧解決,用數(shù)組解決,其它方法解決)。

      24.排序綜合(限1 人完成)

      利用隨機(jī)函數(shù)產(chǎn)生N個(gè)隨機(jī)整數(shù)(20000以上),對(duì)這些數(shù)進(jìn)行多種方法進(jìn)行排序。要求:

      1)至少采用三種方法實(shí)現(xiàn)上述問題求解(提示,可采用的方法有插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸并排序)。并把排序后的結(jié)果保存在不同的文件中。

      2)統(tǒng)計(jì)每一種排序方法的性能(以上機(jī)運(yùn)行程序所花費(fèi)的時(shí)間為準(zhǔn)進(jìn)行對(duì)比),找出其中兩種較快的方法。3)如果采用4種或4種以上的方法者,可適當(dāng)加分。

      25.學(xué)生成績管理系統(tǒng)(限1 人完成)現(xiàn)有學(xué)生成績信息文件1(1.txt),內(nèi)容如下 姓名 學(xué)號(hào) 語文 數(shù)學(xué) 英語

      張明明 01 67 78 82 李成友 02 78 91 88 張輝燦 03 68 82 56 王露 04 56 45 77 陳東明 05 67 38 47 ….......…

      學(xué)生成績信息文件2(2.txt),內(nèi)容如下: 姓名 學(xué)號(hào) 語文 數(shù)學(xué) 英語

      陳果 31 57 68 82 李華明 32 88 90 68 張明東 33 48 42 56 李明國 34 50 45 87 陳道亮 35 47 58 77 ….......… 試編寫一管理系統(tǒng),要求如下: 1)實(shí)現(xiàn)對(duì)兩個(gè)文件數(shù)據(jù)進(jìn)行合并,生成新文件3.txt 2)抽取出三科成績中有補(bǔ)考的學(xué)生并保存在一個(gè)新文件4.txt 3)合并后的文件3.txt中的數(shù)據(jù)按總分降序排序(至少采用兩種排序方法實(shí)現(xiàn))4)輸入一個(gè)學(xué)生姓名后,能查找到此學(xué)生的信息并輸出結(jié)果(至少采用兩種查找方法實(shí)現(xiàn))5)要求使用結(jié)構(gòu)體,鏈或數(shù)組等實(shí)現(xiàn)上述要求.6)采用多種方法且算法正確者,可適當(dāng)加分.26.圖的遍歷的實(shí)現(xiàn)(限1 人完成)要求:

      1)先任意創(chuàng)建一個(gè)圖;

      2)圖的DFS,BFS的遞歸和非遞歸算法的實(shí)現(xiàn) 3)要求用有向圖和無向圖分別實(shí)現(xiàn)

      4)要求用鄰接矩陣、鄰接表多種結(jié)構(gòu)存儲(chǔ)實(shí)現(xiàn)

      27.線索二叉樹的應(yīng)用(限1 人完成)

      要求:實(shí)現(xiàn)線索樹建立、插入、刪除、恢復(fù)線索的實(shí)現(xiàn)。

      28.稀疏矩陣應(yīng)用(限1 人完成)

      要求:實(shí)現(xiàn)三元組,十字鏈表下的稀疏矩陣的加、轉(zhuǎn)、乘的實(shí)現(xiàn)。(1)稀疏矩陣的存儲(chǔ)(2)稀疏矩陣加法(3)矩陣乘法(4)矩陣轉(zhuǎn)置

      29.樹的應(yīng)用(限1 人完成)

      要求:實(shí)現(xiàn)樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹的前序、后序的遞歸、非遞歸算法,層次序的非遞歸算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。

      30.文本文件單詞的檢索與計(jì)數(shù) 設(shè)計(jì)要求與分析:

      要求編程建立一個(gè)文本文件,每個(gè)單詞不包含空格且不跨行,單詞由字符序列構(gòu)成且區(qū)分大小寫;統(tǒng)計(jì)給定單詞在文本文件中出現(xiàn)的總次數(shù);檢索輸出某個(gè)單詞出現(xiàn)在文本中的行號(hào)、在該行中出現(xiàn)的次數(shù)以及位置。該設(shè)計(jì)要求可分為三個(gè)部分實(shí)現(xiàn):其一,建立文本文件,文件名由用戶用鍵盤輸入;其二,給定單詞的計(jì)數(shù),輸入一個(gè)不含空格的單詞,統(tǒng)計(jì)輸出該單詞在文本中的出現(xiàn)次數(shù);其三,檢索給定單詞,輸入一個(gè)單詞,檢索并輸出該單詞所在的行號(hào)、該行中出現(xiàn)的次數(shù)以及在該行中的相應(yīng)位置。(1).建立文本文件(2)給定單詞的計(jì)數(shù)

      (3)檢索單詞出現(xiàn)在文本文件中的行號(hào)、次數(shù)及其位置(4)主控菜單程序的結(jié)構(gòu) ① 頭文件包含 ② 菜單選項(xiàng)包含

      建立文件、單詞定位、單詞計(jì)數(shù)、退出程序 ③ 選擇1-4執(zhí)行相應(yīng)的操作,其他字符為非法。

      31.任意長的整數(shù)加法(限1 人完成)

      問題描述:設(shè)計(jì)一個(gè)程序?qū)崿F(xiàn)兩個(gè)任意長的整數(shù)的求和運(yùn)算。

      基本要求:利用雙向循環(huán)鏈表,設(shè)計(jì)一個(gè)實(shí)現(xiàn)任意長的整數(shù)進(jìn)行加法運(yùn)算的演示程序。要求輸入和輸出每四位一組,組間用逗號(hào)隔開。如:1,0000,0000,0000,0000。

      32.二叉平衡排序樹(限1 人完成)

      問題描述:從一棵空樹開始創(chuàng)建,在創(chuàng)建過程中,保證樹的有序性,同時(shí)還要針對(duì)樹的平衡性做些調(diào)整。最終要把創(chuàng)建好的二叉排序樹轉(zhuǎn)換為二叉平衡排序樹?;疽螅?.創(chuàng)建(插入、調(diào)整、改組)

      2.輸出

      33.串的查找和替換(限1 人完成)

      問題描述:打開一篇英文文章,在該文章中找出所有給定的單詞,然后對(duì)所有給定的單詞替換為另外一個(gè)單詞,再存盤。

      34.約瑟夫環(huán)(限1 人完成)

      問題描述:編號(hào)為1,2… n的n個(gè)人按順時(shí)針方向圍坐一圈,每人持有一個(gè)密碼(正整數(shù))。一開始任選一個(gè)正整數(shù)作為報(bào)數(shù)的上限值m,從第一個(gè)人開始按順時(shí)針方向自1開始順序報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),報(bào)m的人出列,將他的密碼作為新的m值,從他的順時(shí)針方向上的下一個(gè)開始重新從1報(bào)數(shù),如此下去,直至所有人全部出列為止,設(shè)計(jì)一個(gè)程序求出出列順序。

      基本要求:

      1、利用單循環(huán)鏈表作為存儲(chǔ)結(jié)構(gòu)模擬此過程;

      2、鍵盤輸入總?cè)藬?shù)、初始報(bào)數(shù)上限值m及各人密碼;

      3、按照出列順序輸出各人的編號(hào)。

      35.構(gòu)造可以使n個(gè)城市連接的最小生成樹(限1 人完成)

      問題描述:給定一個(gè)地區(qū)的n個(gè)城市間的距離網(wǎng),用Prim算法或Kruskal算法建立最小生成樹,并計(jì)算得到的最小生成樹的代價(jià)。基本要求:

      1、城市間的距離網(wǎng)采用鄰接矩陣表示,鄰接矩陣的存儲(chǔ)結(jié)構(gòu)定義采用課本中給出的定義,若兩個(gè)城市之間不存在道路,則將相應(yīng)邊的權(quán)值設(shè)為自己定義的無窮大值。要求在屏幕上顯示得到的最小生成樹中包括了哪些城市間的道路,并顯示得到的最小生成樹的代價(jià)。

      2、表示城市間距離網(wǎng)的鄰接矩陣(要求至少6個(gè)城市,10條邊)

      3、最小生成樹中包括的邊及其權(quán)值,并顯示得到的最小生成樹的代價(jià)。

      36.客戶消費(fèi)積分管理系統(tǒng)(限1 人完成)

      問題描述:針對(duì)客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對(duì)客戶實(shí)行不同程度的打折優(yōu)惠?;疽螅?/p>

      1.采用一定的存儲(chǔ)結(jié)構(gòu)進(jìn)行客戶信息的存儲(chǔ); 2.對(duì)客戶的信息可以進(jìn)行修改、刪除、添加; 3.能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分的計(jì)算; 4.根據(jù)積分情況實(shí)行不同程度的打折優(yōu)惠;

      37.產(chǎn)品進(jìn)銷存管理系統(tǒng)(限1 人完成)

      問題描述:針對(duì)某一種行業(yè)的庫房的產(chǎn)品進(jìn)銷存情況進(jìn)行管理?;疽螅?/p>

      1.采用一定的存儲(chǔ)結(jié)構(gòu)對(duì)庫房的貨品及其數(shù)量進(jìn)行分類管理; 2.可以進(jìn)行產(chǎn)品類的添加、產(chǎn)品的添加、產(chǎn)品數(shù)量的添加;

      3.能夠查詢庫房每種產(chǎn)品的總量、進(jìn)貨日期、銷出數(shù)量、銷售時(shí)間等;

      38.特殊矩陣的壓縮存儲(chǔ)算法的實(shí)現(xiàn)(限1 人完成)問題描述:對(duì)于特殊矩陣可以通過壓縮存儲(chǔ)減少存儲(chǔ)空間?;疽螅?/p>

      1.針對(duì)多種特殊矩陣進(jìn)行壓縮存儲(chǔ),并能顯示壓縮后的相關(guān)地址和值; 2.輸入在原來特殊矩陣中的地址,要求能從壓縮后的矩陣中讀出相應(yīng)的值;

      39.算術(shù)表達(dá)式的求解(限1 人完成)

      問題描述:給定一個(gè)算術(shù)表達(dá)式,通過程序求出最后的結(jié)果?;疽螅?/p>

      1. 從鍵盤輸入要求解的算術(shù)表達(dá)式; 2. 采用棧結(jié)構(gòu)進(jìn)行算術(shù)表達(dá)式的求解過程; 3. 能夠判斷算術(shù)表達(dá)式正確與否; 4. 對(duì)于錯(cuò)誤表達(dá)式給出提示; 5. 對(duì)于正確的表達(dá)式給出最后的結(jié)果;

      40.實(shí)時(shí)監(jiān)控報(bào)警系統(tǒng)(限1 人完成)問題描述:建立一個(gè)報(bào)警和出警管理的系統(tǒng) 基本要求:

      1.采用一定的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)報(bào)警信息,要求有內(nèi)容、時(shí)間; 2.有一次的出警就應(yīng)該在待處理的信息中刪除這條信息; 3.記錄出警信息;

      4.待處理信息過多時(shí)會(huì)發(fā)出警告;

      41.車廂調(diào)度(限1 人完成)

      問題描述:假設(shè)停在鐵路調(diào)度站入口處的車廂序列的編號(hào)一次為1,2,3,4。設(shè)計(jì)一個(gè)程序,求出所有可能由此輸出的長度為4的車廂序列。

      42.迷宮問題(棧)問題描述:

      以一個(gè)m*n的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結(jié)論?;疽螅?/p>

      首先實(shí)現(xiàn)一個(gè)以鏈表作存儲(chǔ)結(jié)構(gòu)的棧類型,然后編寫一個(gè)求解迷宮的非遞歸程序。求得的通路以三元組(i,j,d)的形式輸出,其中:(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向,如:對(duì)于下列數(shù)據(jù)的迷宮,輸出的一條通路為:(1,1,1),(1,2,2),(3,2,3),(3,1,2),…。測(cè)試數(shù)據(jù):

      迷宮的測(cè)試數(shù)據(jù)如下:左下角(1,1)為入口,右下角(8,9)為出口。實(shí)現(xiàn)提示: 計(jì)算機(jī)解迷宮通常用的是“窮舉求解”方法,即從入口出發(fā),順著某個(gè)方向進(jìn)行探索,若能走通,則繼續(xù)往前進(jìn);否則沿著原路退回,換一個(gè)方向繼續(xù)探索,直至出口位置,求得一條通路。假如所有可能的通路都探索到而未能到達(dá)出口,則所設(shè)的迷宮沒有通路。

      可以二維數(shù)組存儲(chǔ)迷宮數(shù)據(jù),通常設(shè)定入口點(diǎn)的下標(biāo)為(1,1),出口點(diǎn)的下標(biāo)為(n,n)。為處理方便起見,可在迷宮的四周加一圈障礙。對(duì)于迷宮中任一位置,均可約定有東、南、西、北四個(gè)方向可通。選做內(nèi)容:

      (1)編寫遞歸形式的算法,求得迷宮中所有可能的通路;(2)以方陣形式輸出迷宮及其通路。43.迷宮問題(隊(duì)列)(同上)44二叉搜索樹:各種搜索樹效率比較 題目要求:

      本題目要求對(duì)普通的二叉排序樹、AVL樹分別實(shí)現(xiàn)制定操作,并分析比較這兩種不同數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的一系列插入和刪除操作的效率。要求測(cè)試對(duì)N個(gè)不同整數(shù)進(jìn)行下列操作的效率:(1)按遞增順序插入N個(gè)整數(shù),并按同樣順序刪除;(2)按遞增順序插入N個(gè)整數(shù),并按相反順序刪除;(3)按隨機(jī)順序插入N個(gè)整數(shù),并按隨機(jī)順序刪除;

      要求N從1000到10000取值,并以數(shù)據(jù)規(guī)模N為橫軸,運(yùn)行時(shí)間為縱軸,畫出3種不同數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的操作效率比較圖。

      45.病毒測(cè)試程序 本題的任務(wù)是:

      當(dāng)整個(gè)網(wǎng)絡(luò)被感染后,計(jì)算有多少臺(tái)機(jī)器被某個(gè)特定變種所感染。輸入要求:

      輸入由若干組測(cè)試數(shù)據(jù)組成。

      每組數(shù)據(jù)的第1行包含2個(gè)整數(shù)M和N(1≤M,N≤500),接下來是一個(gè)M*N的矩陣表示網(wǎng)絡(luò)的初始感染狀態(tài),其中的正、負(fù)整數(shù)的意義如題目描述中所定義。

      下面一行給出一個(gè)正整數(shù)Q,是將要查詢的變種的個(gè)數(shù)。接下去的Q行里,每行給出一個(gè)變種的類型。當(dāng)M或N為0時(shí),表示全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理。輸出要求:

      對(duì)每一組測(cè)試,在一行里輸出被某個(gè)特定變種所感染的機(jī)器數(shù)量。

      46關(guān)鍵路徑問題(限1 人完成)

      問題描述:設(shè)計(jì)一個(gè)程序求出完成整項(xiàng)工程至少需要多少時(shí)間以及整項(xiàng)工程中的關(guān)鍵活動(dòng)?;疽螅?/p>

      (1)對(duì)一個(gè)描述工程的AOE網(wǎng),應(yīng)判斷其是否能夠順利進(jìn)行。

      (2)若該工程能順利進(jìn)行,輸出完成整項(xiàng)工程至少需要多少時(shí)間,以及每一個(gè)關(guān)鍵活動(dòng)所依附的兩個(gè)頂點(diǎn)、最早發(fā)生時(shí)間、最遲發(fā)生時(shí)間。

      47.神秘國度的愛情故事

      輸入要求:輸入由若干組測(cè)試數(shù)據(jù)組成。

      每組數(shù)據(jù)的第1行包含一正整數(shù)N(1≤N≤50000),代表神秘國度中小村的個(gè)數(shù),每個(gè)小村即從0到N-1編號(hào)。接下來有N-1行輸入,每行包含一條雙向道路的兩端小村的編號(hào),中間用空格分開。之后一行包含一正整數(shù)M(1≤M≤500000),代表著該組測(cè)試問題的個(gè)數(shù)。接下來M行,每行給出A,B,C三個(gè)小村 的編號(hào),中間用空格分開。當(dāng)N為0時(shí),表示全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理。

      輸出要求:對(duì)每一組測(cè)試給定的A,B,C,在一行里輸出答案,即:如果C在A和B之間的路徑上,輸出Yes,否則輸出No。

      48.并查集:檢查網(wǎng)絡(luò)

      題目要求:給定一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)以及機(jī)器間的雙向連線列表,每一條連線允許兩端的計(jì)算機(jī)進(jìn)行直接的文件傳輸,其他計(jì)算機(jī)間若存在一條連通路徑,也可以進(jìn)行間接的文件傳輸。請(qǐng)寫出程序判斷:任意指定兩臺(tái)計(jì)算機(jī),它們之間是否可以進(jìn)行文件傳輸?

      輸入要求:輸入若干測(cè)試數(shù)據(jù)組成。對(duì)于每一組測(cè)試,第1行包含一個(gè)整數(shù)N(≤10000),即網(wǎng)絡(luò)中計(jì)算機(jī)的總臺(tái)數(shù),因而每臺(tái)計(jì)算機(jī)可用1到N之間的一個(gè)正整數(shù)表示。接下來的幾行輸入格式為I C1 C2或者 C或者C C1C2或者S,其中C1和C2是兩臺(tái)計(jì)算機(jī)的序號(hào),I表示在C1和C2間輸入一條連線,C表示檢查C1和C2間是否可以傳輸文件,S表示該組測(cè)試結(jié)束。當(dāng)N為0時(shí),表示全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理。

      輸出要求:對(duì)每一組C開頭的測(cè)試,檢查C1和C2間是否可以傳輸文件,若可以,則在一行中輸出“yes”,否則輸出“no”。

      當(dāng)讀到S時(shí),檢查整個(gè)網(wǎng)絡(luò)。若網(wǎng)絡(luò)中任意兩機(jī)器間都可以傳輸文件,則在一行中輸出“The network is connected.”,否則輸出“There are k components.”,其中k是網(wǎng)絡(luò)中連通集的個(gè)數(shù)。兩組測(cè)試數(shù)據(jù)之間請(qǐng)輸出一空行分隔。

      49.廣義表的應(yīng)用

      由于廣義表在結(jié)構(gòu)上較線性表復(fù)雜得多,因此,廣義表的運(yùn)算也不如線性表簡單。本設(shè)計(jì)要求實(shí)現(xiàn)的廣義表的建立、查找、輸出、取表頭和取表尾以及求深度、求逆表等。本設(shè)計(jì)用一個(gè)主控菜單程序控制,共分為6個(gè)子系統(tǒng)。(1).建立廣義表(2)輸出廣義表(3)結(jié)點(diǎn)的查找(4)求廣義表表頭(5)求廣義表表尾(6)求廣義表的深度

      50.網(wǎng)絡(luò)流:宇宙旅行 題目要求:

      在走遍了地球上的所有景點(diǎn)以后,旅游狂人開始計(jì)劃他的宇宙旅行項(xiàng)目。經(jīng)過謹(jǐn)慎調(diào)查,他目前掌握了一張各衛(wèi)星空間站可以臨時(shí)容納的旅客人數(shù)列表。但旅客從一個(gè)星球飛往另一個(gè)星球時(shí),需要在若干衛(wèi)星空間站臨時(shí)停靠中轉(zhuǎn),而這些空間站不能接待任何旅客駐留,旅客必須立刻轉(zhuǎn)乘另一艘飛船離開,所以空間站不能接待超過自己最大容量的旅客流。為了估計(jì)預(yù)算,現(xiàn)在旅游狂人需要知道終點(diǎn)星球的接待站應(yīng)該設(shè)計(jì)多大容量,才能使得每艘飛船在到達(dá)時(shí)都可以保證讓全部旅客下船。輸入要求:

      輸入若干組測(cè)試數(shù)據(jù)組成。

      每組測(cè)試數(shù)據(jù)的第1行包含旅行的起點(diǎn)星球和終點(diǎn)星球的名稱和一個(gè)不超過500的正整數(shù)N(N為0標(biāo)志全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理)。

      接下來的N行里,數(shù)據(jù)格式為:sourcei capacityi,其中sourcei和destinationi是衛(wèi)星空間站的名稱或起點(diǎn)、終點(diǎn)星球的名稱,正整數(shù)capacityi是飛船從sourcei到destinationi一次能運(yùn)載的最大旅客流量。每個(gè)名稱是由A~Z之間三個(gè)大寫字母組成的字符串,例如:ZJU。測(cè)試數(shù)據(jù)中不包含任何到達(dá)起點(diǎn)星球的信息以及任何從終點(diǎn)星球出發(fā)的信息。輸出要求:

      對(duì)每一組測(cè)試,在一行里輸出終點(diǎn)星球接待站應(yīng)具有的最小容量,使得每艘飛船在到達(dá)時(shí)都可以保證讓全部旅客下船。

      第三篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目 以下8個(gè)題目任選其一。

      1.排序算法比較

      利用隨機(jī)函數(shù)產(chǎn)生30000個(gè)隨機(jī)整數(shù),利用插入排序、起泡排序、選擇排序、快速排序、堆排序、歸并排序等排序方法進(jìn)行排序,并且(1)統(tǒng)計(jì)每一種排序上機(jī)所花費(fèi)的時(shí)間。

      (2)統(tǒng)計(jì)在完全正序,完全逆序情況下記錄的比較次數(shù)和移動(dòng)次數(shù)。(3)比較的指標(biāo)為關(guān)鍵字的比較次數(shù)和記錄的移動(dòng)次數(shù)(一次記錄交換計(jì)為3次移動(dòng))。

      (4)對(duì)結(jié)果作簡單分析,包括對(duì)各組數(shù)據(jù)得出結(jié)果波動(dòng)大小的解釋。2.圖的深度遍歷

      對(duì)任意給定的圖(頂點(diǎn)數(shù)和邊數(shù)自定),建立它的鄰接表并輸出,然后利用堆棧的五種基本運(yùn)算(清空堆棧、壓棧、彈出、取棧頂元素、判??眨?shí)現(xiàn)圖的深度優(yōu)先搜索遍歷。畫出搜索順序示意圖。3.圖的廣度遍歷

      對(duì)任意給定的圖(頂點(diǎn)數(shù)和邊數(shù)自定),建立它的鄰接表并輸出,然后利用隊(duì)列的五種基本運(yùn)算(置空隊(duì)列、進(jìn)隊(duì)、出隊(duì)、取隊(duì)頭元素、判隊(duì)空)實(shí)現(xiàn)圖的廣度優(yōu)先搜索遍歷。畫出搜索順序示意圖。4.二叉樹的遍歷

      對(duì)任意給定的二叉樹(頂點(diǎn)數(shù)自定)建立它的二叉鏈表存貯結(jié)構(gòu),并利用棧的五種基本運(yùn)算(置空棧、進(jìn)棧、出棧、取棧頂元素、判??眨?shí)現(xiàn)二叉樹的先序、中序、后序三種遍歷,輸出三種遍歷的結(jié)果。畫出搜索順序示意圖。5.鏈表操作

      利用鏈表的插入運(yùn)算建立線性鏈表,然后利用鏈表的查找、刪除、計(jì)數(shù)、輸出等運(yùn)算反復(fù)實(shí)現(xiàn)鏈表的這些操作(插入、刪除、查找、計(jì)數(shù)、輸出單獨(dú)寫成函數(shù)的形式),并能在屏幕上輸出操作前后的結(jié)果。畫出搜索順序示意圖。6.一元稀疏多項(xiàng)式簡單計(jì)數(shù)器(1)輸入并建立多項(xiàng)式

      (2)輸出多項(xiàng)式,輸出形式為整數(shù)序列:n,c1,e1,c2,e2……cn,en,其中n是多項(xiàng)式的項(xiàng)數(shù),ci,ei分別為第i項(xiàng)的系數(shù)和指數(shù)。序列按指數(shù)降序排列。(3)多項(xiàng)式a和b相加,建立多項(xiàng)式a+b,輸出相加的多項(xiàng)式。(4)多項(xiàng)式a和b相減,建立多項(xiàng)式a-b,輸出相減的多項(xiàng)式。用帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)多項(xiàng)式。測(cè)試數(shù)據(jù):

      (1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2)(6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)7.實(shí)現(xiàn)兩個(gè)鏈表的合并 基本功能要求:(1)建立兩個(gè)鏈表A和B,鏈表元素個(gè)數(shù)分別為m和n個(gè)。

      (2)假設(shè)元素分別為(x1,x2,…xm),和(y1,y2, …yn)。把它們合并成一個(gè)線性表C,使得:

      當(dāng)m>=n時(shí),C=x1,y1,x2,y2,…xn,yn,…,xm 當(dāng)n>m時(shí),C=y1,x1,y2,x2,…ym,xm,…,yn 輸出線性表C:

      (1)用直接插入排序法對(duì)C進(jìn)行升序排序,生成鏈表D,并輸出鏈表D。測(cè)試數(shù)據(jù):

      (1)A表(30,41,15,12,56,80)

      B表(23,56,78,23,12,33,79,90,55)

      (2)A表(30,41,15,12,56,80,23,12,34)B表(23,56,78,23,12)8.哈夫曼編碼的實(shí)現(xiàn)與應(yīng)用

      (1)從文件中讀入任意一篇英文短文(至少含3000個(gè)字符,文件為ASCII編碼的文本文件)

      (2)統(tǒng)計(jì)不同字符在文章中出現(xiàn)的頻率(空格、換行、標(biāo)點(diǎn)等也按字符處理)(3)根據(jù)字符頻率構(gòu)造哈夫曼樹,并給出每個(gè)字符的哈夫曼編碼。

      (4)用哈夫曼編碼來存儲(chǔ)文件,并和輸入文本文件大小進(jìn)行比較,計(jì)算文件壓縮率

      (5)根據(jù)相應(yīng)哈夫曼編碼,對(duì)編碼后的文件進(jìn)行解碼,恢復(fù)成ASCII編碼的英文短文后輸出。

      分析及設(shè)計(jì)步驟(供參考)

      1.分析問題,給出數(shù)學(xué)模型,設(shè)計(jì)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。

      1)分析問題特點(diǎn),用數(shù)學(xué)表達(dá)式或其它形式描述其數(shù)學(xué)模型。2)選擇能夠體現(xiàn)問題本身特點(diǎn)的一種或幾種邏輯結(jié)構(gòu)。

      3)依據(jù)邏輯結(jié)構(gòu)和問題特點(diǎn),設(shè)計(jì)并選擇相應(yīng)的存儲(chǔ)結(jié)構(gòu)(順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)對(duì)應(yīng)的算法實(shí)現(xiàn)有區(qū)別)。

      2.算法設(shè)計(jì)

      1)確定所需模塊:對(duì)于復(fù)雜的程序設(shè)計(jì),要充分利用模塊化程序設(shè)計(jì)方法和面向?qū)ο笏枷?,自頂向下,逐步?xì)化。

      2)各子模塊功能描述:給出主要模塊的算法描述,用流程圖或偽代碼表示。3)模塊之間的調(diào)用關(guān)系:給出算法各模塊之間的關(guān)系圖示。3.上機(jī)實(shí)現(xiàn)程序

      為提高工作效率,充分利用上機(jī)調(diào)試時(shí)間,在上機(jī)之前應(yīng)列出程序清單。

      4.用有代表性的各種測(cè)試數(shù)據(jù)去驗(yàn)證算法及程序的正確性

      5.算法分析及優(yōu)化

      經(jīng)過上機(jī)調(diào)試,源程序運(yùn)行正確,并且實(shí)現(xiàn)算法要求的功能,解決課程設(shè)計(jì)題目中給出的問題后,分析算法的時(shí)間復(fù)雜度和空間復(fù)雜度,如有可能對(duì)程序進(jìn)行優(yōu)化改進(jìn)。

      課程設(shè)計(jì)報(bào)告范例(參考)

      約瑟夫環(huán)問題。

      問題描述:設(shè)編號(hào)為1,2,…,n(n>0)個(gè)人按順時(shí)針方向圍坐一圈,每人持有一個(gè)正整數(shù)密碼。開始時(shí)任意給出一個(gè)報(bào)數(shù)上限值m,從第一個(gè)人開始順時(shí)針方向自1起順序報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),抱m的人出列,將他的密碼作為新的m值,從他在順時(shí)針方向上的下一個(gè)人起重新自1起順序報(bào)數(shù);如此下去,直到所有人全部出列為止。要求設(shè)計(jì)一個(gè)程序模擬此過程,并給出出列人的編號(hào)序列。基本要求:

      (1)初始報(bào)數(shù)上限值m和測(cè)試數(shù)據(jù)在程序中確定;(2)用帶頭結(jié)點(diǎn)的單循環(huán)鏈表作數(shù)據(jù)元素的存儲(chǔ)結(jié)構(gòu);(3)把帶頭結(jié)點(diǎn)的單循環(huán)鏈表作為抽象數(shù)據(jù)類型設(shè)計(jì)。測(cè)試數(shù)據(jù):

      n = 7,七個(gè)人的密碼依次為3,1,7,2,4,8,4 初始報(bào)數(shù)上限值m = 20 算法思想:

      JesephRing()函數(shù)是實(shí)現(xiàn)問題要求的主要函數(shù),其算法思想是:從1至m對(duì)帶頭結(jié)點(diǎn)的單循環(huán)鏈表循環(huán)計(jì)數(shù),到m時(shí),輸出該結(jié)點(diǎn)的編號(hào)值,將該結(jié)點(diǎn)的密碼作為新的m值,再從該結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)起重新自1起循環(huán)計(jì)數(shù);如此下去,直到單循環(huán)鏈表空時(shí)循環(huán)過程結(jié)束。模塊劃分:

      (1)帶頭結(jié)點(diǎn)的單循環(huán)鏈表抽象數(shù)據(jù)類型SCLinList,其中包括基本操作的函數(shù)有:初始化操作函數(shù)、插入一個(gè)結(jié)點(diǎn)操作函數(shù)、刪除一個(gè)結(jié)點(diǎn)操作函數(shù)、取一個(gè)結(jié)點(diǎn)數(shù)據(jù)操作函數(shù)和判表是否非空操作函數(shù)。該抽象數(shù)據(jù)類型文件名為SCLinList.h。

      (2)void SCLLDeleteAfter(SCLNode *p),其功能是刪除帶頭結(jié)點(diǎn)的單循環(huán)鏈表中指針p所指結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)。這是對(duì)帶頭結(jié)點(diǎn)的單循環(huán)鏈表抽象數(shù)據(jù)類型SCLinList,補(bǔ)充本問題需要的一個(gè)操作函數(shù)。(3)void JesephRing(SCLNode *head, int m),其功能是對(duì)帶頭結(jié)點(diǎn)的單循環(huán)鏈表head,以m為初始報(bào)數(shù)上限值實(shí)現(xiàn)問題要求。

      (4)void main(void),主函數(shù),功能是給出測(cè)試數(shù)據(jù)值,建立測(cè)試數(shù)據(jù)值的帶頭結(jié)點(diǎn)單循環(huán)鏈表,調(diào)用JesephRing()函數(shù)實(shí)現(xiàn)問題要求。數(shù)據(jù)結(jié)構(gòu):

      (1)數(shù)據(jù)類型DataType定義如下: typedef struct { int number;int cipher;} DataType;

      (2)帶頭結(jié)點(diǎn)單循環(huán)鏈表抽象數(shù)據(jù)類型SCLinList。

      (3)帶頭結(jié)點(diǎn)單循環(huán)鏈表抽象數(shù)據(jù)類型的結(jié)點(diǎn)結(jié)構(gòu)定義如下:

      typedef struct node { DataType data;struct node *next;} SCLNode;源程序:

      源程序存放在兩個(gè)文件中,文件SCLinList.h是帶頭結(jié)點(diǎn)單循環(huán)鏈表抽象數(shù)據(jù)類型,文件Exam3-9.c是主程序。

      文件SCLinList.h: typedef struct node { DataType data;struct node *next;} SCLNode;/*結(jié)點(diǎn)結(jié)構(gòu)定義*/ void SCLLInitiate(SCLNode **head)/*初始化*/ { if((*head =(SCLNode *)malloc(sizeof(SCLNode)))== NULL)exit(1);(*head)->next = *head;} int SCLLInsert(SCLNode *head, int i, DataType x)/*插入一個(gè)結(jié)點(diǎn)*/ { SCLNode *p, *q;int j;p = head->next;j = 1;while(p!= head && j < i1 && i!= 1){ printf(“插入位置參數(shù)錯(cuò)!”);return 0;} if((q =(SCLNode *)malloc(sizeof(SCLNode)))== NULL)exit(1);q->data = x;q->next = p->next;p->next = q;return 1;} int SCLLDelete(SCLNode *head, int i, DataType *x)/*刪除一個(gè)結(jié)點(diǎn)*/ { SCLNode *p, *q;int j;p = head;j = 0;while(p->next!= head && j < i1){ printf(“刪除位置參數(shù)錯(cuò)!”);return 0;} q = p->next;p->next = p->next->next;*x = q->data;free(q);return 1;} int SCLLGet(SCLNode *head, int i, DataType *x)/*取一個(gè)結(jié)點(diǎn)數(shù)據(jù)元素值*/ { SCLNode *p;int j;p = head;j = 0;while(p->next!= head && j < i){ p = p->next;j++;} if(j!= i){ printf(“取元素位置參數(shù)錯(cuò)!”);return 0;} *x = p->data;return 1;} int SCLLNotEmpty(SCLNode *head)/*鏈表非空否*/ { if(head->next == head)return 0;else return 1;} 文件Exam3-9.c: #include #include typedef struct { int number;int cipher;} DataType;/*定義具體的數(shù)據(jù)類型DataType*/ #include “SCLinList.h” /*包含SCLinList抽象數(shù)據(jù)類型*/ void SCLLDeleteAfter(SCLNode *p)/*刪除p指針?biāo)附Y(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)*/ { SCLNode *q = p->next;p->next = p->next->next;free(q);} void JesephRing(SCLNode *head, int m)/*對(duì)帶頭結(jié)點(diǎn)單循環(huán)鏈表head,初始值為m的約瑟夫環(huán)問題函數(shù)*/ { SCLNode *pre, *curr;int i;pre = head;curr = head->next;while(SCLLNotEmpty(head)== 1){ for(i = 1;i < m;i++){ pre = curr;curr = curr->next;if(curr == head){ pre = curr;curr = curr->next;} }

      printf(“ %d ”, curr->data.number);m = curr->data.cipher;curr = curr->next;if(curr == head)curr = curr->next;SCLLDeleteAfter(pre);} } void main(void){ DataType test[7]={{1,3},{2,1},{3,7},{4,2},{5,4},{6,8},{7,4}};int n = 7, m = 20, i;SCLNode *head;SCLLInitiate(&head);/*初始化*/ for(i = 1;i <= n;i++)/*循環(huán)插入建立單循環(huán)鏈表鏈表*/ SCLLInsert(head, i, test[i-1]);JesephRing(head, m);/*約瑟夫環(huán)問題函數(shù)*/ } 測(cè)試情況: 程序輸出為: 6 1 4 7 2 3 5

      各種排序比較結(jié)果(參考)

      直接插入的比較圖表***030002500直接插入的移動(dòng)圖表比較次數(shù)2000系列1******4738291100次數(shù)移動(dòng)次數(shù)2000系列1******4738291100次數(shù) 冒泡的比較次數(shù)***00冒泡的移動(dòng)圖表***00比較次數(shù)移動(dòng)次數(shù)*********1100執(zhí)行次數(shù)系列*********91100次數(shù)系列1

      SHELL的比較次數(shù)12001000800***01200SHELL的移動(dòng)圖表比較次數(shù)移動(dòng)次數(shù)******1100執(zhí)行次數(shù)系列******564738291100次數(shù)系列1

      快速排序的比較次數(shù)800700600快速排序的移動(dòng)圖表540520500比較次數(shù)移動(dòng)次數(shù)******4738291100執(zhí)行次數(shù)系列******8291100次數(shù)簡單選擇的移動(dòng)圖表350300250系列1

      簡單選擇的比較次數(shù)***0比較次數(shù)移動(dòng)次數(shù)300025002000******4738291100執(zhí)行次數(shù)堆排序的比較次數(shù)107010601050系列1200系列1******8291100次數(shù) 堆排序的移動(dòng)圖表***0比較次數(shù)移動(dòng)次數(shù)*********00執(zhí)行次數(shù)系列117401720******65564738291100次數(shù)系列1

      第四篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)參考題目

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目(大題目).doc

      一、公司銷售管理系統(tǒng) 項(xiàng)目開發(fā)基本要求

      1.客戶信息管理:對(duì)客戶的基本信息進(jìn)行添加、修改和刪除。2.產(chǎn)品信息管理:對(duì)產(chǎn)品的基本信息進(jìn)行添加、修改和刪除。3.供應(yīng)商信息管理:對(duì)供應(yīng)商的基本信息進(jìn)行添加、修改和刪除。4.訂單信息管理:對(duì)訂單的基本信息進(jìn)行添加、修改和刪除。

      二、高??蒲泄芾硐到y(tǒng)

      系統(tǒng)主要用于幫助高?;蚩蒲袉挝还芾砗途S護(hù)各項(xiàng)科研相關(guān)資料 項(xiàng)目開發(fā)基本要求

      1.系統(tǒng)用戶管理模塊:為系統(tǒng)新用戶設(shè)置用戶名及口令;操作員更改自己的系統(tǒng)口令。2.?dāng)?shù)據(jù)字典管理模塊:管理項(xiàng)目性質(zhì)包括:分為國家自然科學(xué)基金、863、部省科委及企業(yè)集團(tuán)四種情況;范圍包括:分為全國、國際、地方三種情況;檢索源包括:分為EI、SCI、核心和一般四種情況。

      3.項(xiàng)目參加人員管理模塊包括:顯示添加修改刪除查詢。4.項(xiàng)目基本情況模塊包括:顯示添加修改刪除查詢。5.項(xiàng)目獲獎(jiǎng)情況模塊包括:顯示添加修改刪除查詢。6.期刊論文管理模塊包括:顯示添加修改刪除查詢。7.著作管理模塊包括:顯示添加修改刪除查詢。

      8.科研工作量統(tǒng)計(jì)模塊:按照學(xué)??蒲泄ぷ髁坑?jì)算辦法,為每位科研人員進(jìn)行科研工作量的計(jì)算和統(tǒng)計(jì)。

      9.科研積分統(tǒng)計(jì)模塊:按照學(xué)??蒲蟹e分計(jì)算辦法,為每位科研人員進(jìn)行科研計(jì)分的計(jì)算和統(tǒng)計(jì)。

      三、網(wǎng)絡(luò)五子棋對(duì)戰(zhàn)

      四、不同排序算法模擬

      五、科學(xué)計(jì)算器

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      1.運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)

      任務(wù):參加運(yùn)動(dòng)會(huì)有n個(gè)學(xué)校,學(xué)校編號(hào)為1……n。比賽分成m個(gè)男子項(xiàng)目,和w個(gè)女子項(xiàng)目。項(xiàng)目編號(hào)為男子1……m,女子m+1……m+w。不同的項(xiàng)目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。(m<=20,n<=20)

      功能要求:

      1)可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績; 2)能統(tǒng)計(jì)各學(xué)校總分,3)可以按學(xué)校編號(hào)或名稱、學(xué)??偡?、男女團(tuán)體總分排序輸出; 4)可以按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校。5)數(shù)據(jù)存入文件并能隨時(shí)查詢

      6)規(guī)定:輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,運(yùn)動(dòng)項(xiàng)目的名稱

      輸出形式:有合理的提示,各學(xué)校分?jǐn)?shù)為整形

      界面要求:有合理的提示,每個(gè)功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。

      存儲(chǔ)結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要存儲(chǔ)在數(shù)據(jù)文件中。(數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在c語言程序設(shè)計(jì)的書上,請(qǐng)自學(xué)解決)請(qǐng)?jiān)谧詈蟮纳辖毁Y料中指明你用到的存儲(chǔ)結(jié)構(gòu);

      測(cè)試數(shù)據(jù):要求使用

      1、全部合法數(shù)據(jù);

      2、整體非法數(shù)據(jù);

      3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,以保證程序的穩(wěn)定。測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫明;

      2.飛機(jī)訂票系統(tǒng)

      任務(wù):通過此系統(tǒng)可以實(shí)現(xiàn)如下功能:

      錄入:

      可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)

      查詢:

      可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉);

      可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;

      訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)

      可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;

      退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;

      客戶資料有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào)。

      修改航班信息:

      當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件

      要求:

      根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完成功能;

      3.文章編輯

      功能:輸入一頁文字,程序可以統(tǒng)計(jì)出文字、數(shù)字、空格的個(gè)數(shù)。

      靜態(tài)存儲(chǔ)一頁文章,每行最多不超過80個(gè)字符,共N行;要求(1)分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);(2)統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);(3)刪除某一子串,并將后面的字符前移。

      存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能;

      輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)。

      輸出形式:(1)分行輸出用戶輸入的各行字符;(2)分4行輸出“全部字母數(shù)”、“數(shù)字個(gè)數(shù)”、“空格個(gè)數(shù)”、“文章總字?jǐn)?shù)”(3)輸出刪除某一字符串后的文章;

      4.宿舍管理查詢軟件

      1)任務(wù):為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件, 程序設(shè)計(jì)要求: A.采用交互工作方式

      B.建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序(冒泡、選擇、插入排序等任選一種)2)查詢菜單:(用二分查找實(shí)現(xiàn)以下操作)A.按姓名查詢 B.按學(xué)號(hào)查詢 C.按房號(hào)查詢

      3)打印任一查詢結(jié)果(可以連續(xù)操作)

      5.校園導(dǎo)航問題

      設(shè)計(jì)要求:設(shè)計(jì)你的學(xué)校的平面圖,至少包括10個(gè)以上的場所,每兩個(gè)場所間可以有不同的路,且路長也可能不同,找出從任意場所到達(dá)另一場所的最佳路徑(最短路徑)。

      6.教學(xué)計(jì)劃編制問題

      設(shè)計(jì)要求:針對(duì)計(jì)算機(jī)系本科課程,根據(jù)課程之間的依賴關(guān)系(如離散數(shù)學(xué)應(yīng)在數(shù)據(jù)結(jié)構(gòu)之前開設(shè))制定課程安排計(jì)劃,并滿足各學(xué)期課程數(shù)目大致相同。

      7.散列法的實(shí)驗(yàn)研究

      散列法中,散列函數(shù)構(gòu)造方法多種多樣,同時(shí)對(duì)于同一散列函數(shù)解決沖突的方法也可以不同。兩者是影響查詢算法性能的關(guān)鍵因素。對(duì)于幾種典型的散列函數(shù)構(gòu)造方法,做實(shí)驗(yàn)觀察,不同的解決沖突方法對(duì)查詢性能的影響。

      8.圖書借閱管理系統(tǒng)

      主要分為兩大功能:

      1)圖書管理(增加圖書、查詢圖書、刪除圖書、圖書借閱、還書); 2)會(huì)員管理(增加會(huì)員、查詢會(huì)員、刪除會(huì)員、借書信息);

      9.學(xué)生成績管理

      實(shí)現(xiàn)功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、保存、拷貝、排序、索引、分類合計(jì)、退出。

      10.活期儲(chǔ)蓄帳目管理

      活期儲(chǔ)蓄處理中,儲(chǔ)戶開戶、銷戶、存入、支出活動(dòng)頻繁,系統(tǒng)設(shè)計(jì)要求: 1)能比較迅速地找到儲(chǔ)戶的帳戶,以實(shí)現(xiàn)存款、取款記賬; 2)能比較簡單,迅速地實(shí)現(xiàn)插入和刪除,以實(shí)現(xiàn)開戶和銷戶的需要。

      11.二叉排序樹的實(shí)現(xiàn)

      用順序和二叉鏈表作存儲(chǔ)結(jié)構(gòu)

      1)以回車('n')為輸入結(jié)束標(biāo)志,輸入數(shù)列L,生成一棵二叉排 序樹T; 2)對(duì)二叉排序樹T作中序遍歷,輸出結(jié)果;

      3)輸入元素x,查找二叉排序樹T,若存在含x的結(jié)點(diǎn),則刪除該結(jié)點(diǎn),并作中序遍歷(執(zhí)行操作2);否則輸出信息“無x”;

      12.最小生成樹問題 設(shè)計(jì)要求:在n個(gè)城市之間建設(shè)網(wǎng)絡(luò),只需保證連通即可,求最經(jīng)濟(jì)的架設(shè)方法。存儲(chǔ)結(jié)構(gòu)采用多種。求解算法多種。

      13.通訊錄的制作

      設(shè)計(jì)目的:用〈〈數(shù)據(jù)結(jié)構(gòu)〉〉中的雙向鏈表作數(shù)據(jù)結(jié)構(gòu),結(jié)合C語言基本知識(shí)。編寫一個(gè)通訊錄管理系統(tǒng)。以把所學(xué)數(shù)據(jù)結(jié)構(gòu)知識(shí)應(yīng)用到實(shí)際軟件開發(fā)中去。設(shè)計(jì)內(nèi)容:本系統(tǒng)應(yīng)完成一下幾方面的功能: 1)輸入信息——enter();2)顯示信息———display();

      3)查找以姓名作為關(guān)鍵字 ———search();4)刪除信息———delete();5)存盤———save();6)裝入———load();設(shè)計(jì)要求:

      1)每條信息至包含 :姓名(NAME)街道(STREET)城市(CITY)郵編(EIP)國家(STATE)幾項(xiàng) 2)作為一個(gè)完整的系統(tǒng),應(yīng)具有友好的界面和較強(qiáng)的容錯(cuò)能力 3)上機(jī)能正常運(yùn)行,并寫出課程設(shè)計(jì)報(bào)告

      14.哈夫曼編碼/譯碼器 【問題描述】

      設(shè)計(jì)一個(gè)利用哈夫曼算法的編碼和譯碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止?!净疽蟆?/p>

      1)將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中)2)分別采用動(dòng)態(tài)和靜態(tài)存儲(chǔ)結(jié)構(gòu)

      3)初始化:鍵盤輸入字符集大小n、n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹; 4)編碼:利用建好的哈夫曼樹生成哈夫曼編碼; 5)輸出編碼;

      6)設(shè)字符集及頻度如下表:

      字符 空格 A B C D E F G H I J K L M 頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 頻度 57 63 15 1 48 51 80 23 8 18 1 16 1 【進(jìn)一步完成內(nèi)容】 1)譯碼功能; 2)顯示哈夫曼樹; 3)界面設(shè)計(jì)的優(yōu)化。

      15.圖書管理系統(tǒng) 【問題描述】

      設(shè)計(jì)一個(gè)計(jì)算機(jī)管理系統(tǒng)完成圖書管理基本業(yè)務(wù)。【基本要求】

      1)每種書的登記內(nèi)容包括書號(hào)、書名、著作者、現(xiàn)存量和庫存量; 2)對(duì)書號(hào)建立索引表(線性表)以提高查找效率; 3)系統(tǒng)主要功能如下:

      *采編入庫:新購一種書,確定書號(hào)后,登記到圖書帳目表中,如果表中已有,則只將庫存量增加; *借閱:如果一種書的現(xiàn)存量大于0,則借出一本,登記借閱者的書證號(hào)和歸還期限,改變現(xiàn)存量; *歸還:注銷對(duì)借閱者的登記,改變?cè)摃默F(xiàn)存量。【進(jìn)一步完成內(nèi)容】 1)系統(tǒng)功能的進(jìn)一步完善; 2)索引表采用樹表。3)設(shè)計(jì)內(nèi)容 4)程序流程圖 5)源程序

      6)軟件測(cè)試報(bào)告(包括所用到的數(shù)據(jù)及結(jié)果)

      16.散列表的設(shè)計(jì)與實(shí)現(xiàn) 【問題描述】

      設(shè)計(jì)散列表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)?!净疽蟆?/p>

      1)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;

      2)從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立散列表; 3)采用一定的方法解決沖突; 4)查找并顯示給定電話號(hào)碼的記錄; 5)查找并顯示給定用戶名的記錄?!具M(jìn)一步完成內(nèi)容】 1)系統(tǒng)功能的完善;

      2)設(shè)計(jì)不同的散列函數(shù),比較沖突率;

      3)在散列函數(shù)確定的前提下,嘗試各種不同類型處理沖突的方法,考察平均查找長度的變化。

      17.順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)。

      設(shè)有一元多項(xiàng)式Am(x)和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm

      Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn

      請(qǐng)實(shí)現(xiàn)求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。

      要求:

      1)首先判定多項(xiàng)式是否稀疏

      2)分別采用順序和動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn); 3)結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng); 4)要求輸出結(jié)果的升冪和降冪兩種排列情況

      18.利用棧求表達(dá)式的值,可供小學(xué)生作業(yè),并能給出分?jǐn)?shù)。

      要求:建立試題庫文件,隨機(jī)產(chǎn)生n個(gè)題目;題目涉及加減乘除,帶括弧的混合運(yùn)算;隨時(shí)可以退出;保留歷史分?jǐn)?shù),能回顧歷史,給出與歷史分?jǐn)?shù)比較后的評(píng)價(jià)

      19.簡易文本編輯器 要求:

      1)具有圖形菜單界面;

      2)查找,替換(等長,不等長),插入(插串,文本塊的插入)、塊移動(dòng)(行塊,列塊移動(dòng)),刪除 3)可正確存盤、取盤; 4)正確顯示總行數(shù)。

      20.二叉樹的中序、前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。

      要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。

      樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹的前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。

      要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。

      21.學(xué)生搭配問題

      一班有m個(gè)女生,有n個(gè)男生(m不等于n),現(xiàn)要開一個(gè)舞會(huì).男女生分別編號(hào)坐在舞池的兩邊的椅子上.每曲開始時(shí),依次從男生和女生中各出一人配對(duì)跳舞, 本曲沒成功配對(duì)者坐著等待下一曲找舞伴.請(qǐng)?jiān)O(shè)計(jì)一系統(tǒng)模擬動(dòng)態(tài)地顯示出上述過程,要求如下: 1)輸出每曲配對(duì)情況

      2)計(jì)算出任何一個(gè)男生(編號(hào)為X)和任意女生(編號(hào)為Y),在第K曲配對(duì)跳舞的情況.至少求出K的兩個(gè)值.3)盡量設(shè)計(jì)出多種算法及程序,可視情況適當(dāng)加分

      提示:用隊(duì)列來解決比較方便.22.猴子吃桃子問題

      有一群猴子摘了一堆桃子,他們每天都吃當(dāng)前桃子的一半且再多吃一個(gè),到了第10天就只余下一個(gè)桃子。用多種方法實(shí)現(xiàn)求出原來這群猴子共摘了多少個(gè)桃子。

      要求:

      1)采用數(shù)組數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上述求解 2)采用鏈數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上述求解 3)采用遞歸實(shí)現(xiàn)上述求解

      23.數(shù)制轉(zhuǎn)換問題

      任意給定一個(gè)M進(jìn)制的數(shù)x,請(qǐng)實(shí)現(xiàn)如下要求 1)求出此數(shù)x的10進(jìn)制值(用MD表示)2)實(shí)現(xiàn)對(duì)x向任意的一個(gè)非M進(jìn)制的數(shù)的轉(zhuǎn)換。

      3)至少用兩種或兩種以上的方法實(shí)現(xiàn)上述要求(用棧解決,用數(shù)組解決,其它方法解決)。

      24.排序綜合

      利用隨機(jī)函數(shù)產(chǎn)生N個(gè)隨機(jī)整數(shù)(20000以上),對(duì)這些數(shù)進(jìn)行多種方法進(jìn)行排序。要求:

      1)至少采用三種方法實(shí)現(xiàn)上述問題求解(提示,可采用的方法有插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸并排序)。并把排序后的結(jié)果保存在不同的文件中。

      2)統(tǒng)計(jì)每一種排序方法的性能(以上機(jī)運(yùn)行程序所花費(fèi)的時(shí)間為準(zhǔn)進(jìn)行對(duì)比),找出其中兩種較快的方法。3)如果采用4種或4種以上的方法者,可適當(dāng)加分。

      25.學(xué)生成績管理系統(tǒng)

      現(xiàn)有學(xué)生成績信息文件1(1.txt),內(nèi)容如下 姓名 學(xué)號(hào) 語文 數(shù)學(xué) 英語

      張明明 01 67 78 82 李成友 02 78 91 88 張輝燦 03 68 82 56 王露 04 56 45 77 陳東明 05 67 38 47 ….......…

      學(xué)生成績信息文件2(2.txt),內(nèi)容如下: 姓名 學(xué)號(hào) 語文 數(shù)學(xué) 英語

      陳果 31 57 68 82 李華明 32 88 90 68 張明東 33 48 42 56 李明國 34 50 45 87 陳道亮 35 47 58 77 ….......… 試編寫一管理系統(tǒng),要求如下:

      1)實(shí)現(xiàn)對(duì)兩個(gè)文件數(shù)據(jù)進(jìn)行合并,生成新文件3.txt

      2)抽取出三科成績中有補(bǔ)考的學(xué)生并保存在一個(gè)新文件4.txt

      3)合并后的文件3.txt中的數(shù)據(jù)按總分降序排序(至少采用兩種排序方法實(shí)現(xiàn))

      4)輸入一個(gè)學(xué)生姓名后,能查找到此學(xué)生的信息并輸出結(jié)果(至少采用兩種查找方法實(shí)現(xiàn))5)要求使用結(jié)構(gòu)體,鏈或數(shù)組等實(shí)現(xiàn)上述要求.6)采用多種方法且算法正確者,可適當(dāng)加分.26.圖的遍歷的實(shí)現(xiàn) 要求:

      1)先任意創(chuàng)建一個(gè)圖;

      2)圖的DFS,BFS的遞歸和非遞歸算法的實(shí)現(xiàn) 3)要求用有向圖和無向圖分別實(shí)現(xiàn)

      4)要求用鄰接矩陣、鄰接表多種結(jié)構(gòu)存儲(chǔ)實(shí)現(xiàn)

      27.線索二叉樹的應(yīng)用 要求:實(shí)現(xiàn)線索樹建立、插入、刪除、恢復(fù)線索的實(shí)現(xiàn)。

      28.稀疏矩陣應(yīng)用

      要求:實(shí)現(xiàn)三元組,十字鏈表下的稀疏矩陣的加、轉(zhuǎn)、乘的實(shí)現(xiàn)。(1)稀疏矩陣的存儲(chǔ)(2)稀疏矩陣加法(3)矩陣乘法(4)矩陣轉(zhuǎn)置

      29.樹的應(yīng)用

      要求:實(shí)現(xiàn)樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹的前序、后序的遞歸、非遞歸算法,層次序的非遞歸算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。

      30.文本文件單詞的檢索與計(jì)數(shù) 設(shè)計(jì)要求與分析:

      要求編程建立一個(gè)文本文件,每個(gè)單詞不包含空格且不跨行,單詞由字符序列構(gòu)成且區(qū)分大小寫;統(tǒng)計(jì)給定單詞在文本文件中出現(xiàn)的總次數(shù);檢索輸出某個(gè)單詞出現(xiàn)在文本中的行號(hào)、在該行中出現(xiàn)的次數(shù)以及位置。該設(shè)計(jì)要求可分為三個(gè)部分實(shí)現(xiàn):其一,建立文本文件,文件名由用戶用鍵盤輸入;其二,給定單詞的計(jì)數(shù),輸入一個(gè)不含空格的單詞,統(tǒng)計(jì)輸出該單詞在文本中的出現(xiàn)次數(shù);其三,檢索給定單詞,輸入一個(gè)單詞,檢索并輸出該單詞所在的行號(hào)、該行中出現(xiàn)的次數(shù)以及在該行中的相應(yīng)位置。(1).建立文本文件(2)給定單詞的計(jì)數(shù)

      (3)檢索單詞出現(xiàn)在文本文件中的行號(hào)、次數(shù)及其位置(4)主控菜單程序的結(jié)構(gòu) ① 頭文件包含 ② 菜單選項(xiàng)包含

      建立文件、單詞定位、單詞計(jì)數(shù)、退出程序 ③ 選擇1-4執(zhí)行相應(yīng)的操作,其他字符為非法。

      31.任意長的整數(shù)加法

      問題描述:設(shè)計(jì)一個(gè)程序?qū)崿F(xiàn)兩個(gè)任意長的整數(shù)的求和運(yùn)算。

      基本要求:利用雙向循環(huán)鏈表,設(shè)計(jì)一個(gè)實(shí)現(xiàn)任意長的整數(shù)進(jìn)行加法運(yùn)算的演示程序。要求輸入和輸出每四位一組,組間用逗號(hào)隔開。如:1,0000,0000,0000,0000。

      32.二叉平衡排序樹

      問題描述:從一棵空樹開始創(chuàng)建,在創(chuàng)建過程中,保證樹的有序性,同時(shí)還要針對(duì)樹的平衡性做些調(diào)整。最終要把創(chuàng)建好的二叉排序樹轉(zhuǎn)換為二叉平衡排序樹?;疽螅?.創(chuàng)建(插入、調(diào)整、改組)2.輸出

      33.串的查找和替換

      問題描述:打開一篇英文文章,在該文章中找出所有給定的單詞,然后對(duì)所有給定的單詞替換為另外一個(gè)單詞,再存盤。

      34.約瑟夫環(huán)

      問題描述:編號(hào)為1,2… n的n個(gè)人按順時(shí)針方向圍坐一圈,每人持有一個(gè)密碼(正整數(shù))。一開始任選一個(gè)正整數(shù)作為報(bào)數(shù)的上限值m,從第一個(gè)人開始按順時(shí)針方向自1開始順序報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),報(bào)m的人出列,將他的密碼作為新的m值,從他的順時(shí)針方向上的下一個(gè)開始重新從1報(bào)數(shù),如此下去,直至所有人全部出列為止,設(shè)計(jì)一個(gè)程序求出出列順序?;疽螅?/p>

      1、利用單循環(huán)鏈表作為存儲(chǔ)結(jié)構(gòu)模擬此過程;

      2、鍵盤輸入總?cè)藬?shù)、初始報(bào)數(shù)上限值m及各人密碼;

      3、按照出列順序輸出各人的編號(hào)。

      35.構(gòu)造可以使n個(gè)城市連接的最小生成樹

      問題描述:給定一個(gè)地區(qū)的n個(gè)城市間的距離網(wǎng),用Prim算法或Kruskal算法建立最小生成樹,并計(jì)算得到的最小生成樹的代價(jià)?;疽螅?/p>

      1、城市間的距離網(wǎng)采用鄰接矩陣表示,鄰接矩陣的存儲(chǔ)結(jié)構(gòu)定義采用課本中給出的定義,若兩個(gè)城市之間不存在道路,則將相應(yīng)邊的權(quán)值設(shè)為自己定義的無窮大值。要求在屏幕上顯示得到的最小生成樹中包括了哪些城市間的道路,并顯示得到的最小生成樹的代價(jià)。

      2、表示城市間距離網(wǎng)的鄰接矩陣(要求至少6個(gè)城市,10條邊)

      3、最小生成樹中包括的邊及其權(quán)值,并顯示得到的最小生成樹的代價(jià)。

      36.客戶消費(fèi)積分管理系統(tǒng)

      問題描述:針對(duì)客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對(duì)客戶實(shí)行不同程度的打折優(yōu)惠。基本要求:

      1.采用一定的存儲(chǔ)結(jié)構(gòu)進(jìn)行客戶信息的存儲(chǔ); 2.對(duì)客戶的信息可以進(jìn)行修改、刪除、添加; 3.能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分的計(jì)算; 4.根據(jù)積分情況實(shí)行不同程度的打折優(yōu)惠;

      37.產(chǎn)品進(jìn)銷存管理系統(tǒng)

      問題描述:針對(duì)某一種行業(yè)的庫房的產(chǎn)品進(jìn)銷存情況進(jìn)行管理?;疽螅?/p>

      1.采用一定的存儲(chǔ)結(jié)構(gòu)對(duì)庫房的貨品及其數(shù)量進(jìn)行分類管理; 2.可以進(jìn)行產(chǎn)品類的添加、產(chǎn)品的添加、產(chǎn)品數(shù)量的添加;

      3.能夠查詢庫房每種產(chǎn)品的總量、進(jìn)貨日期、銷出數(shù)量、銷售時(shí)間等;

      38.特殊矩陣的壓縮存儲(chǔ)算法的實(shí)現(xiàn)

      問題描述:對(duì)于特殊矩陣可以通過壓縮存儲(chǔ)減少存儲(chǔ)空間?;疽螅?/p>

      1.針對(duì)多種特殊矩陣進(jìn)行壓縮存儲(chǔ),并能顯示壓縮后的相關(guān)地址和值; 2.輸入在原來特殊矩陣中的地址,要求能從壓縮后的矩陣中讀出相應(yīng)的值;

      39.算術(shù)表達(dá)式的求解

      問題描述:給定一個(gè)算術(shù)表達(dá)式,通過程序求出最后的結(jié)果。基本要求:

      1. 從鍵盤輸入要求解的算術(shù)表達(dá)式; 2. 采用棧結(jié)構(gòu)進(jìn)行算術(shù)表達(dá)式的求解過程; 3. 能夠判斷算術(shù)表達(dá)式正確與否; 4. 對(duì)于錯(cuò)誤表達(dá)式給出提示; 5. 對(duì)于正確的表達(dá)式給出最后的結(jié)果;

      40.實(shí)時(shí)監(jiān)控報(bào)警系統(tǒng)

      問題描述:建立一個(gè)報(bào)警和出警管理的系統(tǒng) 基本要求:

      1.采用一定的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)報(bào)警信息,要求有內(nèi)容、時(shí)間; 2.有一次的出警就應(yīng)該在待處理的信息中刪除這條信息; 3.記錄出警信息;

      4.待處理信息過多時(shí)會(huì)發(fā)出警告;

      41.車廂調(diào)度

      問題描述:假設(shè)停在鐵路調(diào)度站入口處的車廂序列的編號(hào)一次為1,2,3,4。設(shè)計(jì)一個(gè)程序,求出所有可能由此輸出的長度為4的車廂序列。

      42.迷宮問題(棧)問題描述:

      以一個(gè)m*n的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結(jié)論。基本要求:

      首先實(shí)現(xiàn)一個(gè)以鏈表作存儲(chǔ)結(jié)構(gòu)的棧類型,然后編寫一個(gè)求解迷宮的非遞歸程序。求得的通路以三元組(i,j,d)的形式輸出,其中:(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向,如:對(duì)于下列數(shù)據(jù)的迷宮,輸出的一條通路為:(1,1,1),(1,2,2),(3,2,3),(3,1,2),…。測(cè)試數(shù)據(jù):

      迷宮的測(cè)試數(shù)據(jù)如下:左下角(1,1)為入口,右下角(8,9)為出口。實(shí)現(xiàn)提示:

      計(jì)算機(jī)解迷宮通常用的是“窮舉求解”方法,即從入口出發(fā),順著某個(gè)方向進(jìn)行探索,若能走通,則繼續(xù)往前進(jìn);否則沿著原路退回,換一個(gè)方向繼續(xù)探索,直至出口位置,求得一條通路。假如所有可能的通路都探索到而未能到達(dá)出口,則所設(shè)的迷宮沒有通路。

      可以二維數(shù)組存儲(chǔ)迷宮數(shù)據(jù),通常設(shè)定入口點(diǎn)的下標(biāo)為(1,1),出口點(diǎn)的下標(biāo)為(n,n)。為處理方便起見,可在迷宮的四周加一圈障礙。對(duì)于迷宮中任一位置,均可約定有東、南、西、北四個(gè)方向可通。選做內(nèi)容:

      (1)編寫遞歸形式的算法,求得迷宮中所有可能的通路;(2)以方陣形式輸出迷宮及其通路。43.迷宮問題(隊(duì)列)(同上)44二叉搜索樹:各種搜索樹效率比較 題目要求:

      本題目要求對(duì)普通的二叉排序樹、AVL樹分別實(shí)現(xiàn)制定操作,并分析比較這兩種不同數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的一系列插入和刪除操作的效率。要求測(cè)試對(duì)N個(gè)不同整數(shù)進(jìn)行下列操作的效率:(1)按遞增順序插入N個(gè)整數(shù),并按同樣順序刪除;(2)按遞增順序插入N個(gè)整數(shù),并按相反順序刪除;(3)按隨機(jī)順序插入N個(gè)整數(shù),并按隨機(jī)順序刪除;

      要求N從1000到10000取值,并以數(shù)據(jù)規(guī)模N為橫軸,運(yùn)行時(shí)間為縱軸,畫出3種不同數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的操作效率比較圖。

      45.病毒測(cè)試程序 本題的任務(wù)是:

      當(dāng)整個(gè)網(wǎng)絡(luò)被感染后,計(jì)算有多少臺(tái)機(jī)器被某個(gè)特定變種所感染。輸入要求:

      輸入由若干組測(cè)試數(shù)據(jù)組成。

      每組數(shù)據(jù)的第1行包含2個(gè)整數(shù)M和N(1≤M,N≤500),接下來是一個(gè)M*N的矩陣表示網(wǎng)絡(luò)的初始感染狀態(tài),其中的正、負(fù)整數(shù)的意義如題目描述中所定義。

      下面一行給出一個(gè)正整數(shù)Q,是將要查詢的變種的個(gè)數(shù)。接下去的Q行里,每行給出一個(gè)變種的類型。當(dāng)M或N為0時(shí),表示全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理。輸出要求:

      對(duì)每一組測(cè)試,在一行里輸出被某個(gè)特定變種所感染的機(jī)器數(shù)量。

      46關(guān)鍵路徑問題

      問題描述:設(shè)計(jì)一個(gè)程序求出完成整項(xiàng)工程至少需要多少時(shí)間以及整項(xiàng)工程中的關(guān)鍵活動(dòng)。基本要求:

      (1)對(duì)一個(gè)描述工程的AOE網(wǎng),應(yīng)判斷其是否能夠順利進(jìn)行。

      (2)若該工程能順利進(jìn)行,輸出完成整項(xiàng)工程至少需要多少時(shí)間,以及每一個(gè)關(guān)鍵活動(dòng)所依附的兩個(gè)頂點(diǎn)、最早發(fā)生時(shí)間、最遲發(fā)生時(shí)間。

      47.神秘國度的愛情故事

      輸入要求:輸入由若干組測(cè)試數(shù)據(jù)組成。

      每組數(shù)據(jù)的第1行包含一正整數(shù)N(1≤N≤50000),代表神秘國度中小村的個(gè)數(shù),每個(gè)小村即從0到N-1編號(hào)。接下來有N-1行輸入,每行包含一條雙向道路的兩端小村的編號(hào),中間用空格分開。之后一行包含一正整數(shù)M(1≤M≤500000),代表著該組測(cè)試問題的個(gè)數(shù)。接下來M行,每行給出A,B,C三個(gè)小村 的編號(hào),中間用空格分開。

      當(dāng)N為0時(shí),表示全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理。

      輸出要求:對(duì)每一組測(cè)試給定的A,B,C,在一行里輸出答案,即:如果C在A和B之間的路徑上,輸出Yes,否則輸出No。

      48.并查集:檢查網(wǎng)絡(luò)

      題目要求:給定一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)以及機(jī)器間的雙向連線列表,每一條連線允許兩端的計(jì)算機(jī)進(jìn)行直接的文件傳輸,其他計(jì)算機(jī)間若存在一條連通路徑,也可以進(jìn)行間接的文件傳輸。請(qǐng)寫出程序判斷:任意指定兩臺(tái)計(jì)算機(jī),它們之間是否可以進(jìn)行文件傳輸?

      輸入要求:輸入若干測(cè)試數(shù)據(jù)組成。對(duì)于每一組測(cè)試,第1行包含一個(gè)整數(shù)N(≤10000),即網(wǎng)絡(luò)中計(jì)算機(jī)的總臺(tái)數(shù),因而每臺(tái)計(jì)算機(jī)可用1到N之間的一個(gè)正整數(shù)表示。接下來的幾行輸入格式為I C1 C2或者 C或者C C1C2或者S,其中C1和C2是兩臺(tái)計(jì)算機(jī)的序號(hào),I表示在C1和C2間輸入一條連線,C表示檢查C1和C2間是否可以傳輸文件,S表示該組測(cè)試結(jié)束。當(dāng)N為0時(shí),表示全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理。

      輸出要求:對(duì)每一組C開頭的測(cè)試,檢查C1和C2間是否可以傳輸文件,若可以,則在一行中輸出“yes”,否則輸出“no”。

      當(dāng)讀到S時(shí),檢查整個(gè)網(wǎng)絡(luò)。若網(wǎng)絡(luò)中任意兩機(jī)器間都可以傳輸文件,則在一行中輸出“The network is connected.”,否則輸出“There are k components.”,其中k是網(wǎng)絡(luò)中連通集的個(gè)數(shù)。兩組測(cè)試數(shù)據(jù)之間請(qǐng)輸出一空行分隔。

      49.廣義表的應(yīng)用

      由于廣義表在結(jié)構(gòu)上較線性表復(fù)雜得多,因此,廣義表的運(yùn)算也不如線性表簡單。本設(shè)計(jì)要求實(shí)現(xiàn)的廣義表的建立、查找、輸出、取表頭和取表尾以及求深度、求逆表等。本設(shè)計(jì)用一個(gè)主控菜單程序控制,共分為6個(gè)子系統(tǒng)。(1).建立廣義表(2)輸出廣義表(3)結(jié)點(diǎn)的查找(4)求廣義表表頭(5)求廣義表表尾(6)求廣義表的深度

      50.網(wǎng)絡(luò)流:宇宙旅行 題目要求:

      在走遍了地球上的所有景點(diǎn)以后,旅游狂人開始計(jì)劃他的宇宙旅行項(xiàng)目。經(jīng)過謹(jǐn)慎調(diào)查,他目前掌握了一張各衛(wèi)星空間站可以臨時(shí)容納的旅客人數(shù)列表。但旅客從一個(gè)星球飛往另一個(gè)星球時(shí),需要在若干衛(wèi)星空間站臨時(shí)??恐修D(zhuǎn),而這些空間站不能接待任何旅客駐留,旅客必須立刻轉(zhuǎn)乘另一艘飛船離開,所以空間站不能接待超過自己最大容量的旅客流。為了估計(jì)預(yù)算,現(xiàn)在旅游狂人需要知道終點(diǎn)星球的接待站應(yīng)該設(shè)計(jì)多大容量,才能使得每艘飛船在到達(dá)時(shí)都可以保證讓全部旅客下船。輸入要求:

      輸入若干組測(cè)試數(shù)據(jù)組成。

      每組測(cè)試數(shù)據(jù)的第1行包含旅行的起點(diǎn)星球和終點(diǎn)星球的名稱和一個(gè)不超過500的正整數(shù)N(N為0標(biāo)志全部測(cè)試結(jié)束,不要對(duì)該數(shù)據(jù)做任何處理)。

      接下來的N行里,數(shù)據(jù)格式為:sourcei capacityi,其中sourcei和destinationi是衛(wèi)星空間站的名稱或起點(diǎn)、終點(diǎn)星球的名稱,正整數(shù)capacityi是飛船從sourcei到destinationi一次能運(yùn)載的最大旅客流量。每個(gè)名稱是由A~Z之間三個(gè)大寫字母組成的字符串,例如:ZJU。

      測(cè)試數(shù)據(jù)中不包含任何到達(dá)起點(diǎn)星球的信息以及任何從終點(diǎn)星球出發(fā)的信息。輸出要求:

      對(duì)每一組測(cè)試,在一行里輸出終點(diǎn)星球接待站應(yīng)具有的最小容量,使得每艘飛船在到達(dá)時(shí)都可以保證讓全部旅客下船。

      51:算術(shù)運(yùn)算測(cè)試

      功能要求:該程序用圖形界面實(shí)現(xiàn)十道100以內(nèi)加減法數(shù)學(xué)題,能根據(jù)題目計(jì)算出答案,與輸入答案對(duì)比,判斷做題是否正確,最后計(jì)算分?jǐn)?shù)。

      界面要求:用圖形界面實(shí)現(xiàn)。52:猜數(shù)游戲 功能要求:計(jì)算機(jī)產(chǎn)生隨機(jī)數(shù),猜中即勝,猜不中,提示是大了還是小了,繼續(xù)猜,直至猜到,給出所用時(shí)間和評(píng)語。

      界面要示:用圖形界面實(shí)現(xiàn)。

      53、學(xué)生成績管理

      功能要求:

      1)輸入十個(gè)同學(xué)的學(xué)號(hào),姓名,四科成績(應(yīng)用數(shù)學(xué)、大學(xué)英語、Java程序設(shè)計(jì)、計(jì)算機(jī)應(yīng)用基礎(chǔ))

      2)計(jì)算出平均成績。以平均成績降序輸出成績表。3)輸出全組各科平均分,最高分和最低分。4)輸入姓名查詢成績

      界面要示:用圖形界面實(shí)現(xiàn)。54.矩陣的運(yùn)算

      采用鏈表表示稀疏矩陣,并實(shí)現(xiàn)矩陣的加法,乘法,求逆運(yùn)算, 要求:要檢查有關(guān)運(yùn)算的條件,并對(duì)錯(cuò)誤的條件產(chǎn)生報(bào)警。

      55.建立二叉樹和線索二叉樹

      分別用以下方法建立二叉樹并用圖型顯示出來:

      用先序遍歷的輸入序列

      用層次遍歷的輸入序列

      用先序和中序遍歷的結(jié)果

      最后對(duì)所建立的二叉樹進(jìn)行中序線索化,并對(duì)此線索樹進(jìn)行中序遍歷(不使用棧)。

      56.銀行業(yè)務(wù)模擬:

      客戶業(yè)務(wù)分為兩種。第一種是申請(qǐng)從銀行得到一筆資金,即取款或借款。第二種是向銀行投入一筆資金,即存款或還款。

      銀行有兩個(gè)服務(wù)窗口,相應(yīng)的有兩個(gè)隊(duì)列。客戶到達(dá)銀行后先排第一個(gè)隊(duì)。處理每個(gè)客戶業(yè)務(wù)時(shí),如果屬于第一種,且申請(qǐng)額超出銀行現(xiàn)存資金總額而得不到滿足,則立即排入第二隊(duì)等候,直至滿足時(shí)才離開銀行,否則業(yè)務(wù)處理完后立即離開銀行。每接待完一個(gè)第二種業(yè)務(wù)的客戶,則順序檢查和處理(如果可能)第二個(gè)隊(duì)列的客戶,對(duì)能滿足的申請(qǐng)者予以滿足,不能滿足者重新排到第二個(gè)隊(duì)列的隊(duì)尾。注意,在此檢查過程中,一旦銀行資金總額少于或等于剛才第一個(gè)隊(duì)列中最后一個(gè)客戶(第二種業(yè)務(wù))被接待之前的數(shù)額,或者本次已將第二個(gè)隊(duì)列檢查或處理了一遍,就停止檢查(因?yàn)榇藭r(shí)已不可能還有能滿足者)轉(zhuǎn)而繼續(xù)接待第一個(gè)隊(duì)列的客戶。任何時(shí)刻都只開一個(gè)窗口。假設(shè)檢查不需要時(shí)間。營業(yè)時(shí)間結(jié)束時(shí)所有客戶立即離開銀行。寫一個(gè)上述銀行業(yè)務(wù)的事件驅(qū)動(dòng)模擬系統(tǒng),通過模擬方法求出客戶在銀行內(nèi)逗留的平均時(shí)間。

      57.假設(shè)一個(gè)賓館有n個(gè)標(biāo)準(zhǔn)的客房,每個(gè)標(biāo)準(zhǔn)客房有m個(gè)標(biāo)準(zhǔn)間,利用鏈表、?;蛘哧?duì)列等數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)出具有訂房和退房等功能的管理系統(tǒng)。

      第五篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

      數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

      一、教學(xué)目的和要求

      課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。綜合課設(shè)1主要針對(duì)數(shù)據(jù)結(jié)構(gòu)和c/c++語言開展的實(shí)踐性課程。要求學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用、算法的編寫、類C語言的算法轉(zhuǎn)換成C(C++)程序并上機(jī)調(diào)試的基本方法。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰容^規(guī)范的課程設(shè)計(jì)報(bào)告。培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)理論知識(shí)解決復(fù)雜實(shí)際問題的實(shí)踐能力、研究性學(xué)習(xí)能力和團(tuán)隊(duì)合作能力。

      二、課程設(shè)計(jì)要求

      1、選好題目:每題一人,每班每個(gè)題目只允許一人選做,學(xué)習(xí)委員將選題情況在課設(shè)第一天統(tǒng)計(jì)上交。

      2、課設(shè)報(bào)告獨(dú)立思考,獨(dú)立完成:課設(shè)報(bào)告出現(xiàn)雷同超過60%,不論什么原因,一律不及格。班和班之間,相同題目的同學(xué),可以組成小組,相互討論,共同完成課程設(shè)計(jì)中各任務(wù)的設(shè)計(jì)和調(diào)試要求。小組成員間,算法思路可以相同,程序可以類似,但不能完全一樣。課設(shè)報(bào)告不能雷同超過60%。

      3、做好上機(jī)準(zhǔn)備:每次上機(jī)前,要事先編制好準(zhǔn)備調(diào)試的程序,認(rèn)真想好調(diào)試步驟和有關(guān)環(huán)境的設(shè)置方法,準(zhǔn)備好有關(guān)的文件。

      4、設(shè)計(jì)要點(diǎn):

      ⑴需求分析:

      在該部分中敘述總共幾個(gè)模塊,每個(gè)模塊的功能要求。

      ⑵系統(tǒng)設(shè)計(jì)

      總體設(shè)計(jì):定義某個(gè)數(shù)據(jù)結(jié)構(gòu)的抽象數(shù)據(jù)類型及其他算法的功能說明。

      詳細(xì)設(shè)計(jì):在此定義存儲(chǔ)結(jié)構(gòu),每個(gè)部分的算法設(shè)計(jì)說明(建議描述算法采用流程圖)。⑶編碼實(shí)現(xiàn)

      各個(gè)算法實(shí)現(xiàn)的源程序,對(duì)每個(gè)題目要有相應(yīng)的源程序(每個(gè)功能模塊采用不同的函數(shù)實(shí)現(xiàn))。源程序要按照程序的規(guī)則來編寫,要結(jié)構(gòu)清晰,重點(diǎn)函數(shù)的重點(diǎn)變量,重點(diǎn)功能部分要加上清晰的程序注釋。程序能夠運(yùn)行,要有基本的容錯(cuò)功能,盡量避免出現(xiàn)操作失誤時(shí)出現(xiàn)死循環(huán)。⑷調(diào)試分析

      給出實(shí)現(xiàn)功能的一組或多組測(cè)試數(shù)據(jù),程序調(diào)試后,將按照此測(cè)試數(shù)據(jù)進(jìn)行測(cè)試的結(jié)果列出來。時(shí)間復(fù)雜度分析,每個(gè)模塊設(shè)計(jì)和調(diào)試時(shí)存在問題的思考(問題是哪些?問題如何解決?),算法的改進(jìn)設(shè)想。

      ⑸課設(shè)總結(jié):課程設(shè)計(jì)過程的收獲、遇到問題、遇到問題解決問題過程的思考、程序調(diào)試能力的思考、對(duì)數(shù)據(jù)結(jié)構(gòu)這門課程的思考、在課程設(shè)計(jì)過程中對(duì)《數(shù)據(jù)結(jié)構(gòu)》課程的認(rèn)識(shí)等內(nèi)容。

      5、實(shí)現(xiàn)的結(jié)果必須進(jìn)行檢查和演示;程序源代碼和程序的說明文件必須上交,作為考核內(nèi)容的一部分;(上交時(shí)文件夾的取名規(guī)則為:“課設(shè)題目(***設(shè)計(jì)完成)”,如“資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(張三設(shè)計(jì)完成)”。該文件夾下包括三個(gè)目錄:“源代碼”、“可執(zhí)行文件”、“張三_課程設(shè)計(jì)報(bào)告”。由學(xué)習(xí)委員按規(guī)定時(shí)間統(tǒng)一上交)。

      6、報(bào)告提交

      形式: 紙介質(zhì)(要求B5紙張打印,加封皮)和電子文檔。

      三、考核方法和內(nèi)容

      根據(jù)課程設(shè)計(jì)過程中學(xué)生的學(xué)生態(tài)度、題目完成情況、課程設(shè)計(jì)報(bào)告書的質(zhì)量和回答問題的情況等按照10%、40%、30%、20%加權(quán)綜合打分。成績?cè)u(píng)定實(shí)行優(yōu)秀、良好、中等、及格和不及格五個(gè)等級(jí)。

      評(píng)分標(biāo)準(zhǔn):

      優(yōu)秀:答辯所有問題都能答出+報(bào)告良好

      良好:答辯所有問題都能答出+報(bào)告一般

      中等:答辯大部分問題能答出+報(bào)告良好 及格:答辯大部分問題能答出+報(bào)告一般

      不及格:答辯幾乎答不出問題

      或者

      報(bào)告幾乎都是代碼

      或者

      雷同部分達(dá)到60%

      課設(shè)報(bào)告的裝訂順序如下:

      任務(wù)書(簽名,把題目要求貼在相應(yīng)位置,注意下劃線)-----目錄(注意目錄的格式,頁碼)-----

      1、設(shè)計(jì)任務(wù)(題目要求)-----

      2、需求分析(準(zhǔn)備選用什么數(shù)據(jù)邏輯結(jié)構(gòu)?數(shù)據(jù)元素包含哪些屬性?需要哪些函數(shù)?為什么要這樣設(shè)計(jì)?最后列出抽象數(shù)據(jù)類型定義)-----

      3、系統(tǒng)設(shè)計(jì)(設(shè)計(jì)實(shí)現(xiàn)抽象數(shù)據(jù)類型,包含選擇什么物理存儲(chǔ)方式?數(shù)據(jù)元素的結(jié)構(gòu)體或類定義,以及各函數(shù)的設(shè)計(jì)思路,算法,程序流程圖等)----

      4、編碼實(shí)現(xiàn)(重要函數(shù)的實(shí)現(xiàn)代碼)-----

      5、調(diào)試分析(選擇多組測(cè)試數(shù)據(jù)、運(yùn)行截圖、結(jié)果分析)-----

      6、課設(shè)總結(jié)(心得體會(huì))-----

      7、謝辭-----

      8、參考文獻(xiàn);

      課設(shè)報(bào)告打印要求:

      B5紙張打印,報(bào)告總頁數(shù)控制在10—15頁內(nèi),報(bào)告中不能全是代碼,報(bào)告中代碼總量控制在150行內(nèi)。版式:無頁眉,有頁碼,頁碼居中

      字號(hào):小四,單倍行距

      字體:宋體+Times new Romar 截圖:截圖要配圖的編號(hào)和圖的題目,如:“圖1 Insert函數(shù)流程圖”

      四、課程設(shè)計(jì)的題目

      1、運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)

      2、集合的并、交和差運(yùn)算的程序

      3、長整數(shù)的加法運(yùn)算

      4、一元多項(xiàng)式計(jì)算器

      5、車廂調(diào)度問題

      6、文章編輯

      7、識(shí)別廣義表的頭或尾的演示

      8、哈夫曼樹及其編碼

      9、校園導(dǎo)游咨詢

      10、地圖著色問題

      11、內(nèi)部排序算法比較

      12、哈希表的設(shè)計(jì)與實(shí)現(xiàn)——線性探測(cè)再散列

      13、哈希表的設(shè)計(jì)與實(shí)現(xiàn)——二次探測(cè)再散列

      14、哈希表的設(shè)計(jì)與實(shí)現(xiàn)——鏈地址法

      15、火車售票系統(tǒng)

      16、圖書管理系統(tǒng)

      17、客戶消費(fèi)積分管理系統(tǒng)

      18、產(chǎn)品進(jìn)銷存管理系統(tǒng)

      19、學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      20、通訊錄管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——線性表

      21、通訊錄管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——哈希表

      22、簡單目錄管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      23、最短旅程的求解

      24、迷宮求解

      25、家譜管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      26、宿舍管理查詢軟件

      27、語言中平衡符號(hào)的問題

      28、算術(shù)表達(dá)式求解

      29、表達(dá)式求值,可供小學(xué)生作業(yè),并能給出分?jǐn)?shù) 30、數(shù)制轉(zhuǎn)換問題

      31、病人就醫(yī)管理

      32、九宮格問題

      33、銀行業(yè)務(wù)模擬

      34、停車場管理

      35、關(guān)鍵路徑問題

      36、地鐵站建設(shè)問題

      37、服裝銷售系統(tǒng)

      38、歌星大獎(jiǎng)賽

      39、機(jī)房機(jī)位預(yù)約模擬系統(tǒng) 40、歌曲信息管理系統(tǒng)

      41、簡單的試題庫管理系統(tǒng)

      42、學(xué)生點(diǎn)名系統(tǒng)

      43、猜數(shù)游戲

      五、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的具體內(nèi)容

      要求:全部采用數(shù)據(jù)結(jié)構(gòu)課程中的內(nèi)容實(shí)現(xiàn),采用C或C++實(shí)現(xiàn),邏輯結(jié)構(gòu)只能選線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖型結(jié)構(gòu)、集合結(jié)構(gòu)中的一種,不能用數(shù)據(jù)庫。

      1、運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì) 問題描述:

      參加運(yùn)動(dòng)會(huì)的n個(gè)學(xué)校編號(hào)為1~n。比賽分成m個(gè)男子項(xiàng)目和w個(gè)女子項(xiàng)目,項(xiàng)目編號(hào)分別為1~m和m+1~m+w。由于各項(xiàng)目參加人數(shù)差別較大,有些項(xiàng)目取前五名,得分順序?yàn)?1,7,4,2,1;還有些項(xiàng)目只取前三名,得分順序?yàn)?,3,2。哪些項(xiàng)目取前五名或前三名由學(xué)生自己設(shè)定。寫一個(gè)統(tǒng)計(jì)程序產(chǎn)生各種成績單和得分報(bào)表?;疽螅?/p>

      (1)各項(xiàng)目結(jié)束時(shí),輸入前三名或前五名的項(xiàng)目編號(hào)、運(yùn)動(dòng)員姓名、校名和名次(成績);(2)產(chǎn)生各學(xué)校的成績單,內(nèi)容包括每個(gè)學(xué)校所取得的每項(xiàng)成績的項(xiàng)目號(hào)、名次(成績)、姓名和得分,并統(tǒng)計(jì)各學(xué)??偡郑?/p>

      (3)可以按學(xué)校編號(hào)、男女團(tuán)體總分排序輸出;(4)可以按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況;(5)可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校;(6)演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行。

      2、集合的并、交和差運(yùn)算的程序 問題描述:

      編制一個(gè)能演示執(zhí)行集合的并、交和差運(yùn)算的程序。基本要求:

      ⑴集合的元素限定為大小寫字母符[′a′….′z ′′A′….′Z ′],集合的大小n<53。

      ⑵集合輸入的形式為一個(gè)以“回車符”為結(jié)束標(biāo)志的字符串,串中字符順序不限,且允許出現(xiàn)重復(fù)字符或非法字符,程序應(yīng)能自動(dòng)濾去。

      ⑶輸出的運(yùn)算結(jié)果字符串中將不含重復(fù)字符或非法字符。⑷演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行。

      3、長整數(shù)的加法運(yùn)算

      問題描述:

      設(shè)計(jì)一個(gè)實(shí)現(xiàn)任意長的整數(shù)進(jìn)行加法、減法運(yùn)算的演示程序。

      基本要求:

      ⑴利用鏈表實(shí)現(xiàn)長整數(shù)的存儲(chǔ),每個(gè)結(jié)點(diǎn)含一個(gè)整型變量。提醒:任何整型變量int的范圍是-(2^15-1)~(2^15-1)。

      ⑵輸入和輸出形式按照中國對(duì)于長整數(shù)的表示習(xí)慣,每四位一組,組間用逗號(hào)隔開。如:-2345,6789,3211;

      ⑶演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行。

      4、一元多項(xiàng)式計(jì)算器 問題描述:

      設(shè)有一元多項(xiàng)式Am(x)和Bn(x).Am(x)= A0+A1x1+A2x2+A3x3+… +Amxm

      Bn(x)= B0+B1x1+B2x2+B3x3+… +Bnxn

      試求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)?;疽螅?/p>

      ⑴首先判定多項(xiàng)式是否稀疏; ⑵分別采用順序和鏈?zhǔn)浇Y(jié)構(gòu)實(shí)現(xiàn);

      ⑶結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng); ⑷要求輸出結(jié)果的升冪和降冪兩種排列情況。⑸演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行。

      5、車廂調(diào)度問題 問題描述:

      假設(shè)停在鐵路調(diào)度站(如教科書中圖3.1(b)所示)入口處的車廂系列的編號(hào)依次為1,2,3,…n。設(shè)計(jì)一個(gè)程序,求出所有可能由此輸出的長度為n 的車廂系列。基本要求:

      ⑴設(shè)計(jì)一個(gè)程序,求出由一個(gè)編號(hào)依次為1,2,、、、,n的車廂序列可能產(chǎn)生的所有出棧系列。⑵利用雙向棧存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)調(diào)度站和輸出序列這兩個(gè)棧的空間共享。

      ⑶對(duì)于每個(gè)輸出序列演示出所有操作序列的變化過程。

      6、文章編輯 問題描述:

      輸入一頁文字,可以統(tǒng)計(jì)出文字、數(shù)字、空格的個(gè)數(shù)?;疽螅?/p>

      ⑴靜態(tài)存儲(chǔ)一頁文章,每行最多不超過80個(gè)字符,共N行。⑵分別統(tǒng)計(jì)出其中英文字母和空格數(shù)及整篇文章總字?jǐn)?shù)。⑶統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù)。

      ⑶刪除某一子串,并將后面的字符前移。

      ⑷存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能。

      7、廣義表的應(yīng)用

      要求實(shí)現(xiàn)的廣義表的建立、查找、輸出、取表頭和取表尾以及求深度等。

      本設(shè)計(jì)用一個(gè)主控菜單程序控制,共分為6個(gè)子系統(tǒng)。(1)建立廣義表(2)輸出廣義表(3)結(jié)點(diǎn)的查找(4)求廣義表表頭(5)求廣義表表尾(6)求廣義表的深度 演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行。

      8、哈夫曼樹及其編碼 問題描述:

      設(shè)計(jì)一個(gè)利用哈夫曼算法的編碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止?;疽螅?/p>

      ⑴初始化:鍵盤輸入或文件輸入字符集大小n、n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹; ⑵編碼:利用建好的哈夫曼樹生成哈夫曼編碼; ⑶輸出樹形的哈夫曼樹及哈夫曼編碼; ⑷設(shè)字符集及頻度如下表:

      字符

      空格 A B C D E

      F G H I J K L M 頻度

      197 64 13 22 32 103 21 15 47 57 5 1 20 32 字符

      N O P Q R S T U V W X Y Z 頻度

      1 15 48 16 80 23 8 18 1 51 1

      9、校園導(dǎo)游咨詢 問題描述:

      設(shè)計(jì)一個(gè)校園導(dǎo)游程序,為來訪的客人提供各種信息查詢服務(wù)?;疽螅?/p>

      ⑴設(shè)計(jì)華東交通大學(xué)南區(qū)的校園平面圖,所含景點(diǎn)不少于10個(gè)。以圖中頂點(diǎn)表示校內(nèi)各景點(diǎn),存放景點(diǎn)名稱、代號(hào)、簡介等信息;以邊表示路徑,存放路徑長度等相關(guān)信息。⑵為來訪客人提供圖中任意景點(diǎn)相關(guān)信息的查詢。

      ⑶為來訪客人提供圖中任意景點(diǎn)的問路查詢,即查詢?nèi)我鈨蓚€(gè)景點(diǎn)之間的一條最短的簡單路徑。

      10、地圖著色問題 問題描述:

      設(shè)計(jì)地圖著色軟件,對(duì)江西地圖中11個(gè)地級(jí)市進(jìn)行著色,要求相鄰地級(jí)市所使用的顏色不同,并保證使用的顏色最少?;疽螅?/p>

      ⑴地圖采用圖型數(shù)據(jù)結(jié)構(gòu),每個(gè)地級(jí)市為一個(gè)節(jié)點(diǎn),邊表示對(duì)應(yīng)的兩個(gè)地級(jí)市相鄰。⑵設(shè)計(jì)著色算法,保證鄰接點(diǎn)不是同一種顏色。⑶演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。

      11、內(nèi)部排序算法比較 問題描述:

      試通過隨機(jī)數(shù)據(jù)比較各算法的關(guān)鍵字比較次數(shù)和關(guān)鍵字移動(dòng)次數(shù),以取得直觀感受。基本要求:

      ⑴至少采用三種方法實(shí)現(xiàn)上述問題求解(提示,可采用的方法有插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸并排序)。

      ⑵待排序表的表長不小于100,其中的數(shù)據(jù)要用偽隨機(jī)數(shù)產(chǎn)生程序產(chǎn)生;至少要用5組不同的輸入數(shù)據(jù)作比較;比較的指標(biāo)為有關(guān)鍵字參加的比較次數(shù)和關(guān)鍵字的移動(dòng)次數(shù)(關(guān)鍵字交換計(jì)為3次移動(dòng))。⑶最后對(duì)結(jié)果作出簡單分析,包括對(duì)各組數(shù)據(jù)得出結(jié)果波動(dòng)大小的解釋。

      12、哈希表的設(shè)計(jì)與實(shí)現(xiàn)——線性探測(cè)再散列 問題描述:

      設(shè)計(jì)哈希表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)。基本要求:

      ⑵ 設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;

      ⑶ 從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立不同的哈希表; ⑷ 采用線性探測(cè)再散列的方法解決沖突; ⑸ 查找并顯示給定電話號(hào)碼的記錄; ⑹ 查找并顯示給定用戶名的記錄。

      13、哈希表的設(shè)計(jì)與實(shí)現(xiàn)——二次探測(cè)再散列 問題描述:

      設(shè)計(jì)哈希表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)?;疽螅?/p>

      (1)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;

      (2)從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立不同的哈希表;(3)采用二次探測(cè)再散列的方法解決沖突;(4)查找并顯示給定電話號(hào)碼的記錄;(5)查找并顯示給定用戶名的記錄。

      14、哈希表的設(shè)計(jì)與實(shí)現(xiàn)——鏈地址法 問題描述:

      設(shè)計(jì)哈希表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)?;疽螅?/p>

      (1)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;

      (2)從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立不同的哈希表;(3)采用鏈地址法解決沖突;

      (4)查找并顯示給定電話號(hào)碼的記錄;(5)查找并顯示給定用戶名的記錄。

      15、火車售票系統(tǒng) 問題描述:

      通過此系統(tǒng)可以實(shí)現(xiàn)售票、退票、車票剩余情況查詢等功能。每張車票包含車次、車廂、座位信息?;疽螅?/p>

      ⑴在售票、退票、查詢剩余票等環(huán)節(jié)中,都必須顯示出車票的信息,即車次、車廂、座位情況。⑵為簡單起見,在此假設(shè)所有出售的車票均為同一車次的車票。⑶購票時(shí),可以顯示余票信息,并可以選擇買哪張票。

      ⑷退票時(shí),必須是車站售出的車票才能退,否則視為無效票,不能退票,而且退票可以再次銷售。⑸演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。

      16、圖書管理系統(tǒng) 問題描述:

      設(shè)計(jì)一個(gè)計(jì)算機(jī)管理系統(tǒng)完成圖書管理基本業(yè)務(wù)?;疽螅?/p>

      ⑴每種書的登記內(nèi)容包括書號(hào)、書名、著作者、現(xiàn)存量、庫存量和借閱信息; ⑵對(duì)書號(hào)建立索引順序表以提高查找效率; ⑶系統(tǒng)主要功能如下:

      ①采編入庫:新購一種書,確定書號(hào)后,登記到圖書帳目表中,如果表中已有,則只將庫存量增加; ②借閱:如果一種書的現(xiàn)存量大于0,則借出一本,登記借閱者的書證號(hào)和歸還期限,改變現(xiàn)存量; ③歸還:注銷對(duì)借閱者的登記,改變?cè)摃默F(xiàn)存量。⑷演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。

      17、客戶消費(fèi)積分管理系統(tǒng) 問題描述:

      針對(duì)客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對(duì)客戶實(shí)行不同程度的打折優(yōu)惠?;疽螅?/p>

      ⑴采用一定的存儲(chǔ)結(jié)構(gòu)進(jìn)行客戶信息的存儲(chǔ); ⑵對(duì)客戶的信息可以進(jìn)行修改、刪除、添加; ⑶能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分的累加; ⑷根據(jù)積分情況,對(duì)客戶實(shí)行不同程度的打折優(yōu)惠; ⑸演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。

      18、產(chǎn)品進(jìn)銷存管理系統(tǒng) 問題描述:

      針對(duì)某一種行業(yè)的庫房的產(chǎn)品進(jìn)銷存情況進(jìn)行管理。基本要求:

      ⑴采用一定的存儲(chǔ)結(jié)構(gòu)對(duì)庫房的貨品及其數(shù)量進(jìn)行分類管理;

      ⑵可以實(shí)現(xiàn)進(jìn)庫房時(shí),產(chǎn)品類的添加、產(chǎn)品的添加、產(chǎn)品數(shù)量的添加; ⑶能夠查詢庫房每種產(chǎn)品的總量、進(jìn)貨日期、銷出數(shù)量、銷售時(shí)間等; ⑷可以實(shí)現(xiàn)產(chǎn)品出庫房時(shí),產(chǎn)品數(shù)量修改以及達(dá)到臨界值提醒的功能; ⑸演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。

      19、學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 問題描述:

      能夠?qū)崿F(xiàn)對(duì)學(xué)生成績的常用管理功能?;疽螅?/p>

      ⑴采用一定的存儲(chǔ)結(jié)構(gòu)對(duì)學(xué)生成績進(jìn)行管理;

      ⑵可以進(jìn)行成績的錄入、查詢、修改、刪除等操作;

      ⑶可以查詢某門課程的平均分,學(xué)生的排名,不同分?jǐn)?shù)段的學(xué)生人數(shù)及學(xué)生信息等; ⑷可以查詢某學(xué)生的各課程分?jǐn)?shù),總分及學(xué)生的班級(jí)排名等; ⑸可以按學(xué)號(hào)排序輸出全部學(xué)生的成績信息、總分及班級(jí)排名等。⑹演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。20、通訊錄管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——線性表 任務(wù):利用線性表完成通訊錄的一般性管理工作:(1)添加信息;

      (2)顯示信息:可以按照手機(jī)或聯(lián)系人的姓名拼音排序顯示;(3)查找:用名字和手機(jī)號(hào)分別作為查找的依據(jù),進(jìn)行查找;(4)編輯信息;(5)刪除信息;(6)保存到文件; 要求:

      (1)每條記錄至少包括姓名、手機(jī)、QQ、電子郵箱、城市、郵編等信息。(2)界面友好,演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行,可反復(fù)操作。

      21、通訊錄管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——哈希表 任務(wù):利用哈希表完成通訊錄的一般性管理工作:(1)添加信息;

      (2)顯示信息:可以按照手機(jī)或聯(lián)系人的姓名拼音排序顯示;(3)查找:用名字和手機(jī)號(hào)分別作為查找的依據(jù),進(jìn)行查找;(4)編輯信息;(5)刪除信息;(6)保存到文件; 要求:

      (1)每條記錄至少包括姓名、手機(jī)、QQ、電子郵箱、城市、郵編等信息。(2)界面友好,演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行,可反復(fù)操作。

      22、簡單目錄管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      任務(wù):利用樹型結(jié)構(gòu)設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡單的目錄管理系統(tǒng),該系統(tǒng)可以對(duì)所有目錄進(jìn)行管理,如目錄的新建、刪除、查詢、目錄名稱修改、按某種順序輸出所有目錄(樹的遍歷操作)、以樹型結(jié)構(gòu)輸出所有目錄等功能。

      23、最短旅程的求解

      任務(wù):有n個(gè)城市(編號(hào)從1到n),它們之間通過雙向的道路相連。那里只有n-1條道路,但是,它們的連接方式使得從任意城市都可以走到其他的任何城市。一天,某個(gè)游客到了編號(hào)為k的城市。他計(jì)劃從城市k開始,游遍所有的城市m1,m2,m3……,mi,…(不一定要按這個(gè)順序旅游)。每個(gè)城市mi都是不同的,并且,也與k不同。他想要以最短的路程旅行完所有的城市(從城市k開始)。請(qǐng)你幫助計(jì)算一下,旅游完上述的城市最短需要多少路程。

      24、迷宮求解

      任務(wù):以一個(gè)m*n的長方陣表示迷宮,設(shè)置兩個(gè)門,一個(gè)入口,另一個(gè)是出口。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結(jié)論。

      要求:

      ⑴首先實(shí)現(xiàn)一個(gè)棧類型,然后編寫一個(gè)求解迷宮的非遞歸程序。

      ⑵求得的通路以三元組(i,j,d)的形式輸出,其中(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向。

      ⑶輸出迷宮圖,以#號(hào)表示障礙物,? ?空格表示非障礙物,*表示通路。

      25、家譜管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      任務(wù):設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡單的家譜管理系統(tǒng)。基本要求:

      (1)建立家族關(guān)系并能存儲(chǔ)到文件中。(2)實(shí)現(xiàn)家族成員的添加、刪除功能。

      (3)可以查詢家族成員的雙親、祖先、兄弟、孩子和后代等信息。(4)按某種順序輸出家譜信息(樹的遍歷操作)、以樹型結(jié)構(gòu)輸出家譜資料等功能。(5)界面友好,演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行,可反復(fù)操作。

      26、宿舍管理查詢軟件

      任務(wù):為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件, 程序設(shè)計(jì)要求:(1)采用交互工作方式;

      (2)可以增加、刪除、修改信息;

      (3)建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序;(4)查詢: a.按姓名查詢 ;b.按學(xué)號(hào)查詢 ;c按房號(hào)查詢(5)輸出任一查詢結(jié)果(可以連續(xù)操作)。

      27、語言中平衡符號(hào)的問題

      要求:設(shè)C語言程序代碼中包含如下符號(hào)/* */,(),[],{},編寫程序檢測(cè)一段C代碼中上述符號(hào)是否正確。

      28、算術(shù)表達(dá)式求解

      問題描述:給定一個(gè)算術(shù)表達(dá)式,通過程序求出最后的結(jié)果?;疽螅?/p>

      (1)從鍵盤輸入要求解的算術(shù)表達(dá)式;

      (2)采用棧結(jié)構(gòu)進(jìn)行算術(shù)表達(dá)式的求解過程;(3)能夠判斷算術(shù)表達(dá)式正確與否;(4)對(duì)于錯(cuò)誤表達(dá)式給出提示;

      (5)對(duì)于正確的表達(dá)式給出最后的結(jié)果,并可以顯示運(yùn)算的整個(gè)過程。(6)演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。

      29、表達(dá)式求值,并能給出分?jǐn)?shù),可供小學(xué)生作業(yè)練習(xí)的小程序 要求:

      ⑴建立試題庫文件,從文件中,隨機(jī)抽取n個(gè)題目; ⑵題目涉及加減乘除,帶括號(hào)的混合運(yùn)算; ⑶隨時(shí)可以退出程序;

      ⑷保留歷史分?jǐn)?shù),能回顧歷史,給出與歷史分?jǐn)?shù)比較后的評(píng)價(jià);

      ⑸界面友好,演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行,可反復(fù)操作。

      30、數(shù)制轉(zhuǎn)換問題

      任意給定一個(gè)M進(jìn)制的數(shù)x,實(shí)現(xiàn)如下要求:(1)求出此數(shù)x的10進(jìn)制值;

      (2)實(shí)現(xiàn)對(duì)X向任意的一個(gè)非M進(jìn)制的數(shù)的轉(zhuǎn)換;

      (3)至少用兩種或兩種以上的方法實(shí)現(xiàn)上述要求(用棧解決,用數(shù)組解決,其它方法解決);(4)提供交互界面,以便人機(jī)交互。

      31、病人就醫(yī)管理

      編寫一個(gè)程序?qū)崿F(xiàn)就醫(yī)管理。在病人就醫(yī)過程中,主要發(fā)生三件事:

      ⑴預(yù)檢,分科室,掛號(hào)。不同科室都是從1號(hào)開始掛號(hào)。如,內(nèi)科1號(hào),外科1號(hào),五官科1號(hào)等; ⑵病人到達(dá)診室,將病歷本交給護(hù)士,排到等待隊(duì)列中候診。⑶護(hù)士從等待隊(duì)列中取出一位病人的病歷,該病人進(jìn)入診室就診。要求程序采用菜單方式,其選項(xiàng)及功能說明如下: ⑴掛號(hào)------預(yù)檢,分科室,生成就診號(hào)。

      ⑵排隊(duì)------輸入病人的就診號(hào),加入到病人排隊(duì)隊(duì)列中。

      ⑶就診-------病人排隊(duì)隊(duì)列中最前面的病人就診,并將其從隊(duì)列中刪除。⑷查看排隊(duì)------從隊(duì)首到隊(duì)尾列出所有的排隊(duì)病人的病歷號(hào)。⑸下班---------退出運(yùn)行。

      32、九宮格問題 在一個(gè)3×3的九宮格中有1—8這8個(gè)數(shù)字,混亂排序,一個(gè)空格隨機(jī)地?cái)[放在一個(gè)格子里。現(xiàn)要求將該九宮格調(diào)整為正常按逆序的格式。調(diào)整的規(guī)則是:每次只能將與空格(上、下或左、右)相鄰的一個(gè)數(shù)字平移到空格中。編程實(shí)現(xiàn)這一問題的求解,并輸出求解過程。

      33、銀行業(yè)務(wù)模擬

      問題描述:設(shè)銀行有四個(gè)服務(wù)窗口,一個(gè)等待隊(duì)列, 每個(gè)窗口均可以辦理存款、取款、掛失、還貸業(yè)務(wù),每種業(yè)務(wù)所需的服務(wù)時(shí)間不同,優(yōu)先級(jí)不同??蛻舻竭_(dá)銀行后,先到打號(hào)機(jī)上打號(hào),號(hào)票上包括到達(dá)時(shí)間、編號(hào)和需要辦理的業(yè)務(wù),然后在銀行內(nèi)等候。當(dāng)任一服務(wù)窗口空閑時(shí),處理等候客戶中優(yōu)先級(jí)最高,排在最前面的客戶的業(yè)務(wù)。寫一個(gè)上述銀行業(yè)務(wù)的模擬系統(tǒng),通過模擬方法求出客戶在銀行內(nèi)逗留的平均時(shí)間和每個(gè)窗口辦理的客戶數(shù)及辦理的每種業(yè)務(wù)數(shù)?;疽螅好總€(gè)客戶到達(dá)銀行的時(shí)間和需要辦理的業(yè)務(wù)隨機(jī)產(chǎn)生,輸出一天客戶在銀行的平均逗留時(shí)間和每個(gè)窗口每天辦理的客戶數(shù)和每種業(yè)務(wù)數(shù)。

      34、停車場管理

      設(shè)停車場內(nèi)只有一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在車場的最北端);若車場內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上依次等候,一旦有車開走,則排在便道上的第一輛車即可開入;當(dāng)停車場內(nèi)某輛車要離開時(shí),在它之后開入的車輛必須先退出車場為它讓路,待該輛車開出大門外,其它車輛再按原次序進(jìn)入車場;每輛停放在車場的車在它離開停車場時(shí)必須按它停留的時(shí)間長短交納費(fèi)用。試為停車場編制按上述要求進(jìn)行管理的模擬程序。

      35、關(guān)鍵路徑問題 問題描述:

      設(shè)計(jì)一個(gè)程序,求出完成整項(xiàng)工程至少需要多少時(shí)間,以及整項(xiàng)工程中的關(guān)鍵活動(dòng)?;疽螅?/p>

      ⑴對(duì)一個(gè)描述工程的AOE網(wǎng),應(yīng)判斷其是否能夠順利進(jìn)行。⑵若該工程能順利進(jìn)行,輸出完成整項(xiàng)工程至少需要多少時(shí)間,以及每一個(gè)關(guān)鍵活動(dòng)所依附的兩個(gè)頂點(diǎn)、最早發(fā)生時(shí)間、最遲發(fā)生時(shí)間。

      36、地鐵站建設(shè)問題 問題描述:

      以南昌為例,假設(shè)要在南昌各轄區(qū)之間修建地鐵來加快經(jīng)濟(jì)發(fā)展,但由于建設(shè)地鐵的費(fèi)用昂貴,因此需要設(shè)計(jì)一個(gè)程序,合理安排地鐵的建設(shè)路線,使乘客可以沿地鐵到達(dá)各個(gè)轄區(qū),并使總的建設(shè)費(fèi)用最小?;疽螅?/p>

      ⑴從包含各轄區(qū)的外部地圖文件中讀入轄區(qū)名稱和各轄區(qū)間的直接距離。⑵根據(jù)讀入的各轄區(qū)的距離信息,計(jì)算出應(yīng)該建設(shè)哪些轄區(qū)間的地鐵路線。⑶輸出應(yīng)該建設(shè)的地鐵路線及所需要建設(shè)的總里程信息。37.服裝銷售系統(tǒng)

      要求:包含三類用戶:管理員、店長、銷售員;

      (1)管理員功能:自身密碼修改;其他用戶的添加、刪除;用戶信息的修改、統(tǒng)計(jì);商品信息的添加、修改、刪除、查找、統(tǒng)計(jì)。

      (2)店長功能:登錄、注銷、自身密碼修改、自身信息修改;商品信息的修改、統(tǒng)計(jì);查看日?qǐng)?bào)表、月報(bào)表、商品銷售量報(bào)表、營業(yè)員業(yè)績報(bào)表;查找、瀏覽、修改商品儲(chǔ)備信息。

      (3)銷售員功能:商品瀏覽、查找、出售商品,以及查看自己本日?qǐng)?bào)表、本月報(bào)表。38.歌星大獎(jiǎng)賽 要求:

      (1)在歌星大獎(jiǎng)賽中,每位歌手演唱完,有10個(gè)評(píng)委為參賽的選手打分,分?jǐn)?shù)為1~100分。選手最后得分為:去掉一個(gè)最高分和一個(gè)最低分后其余8個(gè)分?jǐn)?shù)的平均值。歌手的人數(shù)在大獎(jiǎng)賽開始時(shí)確定。(2)同時(shí)對(duì)評(píng)委評(píng)分進(jìn)行裁判,即在10個(gè)評(píng)委中找出最公平(即評(píng)分最接近平均分)和最不公平(即與平均分的差距最大)的評(píng)委。

      (3)建立數(shù)據(jù)文件,保存各位歌星比賽時(shí)的所有評(píng)委分?jǐn)?shù),包括最高分,最低分和最后得分,并對(duì)比賽結(jié)果進(jìn)行排序輸出;

      (4)界面友好,演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行,可反復(fù)操作。

      39.機(jī)房機(jī)位預(yù)約模擬系統(tǒng)

      20臺(tái)機(jī)器,從早8點(diǎn)到晚8點(diǎn),每兩個(gè)小時(shí)一個(gè)時(shí)間段。需要實(shí)現(xiàn)如下功能:(1)查詢,根據(jù)輸入時(shí)間,輸出機(jī)位信息;

      (2)機(jī)位預(yù)定,根據(jù)輸入的日期和時(shí)間段查詢是否有空機(jī)位,若有則預(yù)約,若無則提供最近時(shí)間段的空機(jī)時(shí)間段。另外,如果用戶要求在非空時(shí)間上機(jī),則將用戶信息插入該時(shí)間段的等待列表。(3)退出預(yù)定,根據(jù)輸入的時(shí)間撤銷該時(shí)間的預(yù)定。

      (4)查詢是否有等待信息,若有則按順序顯示聯(lián)系方式,若無則顯示提示信息。40.歌曲信息管理系統(tǒng)

      制作一個(gè)歌曲信息管理系統(tǒng),要求提供以下功能:

      (1)歌曲信息包括歌曲名、作者、演唱者、發(fā)行年月等。(2)可以對(duì)歌曲信息進(jìn)行輸入、刪除、瀏覽。

      (3)可以根據(jù)歌曲名、作者、演唱者查詢歌曲信息。(4)提供按作者分組顯示功能。(5)用文件存儲(chǔ)信息。41.簡單的試題庫管理系統(tǒng)

      試題庫管理系統(tǒng)要求對(duì)試題進(jìn)行集中、有序、有效的管理,更新方便、查詢快捷、組卷靈活,降低勞動(dòng)強(qiáng)度。

      實(shí)現(xiàn)新試題庫的建立,界面友好、操作方便。按試題的難易程度、題型、章節(jié)等分類錄入、修改、刪除試題,通過文本文件導(dǎo)入試題,并可以實(shí)現(xiàn)對(duì)相關(guān)試題的查詢。按照要求自動(dòng)組卷、生成文本格式試卷并輸出,便于用戶存檔和編輯。同時(shí),該系統(tǒng)還具備一定的安全性,通過用戶名和密碼登錄。42.學(xué)生點(diǎn)名系統(tǒng) 要求:

      (1)讀入外部文件存儲(chǔ)的學(xué)生信息,顯示學(xué)生歷史點(diǎn)名記錄;(2)可選擇學(xué)生班級(jí),對(duì)不同班級(jí)的學(xué)生進(jìn)行點(diǎn)名。

      (3)對(duì)學(xué)生按學(xué)號(hào)顯示名字,進(jìn)行點(diǎn)名,并接收鍵盤輸入的信息,分別代表缺課、請(qǐng)假、正常;(4)將點(diǎn)名結(jié)果連帶日期一起回存到外部文件。(5)提供交互界面,以便人機(jī)交互。43.猜數(shù)游戲

      由計(jì)算機(jī)“想”一個(gè)數(shù),并給出數(shù)值范圍,請(qǐng)人猜,如果人猜對(duì)了,則一局游戲結(jié)束。否則,計(jì)算機(jī)給出提示,告訴人所猜的數(shù)是太大還是太小,直到人猜對(duì)為止。計(jì)算機(jī)記錄游戲者每次猜的次數(shù),以此反映出猜數(shù)者“猜”的水平。

      要求:

      (1)把猜數(shù)記錄最好的前五名的數(shù)據(jù)保存在外部文件中,包括游戲者的名字,成績和排名,并排序輸出。

      (2)提供交互界面,以便人機(jī)交互。

      下載數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目word格式文檔
      下載數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 一、考核方法和內(nèi)容 根據(jù)課程設(shè)計(jì)過程中學(xué)生的學(xué)生態(tài)度、題目完成情況、課程設(shè)計(jì)報(bào)告書的質(zhì)量和回答問題的情況等按照10%、40%、30%、20%加權(quán)綜合打分。成......

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)分類題目

        線性表 順序表: 1、設(shè)有一元素為整數(shù)的線性表L=(a1,a2,a3,?,an),存放在一維數(shù)組A[N]中,設(shè)計(jì)一個(gè)算法,以表中an作為參考元素,將該表分為左、右兩部分,其中左半部分每個(gè)元素小......

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目(大全五篇)

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目 1. 飛機(jī)訂票系統(tǒng)(限1 人完成) 任務(wù):通過此系統(tǒng)可以實(shí)現(xiàn)如下功能: 錄入: 可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定) 查詢: 可以......

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目(大題目)[精選]

        一、公司銷售管理系統(tǒng)(4人) 項(xiàng)目開發(fā)基本要求 1.客戶信息管理:對(duì)客戶的基本信息進(jìn)行添加、修改和刪除。 2.產(chǎn)品信息管理:對(duì)產(chǎn)品的基本信息進(jìn)行添加、修改和刪除。 3.供應(yīng)商信息管理......

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目要求2010-12-22

        1.二叉樹的遍歷和應(yīng)用 問題描述:以二叉鏈表表示二叉樹,在此基礎(chǔ)上實(shí)現(xiàn)對(duì)二叉樹的遍歷和應(yīng)用。 要求: 創(chuàng)建二叉樹輸出二叉樹 二叉樹的先序、中序、后序遍歷二叉樹的按層遍歷......

        2012級(jí)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目及要求

        2012級(jí)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目及要求 一、要求 本次課程設(shè)計(jì)可以從以下的題目中任選其一,每個(gè)題目基本實(shí)現(xiàn)的要求是: 1、 有菜單功能 2、 有讀寫數(shù)據(jù)存盤功能 3、 有數(shù)據(jù)圖形顯......

        數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)題目[范文大全]

        數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)題目 1.成績管理 問題描述:給出n個(gè)學(xué)生的考試成績表,成績表包括學(xué)生的學(xué)號(hào)、姓名、考試成績(高等數(shù) 學(xué)、英語、物理),設(shè)計(jì)一個(gè)簡單的成績管理程序。 基本要......

        2012數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

        數(shù) 據(jù) 結(jié) 構(gòu) 課程設(shè)計(jì)報(bào)告 題 目: 一元多項(xiàng)式計(jì)算 專 業(yè): 信息管理與信息系統(tǒng) 班 級(jí): 2012級(jí)普本班 學(xué) 號(hào): 201201011367 姓 名: 左帥帥 指導(dǎo)老師: 郝慎學(xué) 時(shí) 間: 一、課程設(shè)計(jì)題目......