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