筆試題匯總一(網易)


 

 

2018-03-27

 

一、選擇題

  1. 數字圖像顏色空間中,常被彩色顯像管采用的是哪一種:A

    A、RGB     B、HIS     C、CMYX    D、YUV

  2. 用1*3的瓷磚密鋪3*20的地板有幾種方式:A

    A、1278     B、595     C、406        D、872

  3. 以下算法中未用到貪心算法思想的是:C

    A、迪傑斯特拉(Dijkstra)   B、普里姆算法(Prim)     C、KMP     D、庫魯斯卡爾(Kruskal)

    (說明:貪心策略在圖論中有着極其重要的應用。諸如Kruskal、 Prim、 Dijkstra等體現“貪心”思想的圖形算法更是廣泛地應用於樹與圖的處理。)

  4. 字符串zmnzizi用哈夫曼編碼來編碼,共有多少位:C

    A、11     B、12     C、13     D、14

    (說明:z出現3次,i出現2次,m和n都只出現1次,用哈夫曼編碼后為——z(1),i(01),m(000),n(001),所以編碼為——1000001101101,共13位。)

  5. 下列關於核函數描述正確的是:

    A、核函數即特征的映射關系    

    B、高斯核函數將特征映射到無窮維    

    C、使用線性核函數的SVM是非線性分類器    

    D、多項式核函數只是將原始核函數映射,並沒有升維

  6. 下面C++代碼的輸出:B

    A、3 3     B、2 3     C、3 2     D、2 2

        

