四十七、第二份國外的Python考試(上篇)

@Author:Runsen
@Date:2020/5/26

作者介紹:Runsen目前大三下學期,專業化學工程與工藝,大學沉迷日語,Python, Java和一系列數據分析軟件。導致翹課嚴重,專業排名中下。.在大學60%的時間,都在CSDN。決定今天比昨天要更加努力。

之前擼了一份國外的Python考試題目,那個留學生還有一份,我接着繼續擼。走,看看國外的Python考試題到底是什麼東西?

滿分55分,之前的是70,不知道什麼回事,擼就對了。

第一題

第一題很明顯就是一個時間複雜度的題目,一個快速排序,一個鏈表查找,一個冒泡排序,一個鏈表插入,一個二叉搜索,一個訪問Python列表中的單個元素。

快速排序Onlogn)Onlogn),鏈表查找On)On),冒泡排序On2)On^2),鏈表插入O(1)O(1),二叉搜索O(Logn)O(Logn)
訪問Python列表中的單個元素O(1)O(1)

Python列表做元素的遍歷、刪除、插入等操作,對應的時間複雜度爲O(n);訪問某個索引的元素、尾部添加元素或刪除元素這些操作比較適合做,對應的時間複雜度爲O(1)。

答案我不知道,沒有標準答案。

第二題是指出函數的時間複雜性

三個循環,但是結尾是一個n//4,應該是O(nlogn)O(nlogn),因爲for i in range(10)這個是O(1)O(1)

二個循環,應該是O(n2)O(n^2)

第二題

打印出什麼,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什麼遍歷都不是,錯誤

當輸入是上面顯示的樹時,顯示以下代碼打印的內容。

這個真的不知道寫什麼,就是不斷地分解子樹,打印出來

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