下面寫的題目來自出一套 iOS 高階面試題 繼續鞏固基礎知識!
連結串列和陣列的區別是什麼?插入和查詢的時間複雜度分別是多少?
參考:連結串列與陣列的區別,大致從記憶體儲存,邏輯結構方面講區別。
擴充套件參考:常用資料結構及複雜度。
雜湊表是如何實現的?如何解決地址衝突?
參考:雜湊表的設計與實現,大概兩種開放定址和鏈地址。
排序題:氣泡排序,選擇排序,插入排序,快速排序(二路,三路)能寫出那些?
參考:圖形化排序演算法比較:快速排序、插入排序、選擇排序、氣泡排序,很形象的比較了各種排序時間。
如何檢測連結串列中是否有環?如何刪除連結串列中等於某個值的所有節點?
參考:判斷單連結串列中是否有環,找到環的入口節點,圖文詳解。刪除節點:刪除連結串列中等於給定值val的所有節點。
如何在有序陣列中找出和等於給定值的兩個元素?如何合併兩個有序的陣列之後保持有序?
思路:在排序陣列中尋找兩個數的和等於給定數,合併兩個有序陣列成一個有序陣列