@Author:Runsen
@Date:2020/5/26
作者介紹:Runsen目前大三下學期,專業化學工程與工藝,大學沉迷日語,Python, Java和一系列數據分析軟件。導致翹課嚴重,專業排名中下。.在大學60%的時間,都在CSDN。決定今天比昨天要更加努力。
之前擼了一份國外的Python考試題目,那個留學生還有一份,我接着繼續擼。走,看看國外的Python考試題到底是什麼東西?
滿分55分,之前的是70,不知道什麼回事,擼就對了。
第一題
第一題很明顯就是一個時間複雜度的題目,一個快速排序,一個鏈表查找,一個冒泡排序,一個鏈表插入,一個二叉搜索,一個訪問Python列表中的單個元素。
快速排序,鏈表查找,冒泡排序,鏈表插入,二叉搜索
訪問Python列表中的單個元素。
Python列表做元素的遍歷、刪除、插入等操作,對應的時間複雜度爲O(n);訪問某個索引的元素、尾部添加元素或刪除元素這些操作比較適合做,對應的時間複雜度爲O(1)。
答案我不知道,沒有標準答案。
第二題是指出函數的時間複雜性
三個循環,但是結尾是一個n//4,應該是,因爲for i in range(10)
這個是
二個循環,應該是
第二題
打印出什麼,2fizbin(6,10),然後就是4fizbin(3,5),答案就是4。
一開始mid等於2,left = mysteryFun([1,0]) = mysteryFun([1]) +mysteryFun([0]) = 1
right = mysteryFun([2,3]) = mysteryFun([2]) +mysteryFun([3]) = 4+9=13
答案14。
如果mysteryFun([0,1]),運行3次。
寫一個函數應該返回一個由列表中所有字符串組成的字符串,這些字符串以一個空格分隔的給定字符開頭,用字符決定排序的列表。
難度一般,
def alliterationMaker(alist,char):
# 對alist的開頭不是char的去除
for i in alist:
if i[0] != char:
alist.pop(alist.index(i))
alist.sort()
return alist
if __name__ == '__main__':
print(alliterationMaker(["big","cow","bug","bit","table","black","bear"],"b"))
['bear', 'big', 'bit', 'black', 'bug']
第三題
就是把從大到小,6,5,4,2,2,然後再全部加一,7,6,5,3,3.再反轉,3,3,5,6,7
答案8,7,6,25
第四題
二叉樹的遍歷是指從二叉樹的根結點出發,按照某種次序依次訪問二叉樹中的所有結點,使得每個結點被訪問一次,且僅被訪問一次,分別有前序遍歷,中序遍歷,後序遍歷
前序遍歷通俗的說就是從二叉樹的根結點出發,當第一次到達結點時就輸出結點數據,按照先向左在向右的方向訪問。
中序遍歷就是從二叉樹的根結點出發,當第二次到達結點時就輸出結點數據,按照先向左在向右的方向訪問。
後序遍歷就是從二叉樹的根結點出發,當第三次到達結點時就輸出結點數據,按照先向左在向右的方向訪問。
選項A就是後序遍歷 正確
選項B就是前序遍歷 但是錯誤
選項C就是前序遍歷 正確
選項D什麼遍歷都不是,錯誤
選項E什麼遍歷都不是,錯誤
當輸入是上面顯示的樹時,顯示以下代碼打印的內容。
這個真的不知道寫什麼,就是不斷地分解子樹,打印出來