本課程是數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)的算法理論基礎(chǔ)和軟件設(shè)計的技術(shù)基礎(chǔ)課, 主要研究信息的邏輯結(jié)構(gòu)及其基本操作在計算機中的表現(xiàn)和實現(xiàn)。課程的任務(wù)是學(xué)會分析研究計算機加工的數(shù)據(jù)結(jié)構(gòu)的特性;培養(yǎng)數(shù)據(jù)抽象的能力;訓(xùn)練學(xué)生進行復(fù)雜程序設(shè)計的技能和培養(yǎng)良好程序設(shè)計的習(xí)慣;初步掌握算法的時間分析和空間分析的技術(shù)。熟練掌握線性表(包括棧和隊列)的邏輯結(jié)構(gòu)定義的各種存儲結(jié)構(gòu)的描述方法;熟練掌握線性表在順序存儲結(jié)構(gòu)和各種鏈表結(jié)構(gòu)上的查找、插入和刪除的算法;掌握串的類型定義、表示與實現(xiàn); 掌握數(shù)組的兩種存儲表示方法及地址計算;熟悉特殊矩陣和稀疏矩陣的壓縮存儲表示方法、下標變換公式及適用范圍;掌握樹(包括二叉樹和森林)的定義、性質(zhì);熟練掌握二叉樹的結(jié)構(gòu)特性、遍歷的算法及若干典型的應(yīng)用;熟悉圖(包括網(wǎng)絡(luò))的定義、性質(zhì);掌握圖的各種存儲結(jié)構(gòu)、兩種遍歷策略及若干典型的應(yīng)用;掌握順序表和有序表的查找方法; 掌握排序的定義和各種排序方法的特點;了解各種排序方法的排序過程及相應(yīng)的時間復(fù)雜度分析方法;一般了解排序方法“穩(wěn)定”的含義。