Java#1中的算法和數據結構課程(+面試問題)

”“”

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進行編碼練習。這些基本概念廣泛適用於各個領域,包括投資銀行,人工智能和股票市場中的電子交易算法。

感謝您參加課程!讓我們一起登上這一學習旅程!

Scroll to Top