版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)結構與算法課程設計任務書一、設計的目的數(shù)據(jù)結構課程設計是在學完數(shù)據(jù)結構課程之后的實踐教學環(huán)節(jié)。該 實踐教學是軟件設計的綜合訓練, 包括問題分析,總體結構設計,用戶界 面設計,程序設計基本技能和技巧。要求學生在設計中逐步提高程序設計 能力,培養(yǎng)科學的軟件工作方法。學生通過數(shù)據(jù)結構課程設計在下述各方 面得到鍛煉:1、能根據(jù)實際問題的具體情況,結合數(shù)據(jù)結構課程中的基本理論和基 本算法,正確分析出數(shù)據(jù)的邏輯結構,合理地選擇相應的存儲結構,并能設計出解決問題的有效算法。2、提高程序設計和調試能力.學生通過上機實習,驗證自己設計的算 法的正確性。學會有效利用基本調試方法,迅速找出程序代碼中的錯誤并 且
2、修改。3、培養(yǎng)算法分析能力。分析所設計算法的時間復雜度和空間復雜度, 進一步提高程序設計水平。二、設計的要求、注意事項和進程1、要求:每人選作附錄中的一個題目(特別說明:如不想選作指定題目的 可以向老師提出,學生自行選擇,但是在難度和工作量上必須足 夠題目選擇自行分配,分組后由班長統(tǒng)一填表發(fā)給教師,不 再變動,使用C或C+實現(xiàn),不允許使用其他代碼,每個題目必須給出清晰的數(shù)據(jù)結構,給出詳細的對應的基本操作 代碼,應該有較好的輸入輸出界面,教師只提出基本功能和要求,學生 應該對其進行完善和豐富。學生必須設計出易于理解的輸入輸出 界面,學生應該準備多組測試數(shù)據(jù)(不能僅僅只有一組),而且測試數(shù)據(jù)允許隨
3、時變動。每個學生都需要上交一份課程設計報告,該報告的格式參照模板,使用紙張A4 ,統(tǒng)一為左側裝訂。源程序和報告的電子版,由班級統(tǒng)一刻制光盤,光盤中每個學生 一個文件夾,文件夾命名規(guī)則如下,學生學號 學生姓名 所選課 程設計題目名稱,該文件夾內包括兩項內容,一個是該學生的課 程設計報告電子版,報告的電子版使用 word文檔,另一個是該 學生的課程設計源代碼,源代碼不壓縮存入一個文件夾內。 光盤 刻制完畢后,光盤上用記號筆書寫,班級名稱,人數(shù),對應課程 名稱。2、注意事項:1)充分理解題目,給定主要算法及其應用組合;2)各種文檔資料要在程序開發(fā)過程中逐漸形成;3)采用統(tǒng)一課程設計報告模板;4)每位
4、同學報告及代碼內容不允許重復、雷同。3、進程:1)查閱資料、邏輯設計(3月5日3月18日)2)程序設計及調試(3月19日3月25日)3)撰寫報告及答辯(3月26日一3月30日)三、報告內容及要求實習報告包括以下七個內容:.需求分析描述要求編程解決的問題。以無歧義的陳述說明程序 設計的任務,強調的是程序要做什么?明確規(guī)定:(a)輸入的形式和輸入值的范圍;(b)輸出的形式;(c)程序所能達到的功能;(d)測試數(shù)據(jù):包括正確的輸入及其輸出結果和含有錯誤的輸入及其 輸出結果。.概要設計 給出程序要達到的具體的要求。描述解決相應問題算 法的設計思想。描述所設計程序的各個模塊(即函數(shù))功能。說明本程序 中
5、用到的所有抽象數(shù)據(jù)類型的定義、主程序的流程以及各程序模塊之間的 層次(調用)關系。.詳細設計 實現(xiàn)概要設計中定義的所有數(shù)據(jù)類型,對每個操作只 需要寫出流程或偽碼算法;對主程序和其他模塊也都需要寫出流程或偽碼 算法(偽碼算法達到的詳細程度建議為:按照偽碼算法可以在計算機鍵盤 直接輸入高級程序設計語言程序);畫出函數(shù)的調用關系圖。給出所使用的基本抽象數(shù)據(jù)類型,所定義的具體問題的數(shù)據(jù)類型,以及新定義的抽象數(shù) 據(jù)類型。設計出良好的輸入輸出界面(清晰易懂)。4,調試分析內容包括:(a)調試過程中遇到的問題是如何解決的以及對設計與實現(xiàn)的回顧討 論和分所;(b)算法的時空分析(包括基本操作和其他算法的時間復
6、雜度和空間復 雜度的分析)和改進設想;(c)經(jīng)驗和體會等。.用戶使用說明 說明如何使用你編寫的程序,詳細列出每一步的 操作步驟。.測試結果 設計測試數(shù)據(jù),或具體給出測試數(shù)據(jù)。要求測試數(shù)據(jù) 能全面地測試所設計程序的功能。列出你的測試結果,包括輸入和輸出。 這里的測試數(shù)據(jù)應該完整和嚴格,最好多于需求分析中所列。.測試情況:給出程序的測試情況,并分析運行結果附錄(非必須,按照需要添加)帶注釋的源程序??梢灾涣谐龀绦蛭募那鍐?。四、成績評定考核采用五級評分制(優(yōu)秀、良好、中等、及格、不及格)。主要依 據(jù)是選擇題目的難易程度、解決問題的思路和方法、程序運行情況、程序 的結構合理與否、算法說明的清晰程度
7、、報告的規(guī)范程度、總結的深刻程 度以及選做情況和獨立完成情況。附錄:可選題目飛機訂票系統(tǒng)(限1人完成)任務:通過此系統(tǒng)可以實現(xiàn)如下功能:錄入:可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結構、 具體數(shù)據(jù)自定)查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起 飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;訂票:(訂票情況可以存在一個數(shù)據(jù)文件中,結構自己設定)可以訂票,如果該航班已經(jīng)無票,可以提供相關可選擇航班;退票:可退票,退票后修改相關數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及航班情況,訂單要有編號。修改航班信息:當航班信息
8、改變可以修改航班數(shù)據(jù)文件要求:根據(jù)以上功能說明,設計航班信息,訂票信息的存儲結構,設計 程序完成功能;宿舍管理查詢軟件(限1人完成)任務:為宿舍管理人員編寫一個宿舍管理查詢軟件,程序設計 要求:采用交互工作方式建立數(shù)據(jù)文件,數(shù)據(jù)文件按關鍵字(姓名、學號、房號)進行排序(冒泡、選擇、插入排序等任選一種)查詢菜單:(用二分查找實現(xiàn)以下操作)按姓名查詢按學號查詢按房號查詢3.校園導航問題(限1人完成)設計要求:設計你的學校的平面圖,至少包括 10個以上的場所,每 兩個場所間可以有不同的路,且路長也可能不同,找出從任意場所到達另 一場所的最佳路徑(最短路徑).圖書借閱管理系統(tǒng)(限1人完成)主要分為兩大
9、功能:圖書管理(增加圖書、查詢圖書、刪除圖書、圖書借閱、還書);會員管理(增加會員、查詢會員、刪除會員、借書信息);學生成績管理(限1人完成)實現(xiàn)功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、 保存、拷貝、排序、索引、分類合計、退出。活期儲蓄帳目管理(限1人完成)活期儲蓄處理中,儲戶開戶、銷戶、存入、支出活動頻繁,系統(tǒng) 設計要求:能比較迅速地找到儲戶的帳戶,以實現(xiàn)存款、取款記賬;能比較簡單,迅速地實現(xiàn)插入和刪除,以實現(xiàn)開戶和銷戶的需要。通訊錄的制作(限1人完成)設計目的:用數(shù)據(jù)結構中的雙向鏈表作數(shù)據(jù)結構,編寫一個 通訊錄管理系統(tǒng)。以把所學數(shù)據(jù)結構知識應用到實際軟件開發(fā)中去。設計內容:本
10、系統(tǒng)應完成一下幾方面的功能:輸入信息enter();顯示信息 display();查找以姓名作為關鍵字search();刪除信息delete();在盤save ();裝入load();設計要求:每條信息至包含:姓名(NAME )街道(STREET)城市(CITY)郵編(EIP)國家(STATE)幾項作為一個完整的系統(tǒng),應具有友好的界面和較強的容錯能力哈夫曼編碼/譯碼器(限1人完成)【問題描述】設計一個利用哈夫曼算法的編碼和譯碼系統(tǒng), 重復地顯 示并處理以下項目,直到選擇退出為止?!净疽蟆繉嘀禂?shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt ,位于執(zhí)行程序的當前目錄中)初始化:鍵盤輸入字符集大
11、小 n、n個字符和n個權值,建立 哈夫曼樹;編碼:利用建好的哈夫曼樹生成哈夫曼編碼;輸出編碼;設字符集及頻度如下表:字符空格 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字符 NOPQ RST UVWXYZ頻度 57 63 15 1 48 51 80 23 8 18 1 16 1電話號碼查找系統(tǒng)(限1人完成)【問題描述】利用散列表的設計與實現(xiàn)電話號碼查找系統(tǒng)。【基本要求】設每個記錄有下列數(shù)據(jù)項:電話號碼、用戶名、地址;從鍵盤輸入各記錄,分別以電話號碼和用戶名為關鍵字建立散列表;采用一定的方法解決沖突;
12、查找并顯示給定電話號碼的記錄;查找并顯示給定用戶名的記錄。學生成績管理系統(tǒng)(限1人完成)現(xiàn)有學生成績信息文件1 (1.txt),內容如下姓名學號語文數(shù)學英語張明明01677882李成友02789188張輝燦03688256王露04564577除爾明05673847.學生成2.費信息.文件2 (2.tx:t),內容如下姓名學號語文數(shù)學英語陳果31576882李華明32889068張明東33484256李明國34504587除追鳧35475877試編寫一管理系統(tǒng),要求如下:實現(xiàn)對兩個文件數(shù)據(jù)進行合并,生成新文件3.txt抽取出三科成績中有補考的學生并保存在一個新文件4.txt對合并后的文件3.tx
13、t中的數(shù)據(jù)按總分降序排序(至少采用兩種排序方法實現(xiàn))輸入一個學生姓名后,能查找到此學生的信息并輸出結果(至少采用兩種查找方法實現(xiàn))要求使用結構體,鏈或數(shù)組等實現(xiàn)上述要求.圖的遍歷和生成樹求解實現(xiàn)(限 1人完成)要求:先任意創(chuàng)建一個圖;圖的DFS,BFS的遞歸和非遞歸算法的實現(xiàn)最小生成樹(兩個算法)的實現(xiàn),求連通分量的實現(xiàn)要求用鄰接矩陣、鄰接表結構存儲實現(xiàn)排序綜合(限1人完成)利用隨機函數(shù)產(chǎn)生N個隨機整數(shù)(20000以上),對這些數(shù)進行 多種方法進行排序。要求:至少采用五種方法實現(xiàn)上述問題求解 (提示,可采用的方法有插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸并排 序)0并把排序
14、后的結果保存在不同的文件中。統(tǒng)計每一種排序方法的性能(以上機運行程序所花費的時間為準進行對比),找出其中兩種較快的方法。josephs 環(huán) (限1人完成)任務:編號是1, 2,n的n個人按照順時針方向圍坐一圈,每 個人只有一個密碼(正整數(shù))。一開始任選一個正整數(shù)作為報數(shù)上限值 m,從第一個仍開始順時針方向自1開始順序報數(shù),報到m時停止報數(shù)。 報m的人出列,將他的密碼作為新的 m值,從他在順時針方向的下一個 人開始重新從1報數(shù),如此下去,直到所有人全部出列為止。設計一個 程序來求出出列順序。要求:利用單向循環(huán)鏈表存儲結構模擬此過程, 按照出列的順序輸出 各個人的編號。測試數(shù)據(jù):m的初值為20,
15、n=7 ,7個人的密碼依次為3, 1, 7, 2, 4, 7, 4,首先m=6,則正確的輸出是什么?要求:輸入數(shù)據(jù):建立輸入處理輸入數(shù)據(jù),輸入 m的初值,n ,輸 入每個人的密碼,建立單循環(huán)鏈表。輸出形式:建立一個輸出函數(shù),將正確的輸出序列HUFFMAN 樹及編碼(限1人完成)隨機輸入一篇英文文章(或讀一個 TXT文件),生成并顯示HUFFMAN樹,輸出每個字母的 HUFFMAN編碼,判斷ASCII編碼與HUFFMAN編碼對本篇報文長度節(jié)省效果。拓撲排序(限1人完成)問題描述建立圖的存儲結構,能夠輸入圖的頂點和邊的信息,并 存儲到相應存儲結構中,再編寫函數(shù)實現(xiàn)圖的拓撲排序?;疽筮x擇鄰接表作
16、為有向圖的存儲結構模擬整個過程,并輸 出拓卜排序的頂點序列。測試數(shù)據(jù)利用下圖中的數(shù)據(jù)調試程序簡單的職工管理系統(tǒng)(限1人完成).問題描述對單位的職工進行管理,包括插入、刪除、查找、排序等功能。.要求職工對象包括姓名、性別、出生年月、工作年月、學歷、職務、 住址、電話等信息。(1)新增一名職工:將新增職工對象按姓名以字典方式職工管理文 件中。(2)刪除一名職工:從職工管理文件中刪除一名職工對象。(3)查詢:從職工管理文件中查詢符合某些條件的職工。(4)修改:檢索某個職工對象,對其某些屬性進行修改。(5)排序:按某種需要對職工對象文件進行排序。3.實現(xiàn)提示職工對象數(shù)不必很多,便于一次讀入內存,所有操
17、作不經(jīng)過內外 存交換。(1)由鍵盤輸入職工對象,以文件方式保存。程序執(zhí)行時先將文件 讀入內存。(2)對職工對象中的姓名按字典順序進行排序。(3)對排序后的職工對象進行增、刪、查詢、修改等操作。.哈希表設計(限1人完成)問題描述:針對自己的班集體中的 人名”設計一個哈希表,使得平 均查找長度不超過R,完成相應的建表和查表程序?;疽?假設人名為中國姓名的漢語拼音形式。待填入哈希表的 人名共有30個,取平均查找長度的上限為2。哈希函數(shù)用除留余數(shù)法構 照,用鏈表法處理沖突。測試數(shù)據(jù):讀取熟悉的30個人的姓名。.學生信息管理(限1人完成)要求每條學生信息至包含學號(xh)、姓名(xm)、性別(xb)
18、、年齡(nl)、 專業(yè)(zy)等,完成如下功能:(1)輸入學生基本信息記錄enter()(2)增加一名學生記錄(可和功能1合并)一一insert()(3)刪除指定(按姓名)學生的信息 一一delete()(4)修改指定(按姓名)學生的信息)一一modify()(5)查詢符合條件的學生(按專業(yè))一一search()(6)顯示學生管理庫中的信息 一一display。.計算一元稀疏多項式(限1人完成)要求完成如下功能:輸入并建立多項式creatpolyn()輸出多項式,輸出形式為整數(shù)序列,序列按指數(shù)升序排列一一 printpolyn()多項式a和b相加,建立多項式a+b,輸出相加的多項式一一 add
19、polyn()多項式a和b相減,建立多項式a-b,輸出相減的多項式一一 subpolyn()用帶表頭結點的單鏈表存儲多項式。測試數(shù)據(jù):(2x+5x8-3.1x11)+(7-5x8+11x9)(6-3x+4.4x2-1.2x9)-(-6-3x+5.4x2+7.8x15)(x+x2+x3)+0(4 ) (x+x3)-(-x-x-3).通訊錄的制作(限1人完成)要求每條信息至包含姓名(name )城市(dty)電話(tel) QQ號 (qq),完成如下功能:輸入信息enter();顯示信息-display();查找以姓名作為關鍵字 一一search();刪除信息delete();(5)存盤(將數(shù)據(jù)保
20、存在文件中,此功能選做)save ();.運動會分數(shù)統(tǒng)計(1人完成)任務:參加運動會有n個學校,學校編號為1n。比賽分成 m個男子項目,和w個女子項目。項目編號為男子1m ,女子m+1m+w o不同的項目取前五名或前三名積分;取前五名的積分分 別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名 或前三名由學生自己設定。(m=20,n=20 )功能要求:可以輸入各個項目的前三名或前五名的成績;能統(tǒng)計各學??偡?,可以按學校編號或名稱、學??偡?、男女團體總分排序輸出;可以按學校編號查詢學校某個項目的情況; 可以按項目編號查詢取得前三或前五名的學校。數(shù)據(jù)存入文件并能隨時查詢規(guī)定:輸
21、入數(shù)據(jù)形式和范圍:可以輸入學校的名稱,運動項目 的名稱輸出形式:有中文提示,各學校分數(shù)為整形界面要求:有合理的提示,每個功能可以設立菜單,根據(jù)提示, 可以完成相關的功能要求。存儲結構:學生自己根據(jù)系統(tǒng)功能要求自己設計, 但是要求運動 會的相關數(shù)據(jù)要存儲在數(shù)據(jù)文件中。(數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關內 容在c語言程序設計的書上,請自學解決)請在最后的上交資料中指明你 用到的存儲結構;測試數(shù)據(jù):要求使用1、全部合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部 非法數(shù)據(jù)。進行程序測試,以保證程序的穩(wěn)定。測試數(shù)據(jù)及測試結果請在 上交的資料中寫明;.最小生成樹問題(限1人完成)問題描述: 在n個城市之間建設網(wǎng)絡,只需
22、保證連通即可,求最經(jīng) 濟的架設方法。對于圖,其生成樹中的邊也帶權,將生成樹各邊的權值總和稱為生成樹的權,并將權值最小的生成樹稱為最小生成樹,簡稱為 MST。有兩種非常典型的算法:Prim算法和kruskal算法。任務要求:設計程序完成如下功能:對給定的網(wǎng)和起點,用PRIM算 法和kruskal算法的基本思想求解出所有的最小生成樹。存儲結構可自行 選擇。測試數(shù)據(jù):自行設定,注意邊界等特殊情況。要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.敢死隊問題(限1人完成)有M個敢死隊員要炸掉敵人的一碉堡,誰都不想去,排長決定用輪 回數(shù)數(shù)的辦法來決定哪個戰(zhàn)士去執(zhí)行任務。如果
23、前一個戰(zhàn)士沒完成任務, 則要再派一個戰(zhàn)士上去?,F(xiàn)給每個戰(zhàn)士編一個號,大家圍坐成一圈,隨便 從某一個戰(zhàn)士開始計數(shù),當數(shù)到 5時,對應的戰(zhàn)士就去執(zhí)行任務,且此 戰(zhàn)士不再參加下一輪計數(shù)。如果此戰(zhàn)士沒完成任務,再從下一個戰(zhàn)士開始 數(shù)數(shù),被數(shù)到第5時,此戰(zhàn)士接著去執(zhí)行任務。以此類推,直到任務完 成為止。排長是不愿意去的,假設排長為1號,請你設計一程序,求出從第 幾號戰(zhàn)士開始計數(shù)才能讓排長最后一個留下來而不去執(zhí)行任務。要求:至少采用兩種不同的數(shù)據(jù)結構的方法實現(xiàn)。.最短路徑實現(xiàn)圖的輸入,選擇合適的結構表示圖,在此基礎上實現(xiàn)求解最短路 徑的算法,可以從任意一點求最短路徑,學生必須準備多組測試數(shù)據(jù),并 設計清晰
24、易懂的輸入輸出界面,要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.圖的基本操作與實現(xiàn)(限1人完成)(1)自選存儲結構,輸入含n個頂點(用字符表示頂點)和e條邊的圖G;(2)求每個頂點的度,輸出結果;(3)指定任意頂點x為初始頂點,對圖G作DFS遍歷,輸出DFS頂點序列 (提示:使用一個棧實現(xiàn)DFS);(4)指定任意頂點x為初始頂點,對圖G作BFS遍歷,輸出BFS頂點序列(提 示:使用一個隊列實現(xiàn)BFS);(5)輸入頂點x,查找圖G:若存在含x的頂點,則刪除該結點及與之相關連的邊,并作DFS遍歷(執(zhí)行操作3);否則輸出信息“無x”;(6)判斷圖G是否是連通圖,輸
25、出信息“ YES” / “NO” ;.長的整數(shù)加法問題描述:設計一個程序實現(xiàn)兩個任意長的整數(shù)的求和運算?;疽螅豪秒p向循環(huán)鏈表,設計一個實現(xiàn)任意長的整數(shù)進行加法運算的演示程序。要求輸入和輸出每四位一組,組間用逗號隔開。如: 1,0000, 0000, 0000, 0000。.學生搭配問題。一班有m個女生,有n個男生(m不等于n),現(xiàn)要開一個舞會。男女 生分別編號坐在舞池的兩邊的椅子上。 每曲開始時,依次從男生和女生中 各出一人配對跳舞,本曲沒成功配對者坐著等待下一曲找舞伴。請設計一系統(tǒng)模擬動態(tài)地顯示出上述過程,要求如下:(1)輸出每曲配對情況;(2)計算出任何一個男生(編號為X)和任意女生
26、(編號為Y),在 第K曲配對跳舞的情況.至少求出K的兩個值;(3)盡量設計出多種算法及程序。要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.車廂調度問題描述:假設停在鐵路調度站入口處白車廂序列的編號一次為 1, 2, 3, n。設計一個程序,求出所有可能由此輸出的長度為n的車廂序列。 29串的查找和替換問題描述:打開一篇英文文章,在該文章中找出所有給定的單詞, 然后 對所有給定的單詞替換為另外一個單詞,再存盤。.構造可以使n個城市連接的最小生成樹問題描述:給定一個地區(qū)的n個城市間的距離網(wǎng),用Prim算法或Kruskal 算法建立最小生成樹,并計算得到的最小生成樹
27、的代價?;疽螅?、城市間的距離網(wǎng)采用鄰接矩陣表示,鄰接矩陣的存儲結構定義采用 課本中給出的定義,若兩個城市之間不存在道路,則將相應邊的權值設為 自己定義的無窮大值。要求在屏幕上顯示得到的最小生成樹中包括了哪些 城市間的道路,并顯示得到的最小生成樹的代價。2、表示城市間距離網(wǎng)的鄰接矩陣(要求至少 6個城市,10條邊)3、最小生成樹中包括的邊及其權值,并顯示得到的最小生成樹的代價。.設計哈希表實現(xiàn)電話號碼查詢系統(tǒng)?;疽螅?、設每個記錄有下列數(shù)據(jù)項:電話號碼、用戶名、地址;2、從鍵盤輸入各記錄,分別以電話號碼和用戶名為關鍵字建立哈希表;3、采用再哈希法解決沖突;4、查找并顯示給定電話號碼的記
28、錄;5、查找并顯示給定用戶名的記錄。6、在哈希函數(shù)確定的前提下,嘗試各種不同類型處理沖突的方法(至 少兩種),考察平均查找長度的變化。.括號匹配問題從預先存儲的文件中讀出多個表達式, 每一個表達式有英文字母(小 寫)、運算符和左右大()()中小三種括號構成,請編寫一個程序檢查每個 表達式中的左右括號是否匹配,若匹配,則返回“YES”;否則返回“NO”, 同時顯示出括號不匹配的大致位置。 表達式長度小于500,括號不少于20 個。要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.迷宮問題求解迷宮問題,迷宮大小,不小于10乘以10,迷宮的存儲方式應該 容易修改,迷宮只
29、有一個入口,可以有一個或多個出口,按上下左右四方 向行走,或八方向行走,求解可以同行的路徑,要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.模擬售票大廳考慮去銀行辦業(yè)務:一般來說,服務窗口越多,隊走的越快,銀行經(jīng) 理希望顧客滿意,但又不希望雇傭過多的員工。我們模擬的服務窗口有如下假設:a.只排一隊,并且先到的人先得到服務b.平均每隔15秒就會來一位顧客c.如果有空閑的窗口,在顧客抵達之時就會馬上處理d.從顧客來到窗口到處理完顧客請求,這個平均需要 120秒以下就來模擬高峰期銀行開多少個窗口最為合適:(利用平均等待時問)給出詳細的結果對比分析,最好有中間的過程演示
30、,要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.文件的壓縮和恢復功能,從文本文件中讀入原始數(shù)據(jù),該原始數(shù)據(jù)只包含英文字母,對原始數(shù) 據(jù)進行分析后,想辦法對其進行壓縮,壓縮后,保存到新的文件之內,并 提供壓縮前后的占用空間之比。要求:(a)原始文件和新產(chǎn)生的文件,利用文本文件來模仿二進制文件。(b)運行時的壓縮原文件的規(guī)模應不小于 1K。(c)提供恢復文件與原文件的相同性對比功能。(d)提供詳細的對比界面,并且有詳細的中間過程演示,要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.集合運算常用集合運算符號名稱:和集&符號解釋:兩個或
31、兩個以上的集合的所有元素組成一個新的集合 稱為和集使用示例:雙目運算符(1,2,3)&(1,3,4)=1 2 3 1 3 4符號名稱:并集+符號解釋:兩個或兩個以上集合并在一起并去除其中重復元素的 集合,稱為并集使用示例:雙目運算符(1,2,3,5,9)+(1,3,4)=1 2 3 5 9 4符號名稱:差集-符號解釋:第一個集合減去第二個集合所包含的元素,稱為差集使用示例:.雙目運算符(1,2,3,5,9)-(1,3,4)=2 5 9.單目運算符(去除數(shù)集中重復的元素)(1,2,3,1,4,2,5)-=1 2 3 4 5符號名稱:交集*符號解釋:兩個集合中都含有的元素使用示例:(1,2,3)*
32、(1,3,4)=1 3符號名稱:補集/符號解釋:兩個集中非共同元素組成的集合(也叫反交集)使用示例:(1,2,3)/(1,3,4)=2 4符號名稱:逆集符號解釋:第二個集合減去第一個集合所包含的元素,稱為逆集(也叫反差集)使用示例:(1,2,3)(1,3,4)=4符號名稱:平集!符號解釋:兩個集合的和集中,只出現(xiàn)一次的元素組成的集合稱 為平集使用示例:(1,2,3,2,5,6,2,1,4,3,2)!(4,5,9,2,3,5,1,7)=6 9 7要求:允許三個集合,同時參與計算,如何用多種數(shù)據(jù)結構來求解問 題。同時要求實現(xiàn)對應數(shù)據(jù)結構的所有基本操作。.特殊矩陣運算對特殊矩陣能夠保存到文件之內,而
33、且可以從文件讀取,在界面上, 以人們熟悉的方式顯示,可以對特殊矩陣進行加法運算和減法運算, 矩陣 轉置,要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.模擬計算器的程序(仿照win7計算器)要求能對包含加、減、乘、除、括號運算符及 n次方和ABS函數(shù)等 函數(shù)的任意整型表達式進行求解。要求:要檢查有關運算的條件,并對錯誤的條件產(chǎn)生報警。要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.查找算法比較問題描述:設計一個實現(xiàn)順序查找、二分查找(折半查找)、二叉排序樹、平衡 二叉樹、哈希查找算法的程序,并具有人機交互界面?;疽螅?1)設計
34、一個菜單將實現(xiàn)的查找算法的名字顯示出來,并提示用戶對查找算法進行選擇;(2)分別實現(xiàn)順序查找、二分查找(折半查找)、二叉排序樹、哈希 查找;(3)哈希函數(shù)采用除留余數(shù)發(fā),解決沖突的方法大家任選擇一種;(4)二叉排序樹必須實現(xiàn)構建、查找、插入、刪除四個基本操作;(5)輸出各種排序的結果并進行比較。要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.文章編輯功能:輸入一頁文字,程序可以統(tǒng)計出文字、數(shù)字、空格的個數(shù)。 靜 態(tài)存儲一頁文章,每行最多不超過 80個字符,共N行;要求(1)分別統(tǒng)計出其中英文字母數(shù)和空格數(shù)及整篇文章總字數(shù);(2)統(tǒng)計某一字符串在文章中出現(xiàn)的次數(shù),
35、并輸出該次數(shù);(3)刪除某一子用,并將后面的字符前移。(4)查找,替換(等長,不等長),插入(插用,文本塊的插入)、 塊移動(行塊,列塊移動),刪除;(5)可正確存盤、取盤;(6)正確顯示總行數(shù)。存儲結構使用線性表,分別用幾個子函數(shù)實現(xiàn)相應的功能;輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標點符號。輸出形式:(1)分行輸出用戶輸入的各行字符;(2)分4行輸出全 部字母數(shù)、數(shù)字個數(shù)、空格個數(shù)、”文章總字數(shù)”(3)輸出刪除某一 字符串后的文章;要求:如何用多種數(shù)據(jù)結構來求解問題。同時要求實現(xiàn)對應數(shù)據(jù)結構 的所有基本操作。.藥店的藥品銷售統(tǒng)計系統(tǒng)(排序應用)【問題描述】 設計一系
36、統(tǒng),實現(xiàn)醫(yī)藥公司定期對銷售各藥品的記錄 進行統(tǒng)計,可按藥品的編號、單價、銷售量或銷售額做出排名?!緦崿F(xiàn)提示】在本設計中,首先從數(shù)據(jù)文件中讀出各藥品的信息記錄,存儲在 順序表中。各藥品的信息包括:藥品編號、藥名、藥品單價、銷出數(shù)量、 銷售額。藥品編號共4位,采用字母和數(shù)4字混合編號,如:A125,前一位為大寫字母,后三位為數(shù)字, 按藥品編號進行排序時,可采用基數(shù)排序法。對各藥品的單價、銷售量或 銷售額進行排序時,可采用多種排序方法,如直接插入排序、冒泡排序、 快速排序,直接選擇排序等方法。在本設計中,對單價的排序采用冒泡排 序法,對銷售量的排序采用快速排序法,對銷售額的排序采用堆排序法。.停車場管理問題描述設停車場內只有一個可停放n輛汽車的狹長通道,且只 有一個大門可供汽車進出。汽車在停車場內按車輛到達時間的先后順序, 依次由北向南排列(大門在最南端
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國冷凍恒溫振蕩器市場調查研究報告
- 2025年水晶沐浴柜項目可行性研究報告
- 2025年排風設備配件項目可行性研究報告
- 2025年主噴閥項目可行性研究報告
- 2025至2030年高速銷軸機項目投資價值分析報告
- 2025年度企業(yè)炊事員培訓及聘用合同4篇
- 2025至2030年定喘膠囊項目投資價值分析報告
- 2025至2030年五豐雪霜棒冰項目投資價值分析報告
- 2025年度路燈照明工程節(jié)能評估與優(yōu)化合同3篇
- 二零二五年度離婚協(xié)議書:離婚后財產(chǎn)分配及子女撫養(yǎng)責任
- 海洋工程設備保溫保冷方案
- 文藝演出排練指導服務合同
- 魏寧海超買超賣指標公式
- (正式版)FZ∕T 80014-2024 潔凈室服裝 通 用技術規(guī)范
- 新起點英語二年級下冊全冊教案
- 【幼兒園戶外體育活動材料投放的現(xiàn)狀調查報告(定量論文)8700字】
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- 湖南省長沙市開福區(qū)青竹湖湘一外國語學校2023-2024學年九年級下學期一模歷史試題
- 漢密爾頓抑郁和焦慮量表
- 風電場事故案例分析
- 人教版八年級數(shù)學初中數(shù)學《平行四邊形》單元教材教學分析
評論
0/150
提交評論