python面試之騰訊測試開發工程師

2021-09-22 18:22:33 字數 949 閱讀 6205

1、假定我有100m的乙個文字資料,但是我的電腦記憶體只有10m,我怎麼在有限的資源條件的情況下,找出這個文字**現次數最多的那一行字串?

解決思路:說來也巧,其實這不難,只是有時候突然沒了思路,靈感來自於乙個小學妹的一句話,他最近在搞數學競賽,我想,數學。。。數字,我將字串轉成數字不就成了,但是怎麼轉成特定數字呢?要轉成特定的數字用hash不就搞定了,相同的hash值自增,最後最大值的hash值的value對應的hash值的字串不就想要的字串嘛

2、什麼是最大堆(大頂堆),堆排序的時間複雜度是多少?

堆可以看做乙個完全二叉樹,同時該完全二叉樹滿足雙親結點大於等於孩子結點(大頂堆),或者雙親結點小於等於孩子結點(小頂堆)

堆排序:堆排序也分為兩個過程:(1)將初始化序列調整成為乙個大頂堆(2)用最後乙個元素和堆頂元素交換,然後不斷調整剩下的元素成為乙個新的大頂堆。

堆排序的時間複雜度:o(nlogn)

其他排序演算法常見時間複雜度:

3、二叉樹:

滿二叉樹:乙個二叉樹,如果每乙個層的結點數都達到最大值,則這個二叉樹就是滿二叉樹。也就是說,如果乙個二叉樹的層數為k,且結點總數是(2^k) -1 ,則它就是滿二叉樹。

平衡二叉樹:它是一 棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。

完全二叉樹:完全二叉樹是由滿二叉樹而引出來的。對於深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時稱之為完全二叉樹。

4、用python的物件導向思想,實現乙個鍊錶的插入和刪除。

參見部落格:python基礎之堆疊基礎的二次**封裝

測試開發面試基礎(python)

1使用列表推導式輸出1 100的列表 print i for i in range 100 2使用列表推導式輸出1 100內的奇數 print i for i in range 100 if i 2 1 print i for i in range 1,100,2 print i for i in ...

騰訊測試開發崗實習面試(流水賬)

恩.很久沒有更博,這次的博文就記錄一下我最近最主要的乙個經歷吧。先說真的是運氣好躋身鵝廠的實習生大軍,最主要的感受就是大家都要勇於嘗試,不要覺得bat這種大公司很難很難 其實在幾個月前我也是這麼認為的.其實可能還沒有有些小點的公司難。下面進入正題吧 網申從開學開始陸陸續續投了好幾家,不過都沒有什麼音...

Python 測試開發演算法面試題

1.二分查詢演算法 coding utf 8 def binary search num list,x 二分查詢 num list sorted num list left,right 0,len num list while left x right mid elif num list mid x...