- 第01周a--前言
- 第01周b--1.1數(shù)據(jù)結(jié)構(gòu)研究
- 第01周c--1.2基本概念和術(shù)語(yǔ)1
- 第01周d--1.2基本概念和術(shù)語(yǔ)2
- 第01周e--1.3抽象數(shù)據(jù)類型的表示與實(shí)現(xiàn)
- 第01周f--1.4算法與算法分析1
- 第01周g--1.4算法與算法分析2
- 第01周h--1.4算法與算法分析3
- 第01周h--1.4算法與算法分析4
- 第02周01--2.1線性表的定義和特點(diǎn)
- 第02周02--2.2案例引入
- 第02周03--2.3線性表的類型定義
- 第02周04--2.4線性表的順序表示和實(shí)現(xiàn)1
- 第02周05--2.4線性表的順序表示和實(shí)現(xiàn)2
- 第02周06--類C語(yǔ)言有關(guān)操作補(bǔ)充1
- 第02周07--類C語(yǔ)言有關(guān)操作補(bǔ)充2
- 第02周08--2.4線性表的順序表示和實(shí)現(xiàn)3
- 第02周09--2.4線性表的順序表示和實(shí)現(xiàn)4--查找算法
- 第02周10--2.4線性表的順序表示和實(shí)現(xiàn)5--插入算法
- 第02周11--2.4線性表的順序表示和實(shí)現(xiàn)6--刪除算法
- 第02周12--順序表小結(jié)
- 第3周01--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)1--鏈表概念
- 第3周02--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)2--單鏈表的定義
- 第3周03--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)3--單鏈表基本操作1-初始化和判斷空表
- 第3周04--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)4--單鏈表基本操作2--銷(xiāo)毀單鏈表
- 第3周05--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)5--單鏈表基本操作3--清空單鏈表
- 第3周06--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)6--單鏈表基本操作4--求單鏈表的表
- 第3周07--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)7--單鏈表基本操作5--取第i個(gè)元素值
- 第3周08--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)8--單鏈表基本操作6--按值查找
- 第3周09--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)9--單鏈表基本操作7--插入節(jié)點(diǎn)
- 第3周10--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)10--單鏈表基本操作8--刪除節(jié)點(diǎn)
- 第3周11--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)11--單鏈表基本操作9--查找插入刪除算法分析
- 第3周12--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)12--單鏈表基本操作10--頭插法建立鏈表
- 第3周13--2.5線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)13--單鏈表基本操作11--尾插法建立鏈表
- 第04周01--2.5.3循環(huán)鏈表1
- 第04周02--2.5.3循環(huán)鏈表2--兩個(gè)鏈表合并
- 第04周03--2.5.4雙向鏈表1
- 第04周04--2.5.4雙向鏈表2--雙向鏈表的插入操作
- 第04周05--2.5.4雙向鏈表3--雙向鏈表的刪除操作
- 第04周06--單鏈表、循環(huán)鏈表、雙向鏈表的比較
- 第04周07--2.6順序表和鏈表的比較
- 第04周08--2.7線性表的應(yīng)用1--線性表的合并
- 第04周09--2.7線性表的應(yīng)用2--有序表的合并--用順序表實(shí)現(xiàn)
- 第04周10--2.7線性表的應(yīng)用3--有序表的合并--用鏈表實(shí)現(xiàn)
- 第04周11--2.8案例分析與實(shí)現(xiàn)1--多項(xiàng)式運(yùn)算
- 第04周12--2.8案例分析與實(shí)現(xiàn)2--稀疏多項(xiàng)式運(yùn)算
- 第04周13--2.8案例分析與實(shí)現(xiàn)3--圖書(shū)信息管理
- 第05周01--3.1棧和隊(duì)列的定義和特點(diǎn)1--棧和隊(duì)列介紹
- 第05周02--3.1棧和隊(duì)列的定義和特點(diǎn)2--3.1.1棧的定義和特點(diǎn)
- 第05周03--3.1棧和隊(duì)列的定義和特點(diǎn)1--3.1.2隊(duì)列的定義和特點(diǎn)
- 第05周04--3.2案例引入
- 第05周05--3.3棧的表示和實(shí)現(xiàn)1--3.3.1棧的抽象數(shù)據(jù)類型定義
- 第05周06--3.3棧的表示和實(shí)現(xiàn)2--3.3.2棧的順序表示和實(shí)現(xiàn)1--棧的順序表示
- 第05周07--3.3棧的表示和實(shí)現(xiàn)3--3.3.2棧的順序表示和實(shí)現(xiàn)2--順序棧操作1
- 第05周08--3.3棧的表示和實(shí)現(xiàn)4--3.3.2棧的順序表示和實(shí)現(xiàn)3--順序棧操作2
- 第05周09--3.3棧的表示和實(shí)現(xiàn)5--3.3.2棧的順序表示和實(shí)現(xiàn)4--順序棧操作3
- 第05周10--3.3棧的表示和實(shí)現(xiàn)6--3.3.3鏈棧表示和實(shí)現(xiàn)
- 第05周11--3.4棧和遞歸
- 第05周12--3.5隊(duì)列的表示和實(shí)現(xiàn)1--3.5.1隊(duì)列的類型定義
- 第05周13--3.5隊(duì)列的表示和實(shí)現(xiàn)2--3.5.2隊(duì)列的順序表示和實(shí)現(xiàn)1
- 第05周14--3.5隊(duì)列的表示和實(shí)現(xiàn)3--3.5.2隊(duì)列的順序表示和實(shí)現(xiàn)2i
- 第05周15--3.5隊(duì)列的表示和實(shí)現(xiàn)4--3.5.3隊(duì)列的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)
- 第06周01--第4章串、數(shù)組和廣義表1-4.1串的定義
- 第06周02--第4章串、數(shù)組和廣義表2-4.2案例引入
- 第06周03--第4章串、數(shù)組和廣義表3-4.3串的類型定義、存儲(chǔ)結(jié)構(gòu)
- 第06周04--第4章串、數(shù)組和廣義表4-4.3串的操作--串的匹配算法1--BF算法
- 第06周05--第4章串、數(shù)組和廣義表5-4.3串的操作--串的匹配算法2--KMP算法
- 第06周06--第4章串、數(shù)組和廣義表6-4.4數(shù)組1--數(shù)組的定義及特點(diǎn)
- 第06周07--第4章串、數(shù)組和廣義表7-4.4數(shù)組2--數(shù)組的抽象類型定義
- 第06周08--第4章串、數(shù)組和廣義表8-4.4數(shù)組3--數(shù)組的順序存儲(chǔ)
- 第06周09--第4章串、數(shù)組和廣義表9-4.4數(shù)組4--對(duì)稱矩陣壓縮存儲(chǔ)
- 第06周10--第4章串、數(shù)組和廣義表10-4.4數(shù)組5--三角矩陣、對(duì)角矩陣壓縮存儲(chǔ)
- 第06周11--第4章串、數(shù)組和廣義表11-4.4數(shù)組6--稀疏矩陣壓縮存儲(chǔ)
- 第06周12--第4章串、數(shù)組和廣義表12-4.5廣義表
- 第06周13--第4章串、數(shù)組和廣義表13-4.6案例分析與實(shí)現(xiàn)
- 第07周01--5.1樹(shù)和二叉樹(shù)的定義1--5.1.1樹(shù)的定義
- 第07周02--5.1樹(shù)和二叉樹(shù)的定義2--5.1.2樹(shù)的基本術(shù)語(yǔ)
- 第07周03--5.1樹(shù)和二叉樹(shù)的定義3--5.1.3二叉樹(shù)的定義
- 第07周04--5.2案例引入
- 第07周05--5.3 樹(shù)和二叉樹(shù)的抽象數(shù)據(jù)類型定義
- 第07周06--5.4 二叉樹(shù)的性質(zhì)和存儲(chǔ)結(jié)構(gòu)1--二叉樹(shù)性質(zhì)1、2、3
- 第07周07--5.4 二叉樹(shù)的性質(zhì)和存儲(chǔ)結(jié)構(gòu)2--滿二叉樹(shù)和完全二叉樹(shù)
- 第07周08--5.4 二叉樹(shù)的性質(zhì)和存儲(chǔ)結(jié)構(gòu)3--二叉樹(shù)性質(zhì)4、5
- 第07周09--5.4 二叉樹(shù)的性質(zhì)和存儲(chǔ)結(jié)構(gòu)4--二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)1-順序存儲(chǔ)結(jié)構(gòu)
- 第07周10--5.4 二叉樹(shù)的性質(zhì)和存儲(chǔ)結(jié)構(gòu)4--二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)2-鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
- 第07周11--5.5 遍歷二叉樹(shù)和線索二叉樹(shù)1--遍歷二叉樹(shù)
- 第07周12--5.5 遍歷二叉樹(shù)和線索二叉樹(shù)2--由遍歷序列確定二叉樹(shù)
- 第08周01--5.5遍歷二叉樹(shù)和線索二叉樹(shù)3--二叉樹(shù)的先序遞歸遍歷算法
- 第08周02--5.5遍歷二叉樹(shù)和線索二叉樹(shù)4--二叉樹(shù)的遞歸遍歷算法及分析
- 第08周03--5.5遍歷二叉樹(shù)和線索二叉樹(shù)5--二叉樹(shù)的遍歷算法--中序非遞歸算法
- 第08周04--5.5遍歷二叉樹(shù)和線索二叉樹(shù)6--二叉樹(shù)的遍歷算法--層次遍歷算法
- 第08周05--5.5遍歷二叉樹(shù)和線索二叉樹(shù)7--二叉樹(shù)的遍歷算法應(yīng)用1--建立二叉樹(shù)算法
- 第08周06--5.5遍歷二叉樹(shù)和線索二叉樹(shù)8--二叉樹(shù)的遍歷算法應(yīng)用2--復(fù)制、求結(jié)點(diǎn)數(shù)、求葉子結(jié)點(diǎn)數(shù)
- 第08周07--5.5遍歷二叉樹(shù)和線索二叉樹(shù)9--線索二叉樹(shù)
- 第08周08--5.6樹(shù)和森林1--樹(shù)的存儲(chǔ)結(jié)構(gòu)1-雙親表示法
- 第08周09--5.6樹(shù)和森林2--樹(shù)的存儲(chǔ)結(jié)構(gòu)2-孩子鏈表
- 第08周10--5.6樹(shù)和森林3--樹(shù)的存儲(chǔ)結(jié)構(gòu)3-孩子兄弟表示法
- 第08周11--5.6樹(shù)和森林4--樹(shù)與二叉樹(shù)的轉(zhuǎn)換
- 第08周12--5.6樹(shù)和森林5--森林與二叉樹(shù)的轉(zhuǎn)換
- 第08周13--5.6樹(shù)和森林6--樹(shù)和森林的遍歷
- 第09周01--5.7哈夫曼樹(shù)及其應(yīng)用1-引子
- 第09周02--5.7哈夫曼樹(shù)及其應(yīng)用2-5.7.1哈夫曼樹(shù)的基本概念
- 第09周03--5.7哈夫曼樹(shù)及其應(yīng)用3-5.7.2哈夫曼樹(shù)的構(gòu)造算法1
- 第09周04--5.7哈夫曼樹(shù)及其應(yīng)用4-5.7.2哈夫曼樹(shù)的構(gòu)造算法2-哈夫曼樹(shù)算法實(shí)現(xiàn)
- 第09周05--5.7哈夫曼樹(shù)及其應(yīng)用5-5.7.3哈夫曼編碼1-哈夫曼編碼思想
- 第09周06--5.7哈夫曼樹(shù)及其應(yīng)用6-5.7.3哈夫曼編碼2-哈夫曼編碼的算法實(shí)現(xiàn)
- 第09周07--5.7哈夫曼樹(shù)及其應(yīng)用7-5.7.3哈夫曼編碼3-文件的編碼和譯碼
- 第09周08--6.1圖的基本概念和術(shù)語(yǔ)1
- 第09周09--6.1圖的基本概念和術(shù)語(yǔ)2
- 第09周10--6.2案例引入
- 第09周11--6.3圖的類型定義
- 第10周01--6.4圖的存儲(chǔ)結(jié)構(gòu)1-1鄰接矩陣表示法1-無(wú)向圖的鄰接矩陣
- 第10周02--6.4圖的存儲(chǔ)結(jié)構(gòu)2-1鄰接矩陣表示法2-有向圖和網(wǎng)的鄰接矩陣
- 第10周03--6.4圖的存儲(chǔ)結(jié)構(gòu)3-2采用鄰接矩陣表示法創(chuàng)建無(wú)向網(wǎng)
- 第10周04--6.4圖的存儲(chǔ)結(jié)構(gòu)4-3鄰接矩陣表示法的優(yōu)缺點(diǎn)
- 第10周05--6.4圖的存儲(chǔ)結(jié)構(gòu)5-6.4.2鄰接表表示法1-無(wú)向圖的鄰接表
- 第10周06--6.4圖的存儲(chǔ)結(jié)構(gòu)6-6.4.2鄰接表表示法2-有向圖的鄰接表
- 第10周07--6.4圖的存儲(chǔ)結(jié)構(gòu)7-6.4.2鄰接表表示法3-建立鄰接表的算法
- 第10周08--6.4圖的存儲(chǔ)結(jié)構(gòu)8-6.4.2鄰接表表示法4-鄰接表表示法優(yōu)缺點(diǎn)及與鄰接矩陣的關(guān)系
- 第10周09--6.4圖的存儲(chǔ)結(jié)構(gòu)9-6.4.3十字鏈表
- 第10周10--6.4圖的存儲(chǔ)結(jié)構(gòu)10-6.4.4鄰接多重表
- 第10周11--6.5圖的遍歷1--深度優(yōu)先搜索遍歷思想
- 第10周12--6.5圖的遍歷2--深度優(yōu)先搜索遍歷實(shí)現(xiàn)--鄰接矩陣上的遍歷算法
- 第10周13--6.5圖的遍歷3--深度優(yōu)先搜索遍歷實(shí)現(xiàn)--鄰接表上的遍歷算法及算法分析
- 第10周14--6.5圖的遍歷4--廣度優(yōu)先搜索遍歷及其實(shí)現(xiàn)
- 第11周01--6.6圖的應(yīng)用1--6.6.1最小生成樹(shù)1--生成樹(shù)及其構(gòu)造
- 第11周02--6.6圖的應(yīng)用2--6.6.1最小生成樹(shù)2--最小生成樹(shù)及其典型應(yīng)用
- 第11周03--6.6圖的應(yīng)用3--6.6.1最小生成樹(shù)3--MST性質(zhì)
- 第11周04--6.6圖的應(yīng)用4--6.6.1最小生成樹(shù)4--構(gòu)造最小生成樹(shù)1--Prim算法
- 第11周05--6.6圖的應(yīng)用5--6.6.1最小生成樹(shù)5--構(gòu)造最小生成樹(shù)2--Kruskal算法
- 第11周06--6.6圖的應(yīng)用6--6.6.2最短路徑1--最短路徑問(wèn)題抽象
- 第11周07--6.6圖的應(yīng)用7--6.6.2最短路徑2--Dijkstra算法
- 第11周08--6.6圖的應(yīng)用8--6.6.2最短路徑3--Floyd算法
- 第11周09--6.6圖的應(yīng)用9--6.6.3拓?fù)渑判?/a>
- 第11周10--6.6圖的應(yīng)用10--6.6.4關(guān)鍵路徑1--用AOE網(wǎng)表示工程計(jì)劃
- 第11周11--6.6圖的應(yīng)用11--6.6.4關(guān)鍵路徑2--求解關(guān)鍵路徑
- 第12周01--第7章查找1--7.1查找的基本概念
- 第12周02--第7章查找2--7.2線性表的查找1--7.2.1順序查找1--順序查找算法
- 第12周03--第7章查找3--7.2線性表的查找2--7.2.1順序查找2--順序查找算法分析
- 第12周04--第7章查找4--7.2線性表的查找3--7.2.2折半查找1--折半查找算法
- 第12周05--第7章查找5--7.2線性表的查找4--7.2.2折半查找2--折半查找算法分析
- 第12周06--第7章查找6--7.2線性表的查找5--7.2.3分塊查找1--分塊查找算法
- 第12周07--第7章查找7--7.2線性表的查找6--7.2.3分塊查找2--分塊查找算法分析及比較
- 第12周08--第7章查找8--7.3樹(shù)表的查找1--7.3.1二叉排序樹(shù)1--二叉排序樹(shù)定義
- 第12周09--第7章查找9--7.3樹(shù)表的查找2--7.3.1二叉排序樹(shù)2--二叉排序樹(shù)查找--遞歸算法
- 第12周10--第7章查找10--7.3樹(shù)表的查找3--7.3.1二叉排序樹(shù)3--二叉排序樹(shù)查找算法分析
- 第12周11--第7章查找11--7.3樹(shù)表的查找4--7.3.1二叉排序樹(shù)4--二叉排序樹(shù)的插入和生成
- 第12周12--第7章查找12--7.3樹(shù)表的查找5--7.3.1二叉排序樹(shù)5--二叉排序樹(shù)的刪除
- 第13周1--7.3樹(shù)表的查找6--7.3.2平衡二叉樹(shù)1--平衡二叉樹(shù)的定義
- 第13周2--7.3樹(shù)表的查找7--7.3.2平衡二叉樹(shù)2--平衡調(diào)整方法1
- 第13周3--7.3樹(shù)表的查找8--7.3.2平衡二叉樹(shù)3--平衡調(diào)整方法2--四種類型的調(diào)整
- 第13周4--7.3樹(shù)表的查找9--7.3.2平衡二叉樹(shù)4--平衡調(diào)整方法3--例題
- 第13周5--7.4散列表的查找1--7.4.1散列表的基本概念
- 第13周6--7.4散列表的查找2--7.4.2散列函數(shù)的構(gòu)造
- 第13周7--7.4散列表的查找3--7.4.3處理沖突方法1--開(kāi)地址法1-線性探測(cè)法
- 第13周8--7.4散列表的查找4--7.4.3處理沖突方法2--開(kāi)地址法2-二次探測(cè)法、偽隨機(jī)探測(cè)法
- 第13周9--7.4散列表的查找5--7.4.3處理沖突方法3--鏈地址法
- 第13周10--7.4散列表的查找6--7.4.4散列表的查找及性能分析
- 第14周01--第8章排序1--8.1排序概述
- 第14周02--第8章排序2--8.2插入排序1--直接插入排序
- 第14周03--第8章排序3--8.2插入排序2--折半插入排序
- 第14周04--第8章排序4--8.2插入排序3--希爾排序
- 第14周05--第8章排序5--8.3交換排序1--冒泡排序
- 第14周06--第8章排序6--8.3交換排序2--快速排序1
- 第14周07--第8章排序7--8.3交換排序3--快速排序2--快速排序算法分析
- 第14周08--第8章排序8--8.4選擇排序1--簡(jiǎn)單選擇排序
- 第14周09--第8章排序9--8.4選擇排序2--堆排序1
- 第14周10--第8章排序10--8.4選擇排序3--堆排序2--堆調(diào)整
- 第14周11--第8章排序11--8.4選擇排序4--堆排序3--建立堆
- 第14周12--第8章排序12--8.4選擇排序5--堆排序4--堆排序算法及分析
- 第14周13--第8章排序13--8.5歸并排序
- 第14周14--第8章排序14--8.6基數(shù)排序
- 第14周15--第8章排序15--各種排序方法比較
本課程是計(jì)算機(jī)類專業(yè)的主干基礎(chǔ)課程,也可供其他專業(yè)學(xué)生選修。
本課程用C、C++、Java、Python四種語(yǔ)言授課,修過(guò)其中一門(mén)即可修讀本課程。對(duì)于關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)點(diǎn),講授多種語(yǔ)言的實(shí)現(xiàn)方式,對(duì)其他部分知識(shí)點(diǎn),給出4種語(yǔ)言的實(shí)現(xiàn)代碼供學(xué)生自學(xué)。在講授過(guò)程中,引導(dǎo)學(xué)生理解不同語(yǔ)言的差異并領(lǐng)悟不同語(yǔ)言的共性,將“計(jì)算思維”融進(jìn)課程,最終可讓學(xué)生理解“程序設(shè)計(jì)語(yǔ)言只是一樣工具”,編寫(xiě)程序時(shí)不受限于特定語(yǔ)言。
本課程抓住學(xué)生“動(dòng)手編程困難”的痛點(diǎn),在講授數(shù)據(jù)結(jié)構(gòu)與算法理論知識(shí)的基礎(chǔ)上,重點(diǎn)強(qiáng)調(diào)實(shí)踐,帶領(lǐng)學(xué)生一行一行編寫(xiě)代碼,將“產(chǎn)生思路——編寫(xiě)程序——運(yùn)行調(diào)試”的全過(guò)程展示給學(xué)生,將算法思想和程序設(shè)計(jì)規(guī)范融入到講授過(guò)程中,讓學(xué)生有沉浸式體驗(yàn)。在講授過(guò)程中,將帶領(lǐng)學(xué)生共同尋找思路解決問(wèn)題,將與學(xué)生一起遇到并修改常見(jiàn)錯(cuò)誤。本課程強(qiáng)調(diào)過(guò)程化考核,針對(duì)程序設(shè)計(jì)的特點(diǎn),設(shè)置了在線評(píng)測(cè)的習(xí)題集和測(cè)驗(yàn)題集,給學(xué)生提供了充足的動(dòng)手實(shí)踐編程的機(jī)會(huì)。在完成本課程學(xué)習(xí)后,學(xué)生將由“紙上談兵”型轉(zhuǎn)變?yōu)椤皩?shí)戰(zhàn)”型,為成為合格的軟件工程師和算法工程師打好堅(jiān)實(shí)基礎(chǔ)。