1 int main()
2 {
3     int arr[] = {1,2,3,4,5,6,7};
4     int *p = arr;
5     *(p++) += 89;
6     printf("%d,%d\n", *p,*(++p));
7     return 0;
8 }

  7. 隨機變量X和Y的Pearson相關系數ρ取得最大值的充要條件是:B

              A、X和Y獨立     B、X和Y正相關     C、X和Y不相關     D、X等於Y

    (說明:相互獨立,協方差為0,相關系數為0。

        當較大時,通常說X 和Y相關程度較好;當較小時,通常說X 和Y相關程度較差。

        相關系數的取值范圍為(-1,+1)。當相關系數小於0時,稱為負相關;大於0時,稱為正相關;等於0時,稱為零相關。)

  8. 已知中序遍歷的序列為abcdef,高度最小的不可能的二叉樹前序遍歷是:C

    A、dbacfe     B、cbaedf     C、cabefd     D、dbacef

  9. 某地區每個人的年收入是右偏的,均值為5000元,標准差為1200元。隨機取900人記錄年收入,則樣本的分布:A

    A、近似正態分布,均值為5000元,標准差為40元        

    B、右偏分布,均值為5000元,標准差為40元

    C、近似正態分布,均值為5000元,標准差為1200元    

    D、左偏分布,均值為5000元,標准差為1200元

  10. 一個完全二叉樹節點數為200,則葉子節點個數為:C

    A、98     B、99     C、100     D、101

    (說明:假設n0是度為0的結點總數(即葉子結點數),n1是度為1的結點總數,n2是度為2的結點總數,則 ①n= n0+n1+n2 (其中n為完全二叉樹的結點總數);

    又因為一個度為2的結點會有2個子結點,一個度為1的結點會有1個子結點,除根結點外其他結點都有父結點,所以②n= 1+n1+2*n2

    由①、②兩式把n2消去得:n= 2*n0+n1-1,由於完全二叉樹中度為1的結點數只有兩種可能0或1,由此得到n0=n/2 或 n0=(n+1)/2。)

  11. 如下邊緣檢測算子中,時間復雜度最高的是:C

    A、Sobel算子     B、Prewitt算子     C、Canny算子     D、Roberts算子

    (說明:常見邊緣檢測算子:Roberts 、Sobel 、Prewitt、Laplacian、Log/Marr、Canny、Kirsch、Nevitia      

      一階微分算子:Roberts 、Sobel 、Prewitt

      二階微分算子:Laplacian、Log/Marr

      非微分邊緣檢測算子:Canny

      方向算子Kirsch(8個3*3模板),Nevitia (12個5*5模板))

      

      

  12. 下列選項中,不可能是快速排序第二趟排序結果的是:B

    A、4 14 10 12 8 6 18     B、6 4 10 8 14 12 18     C、8 4 6 10 12 14 18     D、4 6 10 8 12 14 18

    (說明:快排第n趟排序結果校驗——每趟排序就有一個元素排在了最終的位置上。那么就是說,第n趟結束,至少有n個元素已經排在了最終的位置上。)

  13. python是用C語言寫成的,根據名字空間特性,以下代碼經過python編輯器編譯后,一共得到幾個PyCodeObject對象:D

    A、=A()    Fun()      B、1      C、2      D、3

    (說明:給個鏈接,寫的很詳細——https://www.cnblogs.com/fortwo/archive/2013/05/10/3071699.html)

    (Python編譯器在對Python源碼進行編譯的時候,對代碼中的一個Code Block,會創建一個PyCodeObject對象與這段代碼對應。

    Python中確定Code Block的規則:當進入一個新的名字空間或作用域時,就算進入了一個新的Code Block了。

    即:一個名字空間對應一個Code Block,它會對應一個PyCodeObject。

    現在暫且認為名字空間就是符號的上下文環境,是名字到對象的映射。名字空間以后會詳述。

    在Python中,類、函數和module都對應着一個獨立的名字空間,因此都會對應一個PyCodeObject對象。)

1 class A:
2     pass
3 def Fun():
4     pass
5 a = A()
6 Fun()

 

  14. 已知有4個矩陣大小分別為M1(5*3)、M2(3*4)、M3(4*2)、M4(2*7),下面組合計算所需要的乘法次數最優為:C

    A、(M1(M2(M3M4)))     B、(M1((M2M3)M4))      C、((M1(M2M3))M4)     

    D、(((M1M2)M3)M4)     E、((M1M2)(M3M4))

    (說明:若A是一個p×q的矩陣,B是一個q×r的矩陣,則其乘積C=AB是一個p×r的矩陣。其標准計算公式為:

    最優矩陣連乘

    由該公式知計算C=AB總共需要pqr次的數乘

    編程題:動態規划--矩陣連乘的最優乘法順序——https://blog.csdn.net/sixtyfour/article/details/12250415)

  15. 下列哪個不是SVM的優勢:B

    A、可以與核函數結合     B、訓練速度快

    C、泛化能力好                D、通過調參往往可以得到很好的分類效果

  16. 對於線性表(13,25,22,35,54,57,63)進行散列存儲時,若選用H(K)=K%7作為散列函數,則散列地址為1的元素有:C

    A、0     B、1     C、2     D、3

  17. 想實現用裝飾器來計時,空白處應填寫什么:A

              A、無需填寫     B、@time(fn)     C、@functools.wraps(fn)     D、@functools

    

import time,functools
def metric(fn):

    #empty

    def wrapper(*args,**kw):
        startTime = time.time()
        tmp = fn(*args,**kw)
        endTime = time.time()
        print('%s executed in %s s' % (fn.__name__, endTime-startTime))
        return tmp
    return wrapper

 

  18.下面C++代碼的輸出是:D

    A、12 12     B、隨機數 隨機數     C、12 隨機數     D、隨機數 12

    

class base1{
    private: int a,b;
    public:
    base1(int i):b(i+1),a(b){}
    base1():b(0),a(b){}
    int get_a(){return a;}
    int get_b(){return b;}
};
int main()
{
    base1 obj1(11);
    cout<<obj1.get_a()<<endl<<obj1.get_b()<<endl;
    return 0;
}

 

  19. 大津法(OSTU算法)閾值分割中,閾值自動選擇的思路是:B

    A、由直方圖灰度分布選擇閾值                           B、最大化類間方差選擇閾值

    C、最大最小灰度值二分迭代逼近法選擇閾值     D、雙峰法選擇閾值

    (說明:OTSU算法又稱為最大類間方差法。)

    (圖像單閾值分割方法:

    1. 雙峰法——圖像由前景和背景組成,在灰度直方圖上,前后二景都形成高峰,在雙峰之間的最低谷處就是圖像的閾值所在。

    2. 迭代法(基於逼近的思想)——求出圖象的最大灰度值和最小灰度值,分別記為ZMAX和ZMIN,令初始閾值T0=(ZMAX+ZMIN)/2;根據閾值TK將圖象分割為前景和背景,分別求出兩者的平均灰度值ZO和ZB;求出新閾值TK+1=(ZO+ZB)/2;若TK=TK+1,則所得即為閾值;否則轉2,迭代計算

    3. 大津法(OTSU法)——對圖像Image,記t為前景與背景的分割閾值,前景點數占圖像比例為w0, 平均灰度為u0;背景點數占圖像比例為w1,平均灰度為u1。圖像的總平均灰度為:u=w0*u0+w1*u1。從最小灰度值到最大灰度值遍歷t,當t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大時t即為分割的最佳閾值。對大津法可作如下理解:該式實際上就是類間方差值,閾值t分割出的前景和背景兩部分構成了整幅圖像,而前景取值u0,概率為w0,背景取值u1,概率為w1,總均值為u,根據方差的定義即得該式。因方差是灰度分布均勻性的一種度量,方差值越大,說明構成圖像的兩部分差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小,因此使類間方差最大的分割意味着錯分概率最小。

    4. 灰度拉伸的增強大津法——在大津法的基礎上通過增加灰度的級數來增強前后景的灰度差,從而解決問題。灰度增加的方法是用原有的灰度級乘上同一個系數,從而擴大灰度的級數,特別地,當乘上的系數為1時,這就是大津法的原型

    5. Kirsh算子——對數字圖像的每個像素i,考慮它的八個鄰點的灰度值,以其中三個相鄰點的加權和減去剩下五個鄰點的加權和得到差值,令三個鄰點繞該像素點不斷移位,取此八個差值的最大值作為Kirsh算子。即:設Si為三鄰點之和,Ti為五鄰點之和,則Kirsh算子定義為K(i)=max{1,max〔5Si-3Ti〕}如取閾值THk,則當K(i)>THk時,像素i為階躍邊緣點。

  20. 函數y=x^x,(x>0)的極小值點為:C

    A、1     B、(√2)^(√2)     C、(1/e)^(1/e)     D、√2

    (說明:y=x^x,lny=xlnx,求導,函數在x=1/e時,取最小值y=(1/e)^(1/e))

二、編程題

  貼一個博客地址,他總結的比較好:https://blog.csdn.net/q295657451

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM