算法中的易錯知識點集錦

子序列不同於子數組
子數組一定是連續的,子序列不一定是連續的。
字符串的子串也是連續的。

長度爲n的數組
非空子數組的個數:n*(n+1)/2
非空子序列的個數:2^n-1

長度爲n的字符串
非空子串的個數:n*(n+1)/2

在這裏插入圖片描述

複雜度

時間複雜度:
程序運行的時間隨着問題規模的擴大增長得有多快。

一個元素個數爲n的數組,其排序的時間複雜度爲O(nlogn)

非多項式級時間複雜度
指數級複雜度,如O(2^n),O(3 ^n)
全排列算法,複雜度爲O(n!)

多項式級時間複雜度
O(1),O(n),O(n*log(n)),O(n^2), O(n ^3)等

哈希集合查找時間複雜度爲O(1)
哈希表的更新和存儲時間複雜度也是O(1)

最小堆和最大堆
入和出的時間複雜度爲O(logn),n爲節點的個數

不同排序法的時間和空間複雜度:
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

Java的Map中只能存object,因此Map<Interger, Interger>而不能寫Map<Int, Int>,因爲Int是primary reference

更新中…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章