1. 程式人生 > 其它 >什麼是演算法面試01:演算法面試的誤區

什麼是演算法面試01:演算法面試的誤區

演算法面試不代表“正確”回答每一個演算法問題,合理的思考方向更重要

把這個過程看作是和麵試官一起探討一個問題的解決方案,對於問題的細節和應用環境,可以和麵試官溝通

根據具體情況選擇更優的演算法

“正確”本身是一個相對的概念,比如對一組資料進行排序,不能忽略應用環境,一味的選擇速度快的快速排序法等等,而是根據具體情況選擇更優的演算法

要先看看這組資料的特徵,重複元素較多可以選擇三路快速排序法,有序性較高可以選擇插入排序法,取值範圍非常有限可以選擇基數排序法,要求排序效能很穩定可以選擇歸併選擇法,完全隨機的資料可以選擇普通的快速排序法

還要看看資料的儲存結構是什麼,比如快速排序法要求資料的隨機化程度高,而使用連結串列儲存的資料就更適合用歸併排序法

如果資料量很大,不足以裝載在記憶體裡,需要使用外排序演算法