演算法方面面試題及個人解答

2021-07-12 00:56:13 字數 528 閱讀 7701

1、o(n^2) : 冒泡、直接插入(最好o(n))、簡單選擇排序

2、o(n*logn):快排(最壞:o(n*n))、歸併、堆排序

3、o(d * n): 基數排序

4、根據增量函式:希爾排序

1、簡單排序演算法: 它們在時間複雜度上表現不是很好,但簡單排序演算法都是穩定的,其次,在n值比較小的情況下

簡單排序演算法和其它高階演算法的時間差距可以接受,而且所有的簡單排序演算法空間複雜度為o(1)。

2、快速排序:是氣泡排序的改進形式,所以在資料基本有序時,會退化成氣泡排序,但從平均時間效能而言,快速排序 的效能最好,快速排序適用於資料量大且資料分布隨機的情況。快排不是穩定的排序演算法。

3、歸併排序:演算法穩定,且在平均情況下和最壞情況下都能保證n*log n 的時間複雜度。但是其需要的輔助空間多。

4、堆排序: 演算法不穩定,能保證n *b log n 的複雜度,且只輔助空間使用不多,但是演算法比較複雜。

5、希爾排序:演算法不穩定,時間上表現很好。

6、基數排序:可根據多個關鍵字排序。

前端安全方面面試題

兩種思路 不要讓其變成程式,這個資料變成程式的話不讓它執行 瀏覽器內建了對反射型xss的防禦,當它檢測到有反射型xss的時候會進行攔截 對資料進行適當轉義,包括在正文中的轉義,屬性中的轉義,指令碼中的轉義,轉義的字元包括大於號小於號單雙引號以及and號等等 針對不能對html標籤全部過濾或轉義的情況...

JAVA面試題及解答

第十六,set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢?是用 還是equals 它們有何區別?set裡的元素是不能重複的,那麼用iterator 方法來區分重複與否。equals 是判讀兩個set是否相等。equals 和 方法決定引用值是否指向同一物件equals 在類中被覆蓋,為的是...

Oracle面試題目及解答

這裡的回答並不是十分全面,這些問題可以通過多個角度來進行解釋,也許你不必在面試過程中給出完全詳盡的答案,只需要通過你的解答使面試考官了解你對oracle概念的熟悉程度。1.解釋冷備份和熱備份的不同點以及各自的優點 解答 熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷備份指在資料...