澳大利亞新南威爾士大學數(shù)據(jù)結(jié)構(gòu)算法課程的目標是加深學生對數(shù)據(jù)結(jié)構(gòu)和算法的理解,以及如何在軟件系統(tǒng)的設(shè)計中有效地運用相關(guān)知識。這是一門重要的課程,涵蓋了一系列核心數(shù)據(jù)結(jié)構(gòu)和算法,這些將在后面的課程中用到。學生可以在講座、輔導、實驗練習、測驗和作業(yè)中探索這些想法。課程結(jié)束時,學生應(yīng)該可以掌握一系列有用的數(shù)據(jù)結(jié)構(gòu)和編程技術(shù),并準備好繼續(xù)進行進一步的專業(yè)學習。
一、關(guān)鍵主題
本課程介紹了一系列基本數(shù)據(jù)類型的結(jié)構(gòu)、分析和使用,以及進行操作的核心算法。關(guān)鍵主題涉及:
遞歸;算法分析;抽象數(shù)據(jù)類型;二分搜索法樹;平衡搜索樹;圖表;排序算法;堆;散列法。

二、課程目標
本課程的目的是讓學生像計算機科學家一樣思考。計算機科學家不只是試圖理解計算機的結(jié)構(gòu)和行為,而是更關(guān)心理解軟件系統(tǒng)(以及軟件和運行軟件的硬件之間的交互)。此外,與其他科學家不同,計算機科學家經(jīng)常構(gòu)建他們研究的對象。
本課程將探討創(chuàng)建、分析和理解軟件的方法。最終,學生應(yīng)該能夠回答這個問題,“這個軟件好嗎?”,并且能夠提供合理的理由來證明你的答案。
本課程是C程序設(shè)計入門課程的后續(xù)課程,涵蓋了相關(guān)課程中沒有涉及到的C編程語言的其他方面,并且還介紹了一些之前沒有(詳細)涉及到的編程工具。不過,本課程的重點在于所使用的數(shù)據(jù)結(jié)構(gòu)和算法背后的思想和抽象。這門課涉及許多對該領(lǐng)域未來研究至關(guān)重要的概念。無論學生是在學習計算機科學、軟件工程、生物信息學、計算機工程,甚至是計算機領(lǐng)域之外的學科,了解一系列算法和數(shù)據(jù)結(jié)構(gòu)以及如何使用將使學生在未來成為更有效的計算機問題解決者。
三、學習成果
完成本課程后,學生將能夠:
1、熟悉基本的數(shù)據(jù)結(jié)構(gòu)和算法;
2、分析算法的性能特征;
3、測量程序的性能行為;
4、為給定的問題選擇/開發(fā)適當?shù)臄?shù)據(jù)結(jié)構(gòu);
5、選擇/開發(fā)適當?shù)乃惴▉聿僮鬟x定的數(shù)據(jù)結(jié)構(gòu);
6、對解決給定問題的數(shù)據(jù)結(jié)構(gòu)和算法的有效性進行推理;
7、將一組數(shù)據(jù)結(jié)構(gòu)和算法打包成抽象數(shù)據(jù)類型;
8、用C語言開發(fā)和維護包含數(shù)千行代碼的軟件系統(tǒng)。
最終,澳大利亞新南威爾士大學數(shù)據(jù)結(jié)構(gòu)算法課程將通過Labs、Quizzes、Assignment 1、Assignment 2,以及Final Exam對同學的學習成果進行評估。
圖片歸版權(quán)方所有,頁面圖片僅供展示。如有侵權(quán),請聯(lián)系我們刪除。凡來源標注“考而思”均為考而思原創(chuàng)文章,版權(quán)均屬考而思教育所以,任何媒體、網(wǎng)站或個人不得轉(zhuǎn)載,否則追究法律責任。
kaoersi03