ACM,資訊學中的演算法在工程專案中的使用有哪些?學以致用的感覺會更踏實吧

時間 2021-05-30 00:14:26

1樓:

比起crud的專案,還是遊戲用到的演算法多。若是從零開始實現,乙個極簡遊戲的都會涉及到大量的演算法。貝塞爾曲線,補間動畫,碰撞檢測,3d拾取,物理引擎,光線追蹤。。。

涉及到ai更是不得了,數獨求解,自動掃雷,各種棋類等等,以及傳統ai演算法解決不了,而使用的機器學習等等

2樓:

總的來說用得很少,但也有部分情況會用到,按我覺得遇到的概率來說吧。

最有可能遇到的是跟字串相關的演算法,因為字串操作實在太常見了。具體來說,基於字串的資料訪問最最常見的,例如把字串以某種形式編碼後存在樹里或者 hash table 裡。具體什麼樹,還是 hash table,就要看你要按什麼方式來讀取字串了。

具體例子是按字串搜尋和匹配,例如寫個 autocomplete 元件。

接下來是樹,例如說你要對檔案系統裡的某個目錄下的所有子目錄和檔案進行某種操作。對檔案系統操作時,往往是遍歷而不是搜尋,所以沒什麼可以顯著優化的地方。

最後是成圖狀的東西。有時候你的程度要處理一堆互相之間存在關聯關係的資料,例如社交網路圖譜,這時候你要看具體你要做什麼來選擇乙個樹或圖的演算法。儘管你處理的資料是呈圖結構的,但有可能你的視覺總是從乙個點出發往外觀察且不處理環路,那其實你就在處理樹。

3樓:菜復讀雞

spotify/annoy

k-d樹,劃分高維空間的二叉樹,可以用於快速查詢向量K近鄰。Spotify將使用者、歌曲資訊矩陣分解成向量,用它做歌曲推薦。

4樓:努力當條狗

在工程中具體用過,並查集進行判環和企業曾用名替換;trie樹做多模匹配;最短路徑挖掘企業投資關係;剩下的就是各種搜尋活用了。

5樓:靈劍

DFS很常用啊,比如說乙個神經網路計算圖,本來有兩個輸出節點的,現在你只需要其中乙個,那一部分節點就沒必要算了,哪些需要計算呢?從輸出節點出發逆向做深度優先遍歷就很容易找出來了。如果是要排列出計算順序則是乙個拓撲排序問題。

6樓:公尺夏

Dijkstra演算法在導航中的應用

資訊學競賽中學的演算法有多少在真正的程式設計中會用到 頻率如何?

OFFLINE 工作中經常用到樹形結構吧.不過倒是沒怎麼用到演算法.感覺是空間思維問題,不是演算法問題.例如要實現乙個System.Linq.IQueryProvider就挺難的. hcahsror 說幾個我寫資料庫的時候用到的 歸併排序,在記憶體有限的情況下對大資料進行排序的時候,需要分成有序頁然...

在資訊學競賽中AC WA RE CE TLE MLE PE OLE分別是什麼意思?

王厚薄就是王厚博 AC 正確的答案 WA 錯誤答案 PC 部分正確 RE 執行時錯誤 CE 編譯錯誤 TLE 時間超過限制 MLE 記憶體超過限制 OLE 輸出超過限制 ILE 輸入超過限制 UKE 未知錯誤 PE 格式錯誤 JF Judged失敗 看我看我,絕對最全! yizr cnyali AC...

如何看待資訊學競賽中的學校殺制度?

PoPo QQQ 謝不邀我感覺這個政策確實是有弊有利。利在於給弱校的學生乙個 可能 這個 可能 在於,如果沒有這個政策,那麼弱校基本上是不搞或者是對付這門競賽,導致有心的學生沒有門,而有了這個政策之後弱校至少還會開設這門競賽,給有心的學生一條道路,儘管艱辛,但是還是提供了這個可能性 弊在於 關鍵是就...