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

”“”

Java#2中的算法和數據結構(+訪談問題)

嘗試數據結構,三元搜索樹,數據壓縮,基礎搜索和分類算法

在本課程中,我們將探討數據結構和算法的概念。實施將在Java中進行,但基本原理可以應用於其他編程語言,例如C ++或Python。該課程的總持續時間約為12小時。為了深入了解,我建議您自己練習這些數據結構的實施。

第1節 – 嘗試:前綴樹

在本節中,我們將加深前綴樹的基本概念,也稱為嘗試。我們將解決諸如插入,訂購和自動完成之類的操作。此外,我們將探索較長的常見前綴問題和網絡前綴應用程序,特別是IP路由。

第2節 – 三元搜索樹

根據對嘗試的知識,我們將討論嘗試的局限性並介紹三元搜索樹。我們將探索基本的插入和恢復操作,並檢查其在IP路由和Boggle遊戲中的應用程序。

第3節 – 子字符串搜索算法

本節重點介紹基因搜索算法。我們將討論搜索蠻力,底弦Z搜索算法,Rabin-karp算法和哈希的搜索,以及Knuth-Horris-Prat substring搜索算法(KMP)。

第4節 – 字符串

在本節中,我們將探索有關Java編程的字符串。主題包括字符串池,前綴和後綴,較長的常見前綴問題,最長的重複子弦問題以及後綴樹和後綴陣列。

第5節 – 訂購算法

在這裡,我們將陷入基本排序算法,例如氣泡排序,選擇排序,插入排序,外殼排序,QuickSort和Merge Sort。我們還將討論基於比較的和非共同的方法,以及字符串排序算法(例如桶形排序和radix排序)。

第6節 – 數據壓縮算法

本節介紹數據壓縮算法。我們將解決數據壓縮概念,包括運行長度編碼,霍夫曼編碼以及LZW壓縮和減壓。

第7節 – 算法分析

最後一部分著重於算法的分析。我們將學習如何測量算法的執行時間,並使用Big O(Ordo),Bigω(Omega)和Bigθ(Theta)表示法分析其複雜性。我們還將利用複雜性類別,例如多項式(P)和非確定性多項式(NP)算法,並討論執行時間的各種複雜性,例如(1),(log)和(n)。

在整個課程中,我們將討論這些概念的真實應用。例如,現代搜索引擎廣泛使用前綴樹,允許自動完成等功能。訂購算法對於有效組織數據至關重要,數據壓縮在減少文件大小中起著至關重要的作用。

感謝您參加該課程,我們將一起開始這一學習旅程!

您將學到什麼

  • 了解算法和數據結構的基礎
  • 開發適合您特定需求的算法
  • 檢測未達到的代碼摘錄
  • 了解數據壓縮技術
  • 了解各種服務Algorthses
  • 獲取有關嘗試和終端搜索樹的知識
  • 在Java中探索字符串和字符串構成器
Scroll to Top