班級規(guī)模及環(huán)境--熱線:4008699035 手機:15921673576( 微信同號) |
每個班級的人數(shù)限3到5人,互動授課, 保障效果,小班授課。 |
上間和地點 |
上部份地點:【上海】同濟大學(滬西)/新城金郡商務樓(11號線白銀路站)【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院【北京分部】:北京中山學院/福鑫大樓【南京分部】:金港大廈(和燕路)【武漢分部】:佳源大廈(高新二路)【成都分部】:領館區(qū)1號(中和大道)【沈陽分部】:沈陽理工大學/六宅臻品【鄭州分部】:鄭州大學/錦華大廈【石家莊分部】:河北科技大學/瑞景大廈 最近開間(周末班/連續(xù)班/晚班):2019年1月26日 |
實驗設備 |
◆小班教學,教學效果好 ☆注重質量☆邊講邊練 ☆合格學員免費推薦工作 ★實驗設備請點擊這兒查看★ |
質量保障 |
1、培訓過程中,如有部分內(nèi)容理解不透或消化不好,可免費在以后培訓班中重聽; 2、培訓結束后,授課老師留給學員聯(lián)系方式,保障培訓效果,免費提供課后技術支持。 3、培訓合格學員可享受免費推薦就業(yè)機會?!詈细駥W員免費頒發(fā)相關工程師等資格證書,提升職業(yè)資質。專注高端技術培訓15年,端海學員的能力得到大家的認同,受到用人單位的廣泛贊譽,端海的證書受到廣泛認可。 |
部份程大綱 |
|
- 第1章
在這個課程中,我們將從底層實現(xiàn)諸多數(shù)據(jù)結構,從簡單,到復雜,并且探索他們的應用。在這一章,我們將來看一看數(shù)據(jù)結構的具體作用,學習數(shù)據(jù)結構的誤區(qū),學習這個課程的注意事項,和課程環(huán)境的基本搭建:) ...
- 1
1-2 學習數(shù)據(jù)結構(和算法)到底有沒有用?
1-3 關于課程學習的更多注意事項
1-4 課程編程環(huán)境搭建
1-5 關于課程的其他語言支持:Python,C++,JS
第2章 不要小瞧數(shù)組
數(shù)組,看似是最簡單的數(shù)據(jù)結構,但是,大多數(shù)語言為我們提供的都是靜態(tài)數(shù)組,如何封裝一個屬于我們自己的動態(tài)數(shù)組,將是這一章討論的重點。同時,我們也將探討泛型,復雜度分析,乃至復雜度的震蕩,等相關高級話題
- 2-1 使用Java中的數(shù)組
2-2 二次封裝屬于我們自己的數(shù)組
2-3 向數(shù)組中添加元素
2-4 數(shù)組中查詢元素和修改元素
2-5 包含,搜索和刪除
2-6 使用泛型
2-7 動態(tài)數(shù)組
2-8 簡單的復雜度分析
2-9 均攤復雜度和防止復雜度的震蕩
第3章 棧和隊列
棧和隊列都是極其簡單的線性數(shù)據(jù)結構,其中的操作甚至都是數(shù)組操作的子集,但卻在計算機科學中有著極其重要的應用。在這一章,我們就來探索棧和隊列的奧秘。我們將看到使用底層數(shù)據(jù)結構搭建上層數(shù)據(jù)結構的過程,同時對于隊列,我們也將改進底層結構,完成循環(huán)隊列的實現(xiàn)。...
- 3-1 棧和棧的應用:撤銷操作和系統(tǒng)棧
3-2 棧的基本實現(xiàn)
3-3 棧的另一個應用:括號匹配
3-4 關于Leetcode的更多說明
3-5 數(shù)組隊列
3-6 循環(huán)隊列
3-7 循環(huán)隊列的實現(xiàn)
3-8 數(shù)組隊列和循環(huán)隊列的比較
第4章 最基礎的動態(tài)數(shù)據(jù)結構:鏈表
在這一章,我們將接觸第一個動態(tài)數(shù)據(jù)結構:鏈表。我們將通過對鏈表的底層實現(xiàn),更深入的理解對引用(或者是指針)的操作。同時,我們也將利用鏈表,實現(xiàn)棧和隊列,并基于不同的底層實現(xiàn),進行性能的比較。
- 4-1 什么是鏈表
4-2 在鏈表中添加元素
4-3 使用鏈表的虛擬頭結點
4-4 鏈表的遍歷,查詢和修改
4-5 從鏈表中刪除元素
4-6 使用鏈表實現(xiàn)棧
4-7 帶有尾指針的鏈表:使用鏈表實現(xiàn)隊列
第5章 鏈表和遞歸
很多同學都會忽視鏈表和遞歸之間千絲萬縷的聯(lián)系。其實,鏈表也擁有著天然的遞歸結構。我們在這一章,就將通過鏈表這種簡單的數(shù)據(jù)結構,一點一點為大家揭開遞歸,這個在計算機的世界中最為重要的邏輯構成方式的神秘面紗!...
- 5-1 Leetcode中和鏈表相關的問題
5-2 測試自己的Leetcode鏈表代碼
5-3 遞歸基礎與遞歸的宏觀語意
5-4 鏈表的天然遞歸結構性質
5-5 遞歸運行的機制:遞歸的微觀解讀
5-6 遞歸算法的調試
5-7 更多和鏈表相關的問題
第6章 二分搜索樹
二分搜索樹將是我們接觸的第一個非線性數(shù)據(jù)結構。在這一章,我們將通過對二分搜索樹的底層實現(xiàn),了解對樹結構的基本操作方式。同時,由于樹結構天然的遞歸性質,我們將在這一章,實現(xiàn)諸多遞歸算法,進一步理解遞歸的奧妙。...
- 6-1 為什么要研究樹結構
6-2 二分搜索樹基礎
6-3 向二分搜索樹中添加元素
6-4 改進添加操作:深入理解遞歸終止條件
6-5 二分搜索樹的查詢操作
6-6 二分搜索樹的前序遍歷
6-7 二分搜索樹的中序遍歷和后序遍歷
6-8 深入理解二分搜索樹的前中后序遍歷
6-9 二分搜索樹前序遍歷的非遞歸實現(xiàn)
6-10 二分搜索樹的層序遍歷
6-11 刪除二分搜索樹的最大元素和最小元素
6-12 刪除二分搜索樹的任意元素
6-13 更多二分搜索樹相關話題
第7章 集合和映射
在這一章,我們將綜合之前學習的數(shù)組,鏈表和二分搜索樹,探索更加高層的數(shù)據(jù)結構應用:集合(Set)和映射(Map)。通過這一章的學習,我們將對二分搜索樹的復雜度分析,有更加感性的認識,同時看到二分搜索樹的巨大優(yōu)勢,以及相應的局限性。...
- 7-1 集合基礎和基于二分搜索樹的集合實現(xiàn)
7-2 基于鏈表的集合實現(xiàn)
7-3 集合類的復雜度分析
7-4 _Leetcode中的集合問題和更多集合相關問題
7-5 映射基礎
7-6 基于鏈表的映射實現(xiàn)
7-7 基于二分搜索樹的映射實現(xiàn)
7-8 映射的復雜度分析和更多映射相關問題
7-9 Leetcode上更多集合和映射的問題
第8章 優(yōu)先隊列和堆
在這一章,我們將探索一種特殊的樹結構——堆。學習完這一章,同學們將對堆的相關操作有深入的認識,甚至達到白板編程的程度。同時,我們也將拓寬對隊列的認識,理解什么是廣義隊列,什么是優(yōu)先隊列。
- 8-1 什么是優(yōu)先隊列
8-2 堆的基礎表示
8-3 向堆中添加元素和Sift Up
8-4 從堆中取出元素和Sift Down
8-5 Heapify 和 Replace
8-6 基于堆的優(yōu)先隊列
8-7 Leetcode上優(yōu)先隊列相關問題
8-8 Java中的PriorityQueue
8-9 和堆相關的更多話題和廣義隊列
第9章 線段樹
線段樹是一種特殊的樹結構。這種數(shù)據(jù)結構主要用于解決“線段”或者是“區(qū)間”這種特殊的數(shù)據(jù),是算法競賽中的常客。在這一章,我們將從底層實現(xiàn)屬于我們自己的線段樹,完成線段樹的創(chuàng)建,查詢,更新三個操作,并且通過實際比較,看到線段樹解決“線段”相關問題的巨大優(yōu)勢。 ...
- 9-1 什么是線段樹
9-2 線段樹基礎表示
9-3 創(chuàng)建線段樹
9-4 線段樹中的區(qū)間查詢
9-5 Leetcode上線段樹相關的問題
9-6 線段樹中的更新操作
9-7 更多線段樹相關的話題
第10章 Trie
Trie將是我們學習的第一個,也是唯一一個多叉樹結構。Trie用于高效的處理字符串相關的查詢問題,我們將看到,使用Trie,對字符串的查詢效率,將和字符串的多少無關!這樣的效率提升,將絕對震驚你的老板和同事!
- 10-1 什么是Trie字典樹
10-2 Trie字典樹基礎
10-3 Trie字典樹的查詢
10-4 Trie字典樹的前綴查詢
10-5 Trie字典樹和簡單的模式匹配
10-6 Trie字典樹和字符串映射
10-7 更多和Trie字典樹相關的話題
10-8 基于哈希表或者數(shù)組的Trie
第11章 并查集
并查集是一種奇怪的樹結構。在并查集中,不是父親指向孩子,而是孩子指向父親。這樣的一種奇怪結構,卻能出奇快的解決集合相關的合并和查詢問題。在這一章,我們將連續(xù)優(yōu)化我們的并查集,釋放出并查集的最大能量!
- 11-1 什么是并查集
11-2 Quick Find
11-3 Quick Union
11-4 基于size的優(yōu)化
11-5 基于rank的優(yōu)化
11-6 路徑壓縮
11-7 更多和并查集相關的話題
第12章 AVL
我們在這一章將學習最為經(jīng)典的平衡二叉樹:AVL樹。我們將深入理解AVL樹中的旋轉操作。最后,我們也將看到,使用我們自己實現(xiàn)的AVL樹,在極端情況下,相較普通的二分搜索樹,性能巨大的提升。
- 12-1 平衡樹和AVL
12-2 計算節(jié)點的高度和平衡因子
12-3 檢查二分搜索樹性質和平衡性
12-4 旋轉操作的基本原理
12-5 左旋轉和右旋轉的實現(xiàn)
12-6 LR 和 RL
12-7 從AVL樹中刪除元素
12-8 基于AVL樹的集合和映射
第13章 紅黑樹
沒有紅黑樹,可能就沒有數(shù)據(jù)庫到今天的發(fā)展。紅黑樹更是所有語言中樹結構的首選底層實現(xiàn)。在這一章,我們將從2-3樹入手,帶領大家理解2-3樹和紅黑樹的等價性,進而深入理解紅黑樹的各項操作。大家將看到,紅黑樹雖然復雜,但有規(guī)律的去理解,也能輕松拿下!...
- 13-1 紅黑樹與2-3樹
13-2 2-3樹的絕對平衡性
13-3 紅黑樹與2-3樹的等價性
13-4 紅黑樹的基本性質和復雜度分析
13-5 保持根節(jié)點為黑色和左旋轉
13-6 顏色翻轉和右旋轉
13-7 紅黑樹中添加新元素
13-8 紅黑樹的性能測試
13-9 更多和紅黑樹相關的話題
13-10 對于紅黑樹,任何不平衡都會在三次旋轉內(nèi)解決?
第14章 哈希表
在數(shù)據(jù)結構的世界里,哈希表可謂影響深遠。哈希的應用早就遠遠超越了數(shù)據(jù)存儲,在安全領域發(fā)揮著重要的作用。就連”區(qū)塊鏈“這種魔法黑科技,都離不開哈希的影子。在這一章,我們將具體的看一看,到底什么是哈希表,哈希表比起之前學習的數(shù)據(jù)結構,到底有怎樣的優(yōu)勢。...
- 14-1 哈希表基礎
14-2 哈希函數(shù)的設計
14-3 Java中的 hashCode 方法
14-4 鏈地址法 Separate Chaining
14-5 實現(xiàn)屬于我們自己的哈希表
14-6 哈希表的動態(tài)空間處理與復雜度分析。
14-7 哈希表更復雜的動態(tài)空間處理方法
14-8 更多哈希沖突的處理方法
|