資料結構與演算法常見面試題

2021-09-13 14:34:35 字數 879 閱讀 7551

資料結構與演算法

找到單鏈表的三等分點,如果單鏈表是有環的呢 ?

用快慢指標,乙個走一步,乙個走三步。如果有環,先判斷環在哪,找最後乙個節點,然後用之前的無環的做法

從10萬個數中找最小的10個,時間複雜度分析(最小堆,考慮記憶體)?

我們首先取10萬個元素中的前10個元素來建立由10個元素組成的最小堆。這樣堆頂元素便是當前已知元素的第10大的數;然後依次讀取剩下的99990個元素,若讀取的元素比堆頂元素大,則將堆頂元素和當前元素替換,並自堆頂至下調整堆;這樣讀取完所有元素後,堆中的10個元素即為這10萬個數最大的10個數,同時堆頂元素為這10萬個元素第10大元素

滿二叉樹第i層有多少個節點?

2的(n-1)次方

乙個有序的整數陣列,輸出兩個數,使它們的和為某個給定的值。如果陣列無序怎麼辦,先排序?

每個數跟後面的所有數進行相加比對,遇到相加等於target的新增到list中直接返回即可

兩個檔案,每個檔案中都有若干個url,找出兩個檔案中相同的url(用hashmap/tire樹)海量資料處理?

樹的先序中序後序以及應用場景?

陣列和鍊錶的使用場景

list中存放可重複字串,如何刪除某個字串?

1.迴圈時倒序(int i = size-1;i>=0;i—)

2.foreash時可以使用copyandwritelist保證遍歷時不報錯(遍歷的是舊陣列,修改陣列會重新新建乙個新陣列,把操作後的值賦值到新陣列,寫時加鎖,讀時不加鎖)

3.使用迭代器的remove()方法刪除元素(itertor的remove方法會保證陣列的長度始終相等於遍歷的長度)存疑!

hashmap底層實現,怎麼實現hashmap執行緒安全

arraylist linkedlist 集合類的執行緒安全問題 底層資料結構

php 資料結構常見面試題目

1,二叉樹深度優先遍歷和廣度優先遍歷 深度優先遍歷 對每乙個可能的分支路徑深入到不能再深入為止,而且每個節點只能訪問一次。要特別注意的是,二叉樹的深度優先遍歷比較特殊,克細分為 前序遍歷,中序遍歷,後序遍歷 小竅門 看根節點再前中後?前序遍歷 根節點 左節點 右子樹 中序遍歷 左子樹 根節點 右子樹...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...