日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《数据结构与算法》课程设计任务书——赫夫曼编码/译码器

發(fā)布時間:2024/10/5 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《数据结构与算法》课程设计任务书——赫夫曼编码/译码器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

(2019/2020學(xué)年第一學(xué)期) 指導(dǎo)教師:孫麒、霍戌文

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

任務(wù)書

《數(shù)據(jù)結(jié)構(gòu)與算法》是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)重要的核心課程之一,在計(jì)算機(jī)專業(yè)的學(xué)習(xí)過程中占有非常重要的地位。《數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)》就是要運(yùn)用本課程以及到目前為止的有關(guān)課程中的知識和技術(shù)來解決實(shí)際問題。特別是面臨非數(shù)值計(jì)算類型的應(yīng)用問題時,需要選擇適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu),設(shè)計(jì)出滿足一定時間和空間限制的有效算法。

本課程設(shè)計(jì)要求同學(xué)獨(dú)立完成一個較為完整的應(yīng)用需求分析。并在設(shè)計(jì)和編寫具有一定規(guī)模程序的過程中,深化對《數(shù)據(jù)結(jié)構(gòu)與算法》課程中基本概念、理論和方法的理解;訓(xùn)練綜合運(yùn)用所學(xué)知識處理實(shí)際問題的能力,強(qiáng)化面向?qū)ο蟮某绦蛟O(shè)計(jì)理念;使自己的程序設(shè)計(jì)與調(diào)試水平有一個明顯的提高。
一、赫夫曼編碼/譯碼器

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

  • 基本要求
    一個完整的系統(tǒng)應(yīng)具有以下功能:
    (1) I:初始化(Initialization)。從終端讀入字符集大小n,以及n個字符和n個權(quán)值,建立赫夫曼樹,并將它存于文件hfmTree中。
    (2) E:編碼(Encoding)。利用已建好的赫夫曼樹(如不在內(nèi)存,則從文件hfmTree中讀入),對文件ToBeTran中的正文進(jìn)行編碼,然后將結(jié)果存入文件CodeFile中。
    (3) D:譯碼(Decoding)。利用已建好的赫夫曼樹將文件CodeFile中的代碼進(jìn)行譯碼,結(jié)果存入文件Textfile中。
    以下為選做:
    (4) P:打印代碼文件(Print)。將文件CodeFile以緊湊格式顯示在終端上,每行50個代碼。同時將此字符形式的編碼文件寫入文件CodePrin中。
    (5) T:打印赫夫曼樹(Tree printing)。將已在內(nèi)存中的赫夫曼樹以直觀的方式(比如樹)顯示在終端上,同時將此字符形式的赫夫曼樹寫入文件TreePrint 中。

  • 測試要求
    (1)已知某系統(tǒng)在通信聯(lián)絡(luò)中只可能出現(xiàn)八種字符,其頻率分別為0.05、0.29、0.07、0.08、0.14、0.23、0.03、0.11,試設(shè)計(jì)赫夫曼編碼。
    (2) 用下表給出的字符集和頻度的實(shí)際統(tǒng)計(jì)數(shù)據(jù)建立赫夫曼樹,并實(shí)現(xiàn)以下報(bào)文的編碼和譯碼:“THIS PROGRAME IS MY FAVORITE”。
    字符 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

  • 實(shí)現(xiàn)提示
    (1) 編碼結(jié)果以文本方式存儲在文件Codefile中。
    (2) 用戶界面可以設(shè)計(jì)為“菜單”方式:顯示上述功能符號,再加上“Q”,表示退出運(yùn)行Quit。請用戶鍵入一個選擇功能符。此功能執(zhí)行完畢后再顯示此菜單,直至某次用戶選擇了“Q”為止。
    (3) 在程序的一次執(zhí)行過程中,第一次執(zhí)行I,D或C命令之后,赫夫曼樹已經(jīng)在內(nèi)存了,不必再讀入。每次執(zhí)行中不一定執(zhí)行I命令,因?yàn)槲募fmTree可能早已建好。
    二、具體要求:
    課程設(shè)計(jì)成果的內(nèi)容必須由以下四個部分組成,缺一不可。
    (1) 上交源程序:學(xué)生按照實(shí)驗(yàn)題目的具體要求所開發(fā)的所有源程序(應(yīng)該放到一個文件夾中),然后打包壓縮后上交;
    (2) 上交程序的說明文件:(保存在.txt中)在說明文檔中應(yīng)該寫明上交程序所在的目錄,上交程序的主程序文件名,如果需要安裝第三方軟件才能運(yùn)行,要有第三方程序的安裝使用說明;(可以在報(bào)告中體現(xiàn))
    (3) 設(shè)計(jì)報(bào)告:(電子版本,保存在word 文檔中,文件名要求: 按照“學(xué)號_姓名_設(shè)計(jì)題目”起名,如文件名為“XXX_張三_赫夫曼編碼 ”.doc或.docx)。
    其中包括:
    1) 題目;
    2) 實(shí)驗(yàn)?zāi)康?#xff1b;
    3) 需求分析:在該部分中敘述實(shí)現(xiàn)的功能要求;
    4) 概要設(shè)計(jì):
    在此說明每個部分的算法設(shè)計(jì)說明(可以是描述算法的流程圖),每個程序中使用的存儲結(jié)構(gòu)設(shè)計(jì)說明(如果指定存儲結(jié)構(gòu)請寫出該存儲結(jié)構(gòu)的定義);
    5) 詳細(xì)設(shè)計(jì)
    各個算法實(shí)現(xiàn)的源程序,對每個題目要有相應(yīng)的源程序(可以是一組源程序,每個功能模塊采用不同的函數(shù)實(shí)現(xiàn))。源程序要按照寫程序的規(guī)則來編寫。要結(jié)構(gòu)清晰,重點(diǎn)函數(shù)的重點(diǎn)變量,重點(diǎn)功能部分要加上清晰的程序注釋;
    6) 調(diào)試分析
    測試數(shù)據(jù),測試輸出的結(jié)果,時間復(fù)雜度分析,和每個模塊設(shè)計(jì)和調(diào)試時存在問題的思考(問題是哪些?問題如何解決?),算法的改進(jìn)設(shè)想;
    7) 總結(jié):
    總結(jié)可以包括 : 設(shè)計(jì)過程的收獲、遇到問題及解決問題過程的思考、程序調(diào)試能力的思考、對數(shù)據(jù)結(jié)構(gòu)這門課程的思考、在設(shè)計(jì)過程中對《數(shù)據(jù)結(jié)構(gòu)》課程的認(rèn)識等內(nèi)容。
    (4)單獨(dú)上交電子版本的“課程設(shè)計(jì)答辯記錄表”,命名方法同上;

  • 三、工作內(nèi)容及工作計(jì)劃:一周
    時間 地點(diǎn) 工作內(nèi)容 指導(dǎo)教師
    11.13/11 上午 10-414/413/409 實(shí)驗(yàn)要求,需求分析 孫麒、霍戌文
    下午 10-414/413/409 查找資料,總體結(jié)構(gòu)設(shè)計(jì) 孫麒、霍戌文
    11.20/12 上午 10-414/413/409 算法設(shè)計(jì),用戶界面設(shè)計(jì) 孫麒、霍戌文
    下午 10-414/413/409 算法設(shè)計(jì),用戶界面設(shè)計(jì) 孫麒、霍戌文
    11.27/13 上午 10-414/413/409 詳細(xì)設(shè)計(jì) 孫麒、霍戌文
    下午 10-414/413/409 詳細(xì)設(shè)計(jì) 孫麒、霍戌文
    12.04/14 上午 10-414/413/409 測試分析與完善設(shè)計(jì) 孫麒、霍戌文
    下午 10-414/413/409 測試分析與完善設(shè)計(jì) 孫麒、霍戌文
    12.11/15 上午 10-414/413/409 上機(jī)檢查,答辯 孫麒、霍戌文
    下午 10-414/413/409 上機(jī)檢查、答辯 孫麒、霍戌文

    四、考核成績評定標(biāo)準(zhǔn):
    本課程在理論課完成后進(jìn)行,最終成績按五級評分:優(yōu)、良、中、及格、不及格。
    五個級別對應(yīng)的百分之關(guān)系為:
    A: 成績>=90;
    B: 90>成績>=80;
    C: 80>成績>=70;
    D: 70>成績>=60;
    E: 60<成績。
    本課程設(shè)計(jì)的評價由四部分部分組成,包括面試成績(40%),課程設(shè)計(jì)報(bào)告(40%),實(shí)踐操作表現(xiàn)(10%),考勤與課堂表現(xiàn)(10%)。其中,課程設(shè)計(jì)報(bào)告40%,根據(jù)學(xué)生提交的報(bào)告完成情況及質(zhì)量,進(jìn)行考評;面試成績占40%,學(xué)生提交實(shí)驗(yàn)程序,教師提出相關(guān)問題,根據(jù)學(xué)生回答問題的清晰度、準(zhǔn)確性、敏捷性,進(jìn)行考評;實(shí)踐操作成績占10%,根據(jù)學(xué)生在課程設(shè)計(jì)中分析解決問題的能力、完成任務(wù)的速度和質(zhì)量、提問的質(zhì)量等進(jìn)行評分;到課率占10%,以課堂出勤率和課內(nèi)討論參與度為評分依據(jù)。

    具體考核與評估標(biāo)準(zhǔn)如下表所示:
    考核方式
    或途徑 考核要求 考核權(quán)重 評估級別
    課程設(shè)計(jì)報(bào)告 內(nèi)容設(shè)計(jì)合理、完整,格式規(guī)范 40% 格式規(guī)范、內(nèi)容完整最高得10分;方案及類的設(shè)計(jì)最優(yōu)得10分;代碼實(shí)現(xiàn)及風(fēng)格最高10分;遇到問題解決、改正優(yōu)化心得最高10分。
    面試成績 程序功能設(shè)計(jì)合理、完整,能夠正常運(yùn)行,類的設(shè)計(jì)合理,能夠準(zhǔn)確得回答老師提出的問題 40% 能夠根據(jù)要求正確完成演示最高得10分;能夠?qū)Ψ桨高M(jìn)行清晰完整的進(jìn)行闡述最高10分;對老師提出的問題回答及時、準(zhǔn)確,最高得10分;綜合表現(xiàn)最高10分。
    實(shí)踐操作表現(xiàn) 具備一定的解決問題的能力,能在規(guī)定的時間內(nèi)順利完成任務(wù) 10% 課程設(shè)計(jì)項(xiàng)目本身的問題,在課程設(shè)計(jì)考核前完成,得8分;2分為答辯或者爭取優(yōu)秀的,老師隨機(jī)給出小的程序修改問題,完成得2分。
    考勤與課堂表現(xiàn) 課堂出勤率和課內(nèi)討論參與度 10% 8分為出勤,2分為課內(nèi)參與度,出勤才有扣分制,簽到和隨機(jī)點(diǎn)名,未被點(diǎn)到1次扣1分,本項(xiàng)最低0分;課內(nèi)參與采用加分支,參與一次加1分,最高2分。

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的《数据结构与算法》课程设计任务书——赫夫曼编码/译码器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。