一張圖看明白麻省理工課程的高階資料結構

banq發表於2019-05-30

資料結構在現代電腦科學中發揮著核心作用。與演算法相比,您更頻繁地與資料結構進行互動(想想Google,您的郵件伺服器,甚至您的網路路由器)。此外,資料結構是獲得有效演算法的基本構建塊。麻省該課程涵蓋資料結構的主要成果和當前研究方向

一張圖看明白麻省理工課程的高階資料結構

  1. TIME TRAVEL時間旅行:我們可以有效地記住過去(一種稱為永續性的技術),但總的來說,很難改變過去並看到現在的結果(追溯性)。迴歸未來真的不可能。
  2. GEOMETRY:當資料有多個維度時(例如map對映,資料庫表)。
  3. DYNAMIC OPTIMALITY動態最優:是否有一個二元搜尋樹與其他搜尋樹一樣好?我們仍然不知道,但我們很接近。
  4. MEMORY HIERARCHY記憶層次:真正的計算機是有多級快取,我們可以優化快取未命中數,通常甚至不知道快取的大小。
  5. HASHING雜湊:它是電腦科學中最常用的資料結構。它仍然是一個活躍的研究領域。
  6. INTEGERS:對數時間太容易了。通過仔細分析您正在處理的資訊,您通常可以大幅減少操作時間,有時甚至可以減少操作時間。我們還將介紹說明何時無法實現的下限。
  7. DYNAMIC GRAPHS動態圖:當網路連結已關閉,或者您剛剛新增或刪除了社交網路中的朋友,我們仍然可以在這些發生變化時保持有關連線的基本資訊。
  8. STRINGS:搜尋巨型文字中的短語(想想Google或DNA)。
  9. SUCCINCT簡潔:您知道的大多數“線性大小”資料結構比它們需要的大得多,通常是一個數量級。一些資料結構幾乎不需要原始資料之外的空間,但仍然很快(想想堆,但更酷)。

大多數材料都包含在 2012年錄製的視訊講座中(已經有超過10萬人觀看),您可以方便地以比實時更快的速度播放。為了促進協作,我們將使用一個 名為Coauthor的新 開源軟體平臺,以及用於(可選)編碼的Github

相關文章