<output id="61611"></output>

<code id="61611"></code>

<var id="61611"></var>

<label id="61611"><video id="61611"></video></label>

  • <acronym id="61611"><legend id="61611"></legend></acronym><var id="61611"><ol id="61611"></ol></var>
      1. 亚洲最大色
        課程簡介 Course Introduction

        《數據結構與算法》是軟件工程專業和計算機專業中一門重要的專業基礎課程。數據結構與算法主要討論在應用計算機解決問題時,如何有效地組織數據;表示數據和處理數據, 以及如何設計正確的算法和評價算法的效率。課程介紹常見的數據結構及其應用,常用的數據處理技術和算法,以及算法效率估算的基本技術。

        通過本課程的學習,要求學生掌握常用數據結構,掌握合理地組織數據結構和表示數據的方法,掌握有效地處理數據的方法,掌握評價算法性能的基本方法。通過本課程的訓練,進一步提高學生的數據抽象能力;使學生較全面的掌握各種常用的數據結構與算法;提高運用數據結構解決實際問題的能力,進而提高學生設計高質量軟件的能力。本課程也為學生學習后續課程《數據庫系統原理與實踐》、《操作系統》、《算法分析與設計》、《軟件構造》等后續課程奠定基礎。

        教學大綱 Teaching Syllabus

        教學內容

        ( 72 學時)

        知識點

        學時分配

        緒論:

        1. 數據結構的基本概念;

        2. 抽象數據類型;

        3.算法描述和算法評價。

        4學時

        線性表:

        1.線性表的概念及運算;

        2.順序表及基本運算。

        4學時

        鏈表:

        1.單鏈表及基本運算;

        2. 循環鏈表和雙鏈表;

        3.順序存儲結構與鏈式存儲結構的比較。

        4學時

        棧:

        1.棧的概念及運算;

        2.棧的順序、鏈接存儲;

        3.棧的插入、刪除算法及其應用。

        4學時

        隊列:

        1. 隊列的概念及運算;

        2. 隊列的順序、鏈接存儲;

        3. 隊列的插入、刪除算法及其應用。

        4學時

        串:

        1. 串的概念及其運算;

        2. 串的存儲結構;

        3. 串的應用舉例。

        4學時

        多維數組:

        1. 數組的定義、基本運算和存儲結構 ;

        2. 特殊矩陣的壓縮存儲;。

        3. 數組的應用舉例。

        4學時

        樹和二叉樹:

        1. 樹的邏輯結構;

        2. 樹的存儲結構;

        3. 二叉樹的邏輯結構;

        4. 二叉樹的存儲結構;

        5. 二叉樹遍歷。

        6學時

        樹的應用:

        1. 二叉樹與樹和森林的轉換;

        2. 二叉排序樹、哈夫曼樹及其應用。

        4學時

        圖:

        1.圖的邏輯結構;

        2.圖的存儲結構;

        3.最小生成樹;

        4學時

        圖的應用:

        1.最短路徑;

        2.圖的應用舉例。

        2學時

        查找:

        1.查找的基本概念;

        2.線性表的查找技術。

        4學時

        樹表查找:

        1. 二叉排序樹定義及查找;

        2. 二叉平衡樹的定義。

        2學時

        插入排序:

        1.排序的基本概念;

        2.插入排序(直接插入排序、折半插入排序、希爾排序)。

        3. 交換排序(冒泡排序、快速排序);

        4學時

        多種排序:

        1.選擇排序(簡單選擇排序、堆排序);

        2. 歸并排序(遞歸、非遞歸);

        3.各種排序方法比較。

        4學時

        索引技術:

        1. 索引的基本概念;

        2. 線性索引技術;

        3. 樹形索引。

        4學時

        算法設計:

        1. 遞歸算法;

        2. 分治算法;

        3. 動態規劃算法。

        6學時

        算法分析:

        1. 可計算性問題;

        2. 實例研究。

        2學時

        復習: 課程總結與重點回顧。

        4學時

        實驗內容

        ( 36 學時)

        實驗任務

        學時分配

        實驗1:

        1) VC++編程工具的使用。

        2) 計算任意位數的∏。

        2學時

        實驗2:

        1) 順序表的實現。

        2) 單鏈表的實現。

        2學時

        實驗3:

        1) 約瑟夫環問題。

        2) 用單鏈表實現集合的操作。

        2學時

        實驗4:

        一元多項式相加。

        2學時

        實驗5:

        1) 順序棧的實現。

        2) 鏈隊列的實現。

        2學時

        實驗6:

        1) 漢諾塔問題。

        2) 表達式求值。

        2學時

        實驗7:

        1) 串操作的實現。

        2) 對稱矩陣的壓縮存儲。

        2學時

        實驗8:

        1) 統計文本中單詞的個數。

        2) 近似串匹配。

        2學時

        實驗9:

        1) 二叉樹的實現。

        2) 樹的實現。

        2學時

        實驗10:

        1) 求二叉樹中葉子結點的個數。

        2) 二叉表示樹。

        2學時

        實驗11:

        1) 鄰接矩陣的實現。

        2) 鄰接表的實現。

        2學時

        實驗12:

        哈密頓路徑。

        2學時

        實驗13:

        1) 順序查找的實現。

        2) 折半查找的實現。

        3) 散列查找的實現。

        2學時

        實驗14:

        1) 二叉排序樹的查找性能。

        2) 個人電話號碼查詢系統。

        2學時

        實驗15:

        1) 插入排序算法的實現。

        2) 交換排序算法的實現。

        3) 選擇排序算法的實現。

        2學時

        實驗16:

        1) 直接插入排序基于單鏈表的實現。

        2) 各種排序算法時間性能的比較。

        2學時

        實驗17:

        1) 采用分治策略求數組中元素的最大值。

        2) N皇后問題。

        2學時

        實驗18:

        檢查實踐項目。

        (本課程的實踐項目為課外布置內容,讓2-3個學生組隊,選擇其中的1個項目,并于期末檢查上交。實踐項目的成績算作實驗成績的20%。)

        2學時

        實踐內容

        ( 0 學時)

        項目內容、項目環境

        項目內容:

        項目1 壓縮軟件

        理解二叉樹和哈夫曼編碼,編寫程序對已有文件進行重新編碼,減少存儲空間。使用面向對象的思想編程,利用哈夫曼構建功能分別構建類實現壓縮和解壓縮功能。

        項目環境:

        普通PC機(1G內存/奔騰E系列CPU以上)

        不限開發語言和開發環境

        項目內容:

        項目2 華師南海校區導游系統

        開發一個簡單的華師南海校區導游系統,綜合運用幾種典型數據結構,如鏈表,棧,隊列,以及圖等,并實現最短路徑的算法。

        項目環境:

        普通PC機(1G內存/奔騰E系列CPU以上)

        不限開發語言和開發環境


        留言板 Message Board
        條留言  共

        • 參與互動
          Interaction

        • 掃碼加入課程
          Scan QR Code
        您申請加入課程:數據結構與算法(C++描述)
        需要驗證您的身份,請輸入請求信息:
        • 學號號:
        • 班級選擇:
        • 附注信息:

        掃一掃二維碼,快速加入本課程!

        放大二維碼 查看使用方法
        課程
        引導