”“”
Java中的算法和數據結構
學習算法和數據結構的基礎
在這個全面的課程中,您將使用Java深入研究算法和數據結構的世界。在整個課程中,您將深入了解各種數據結構及其實施。強烈建議您自己實施這些數據結構以鞏固其知識。
第1節:數據結構和抽像數據類型
在本節中,您將了解不同的數據結構和抽像數據類型。
第2節:數組
探索陣列的概念,包括隨機訪問和索引。
第3節:列出鏈接
找出鍊式列表和雙重列表的複雜性。此外,從列出的列表中了解常見問題。
第4節:電池和隊列
了解電池和隊列的概念,包括堆內存和電池內存。可視化堆棧內存及其操作。
第5節:二進制搜索樹(BSTS)
了解樹數據結構以及如何使用二進制搜索樹實現對數執行時間。
第6節:AVL樹
探索二進制搜索樹和平衡搜索樹的概念,特別是AVL樹的概念。了解AVL樹上的旋轉。
第7節:紅黑樹
發現紅黑樹的特徵和恢復操作。比較AVL樹和紅色樹。
第8節:張開樹
了解張開樹及其應用,包括在恢復最近訪問的物品的持續運行時間。
第9節:優先級的堆和原始
了解優先線和堆數據結構。探索訂購算法的堆。
第10節:B
樹
找出外部內存及其B-紫色樹的應用的概念。了解B*樹和B+樹。
第11節:哈希和哈希圖
探索哈希和哈希圖表,包括哈希函數並實現恆定的執行時間複雜性。
第12節:訂購算法
了解各種排序算法,包括氣泡排序,選擇排序,插入排序,外殼排序,QuickSort,合併排序和字符串排序算法。理解基於比較而不是比較的方法。探索桶形排序和radix排序。
第13節:子字符串搜索算法
發現不同的子字符串搜索算法,例如蠻力搜索,子字符串搜索算法,Rabin-Karp算法和Knuth-Horris-Pratt substring搜索算法(KMP)。
第14節(獎勵):CACHE LRU
了解LRU緩存及其實現。
第15節(獎金):芬威克樹(二進制索引樹)
探索芬威克樹(二進制索引樹)及其實現。
第16節:算法分析
了解如何測量算法的執行時間,並使用Big O(Ordo),Bigω(Omega)和Bigθ(Theta)表示法分析您的複雜性。了解複雜性類別,包括多項式算法(P)和非確定性多項式算法(NP)。了解執行時間的各種複雜性,例如(1),(log)和(n)。
在每章中,在潛入編碼之前,您將對每種算法或數據結構有理論上的理解。該課程使用Eclipse和Java進行編碼練習。這些基本概念廣泛適用於各個領域,包括投資銀行,人工智能和股票市場中的電子交易算法。
感謝您參加課程!讓我們一起登上這一學習旅程!