09百度筆試試題(轉)

轉自:http://blog.csdn.net/haoxing168/archive/2009/10/18/4694620.aspx

一。簡述鏈表和數組各自的優缺點。
二。程序題,程序大概如下,a爲一個字符串數組,字符串中每個字符都是介於'a'到'z'的小寫字母,且字符串長度不超過20。
        (a)描述bbb函數的功能(可用一句話)。
        (b)假設N=7,且a={"cafe","baidu","recuit","thisone","iseasy","*******","*****"}(有兩個字符不記得了....),寫出輸出結果。
        (c)寫出bbb函數的時間複雜度(用N表示)。
        (d) 好像是bbb函數優化提高算法效率之類的。
        int aaa(char* b1,char* b2)
        {
             char g[26];
             int i;
             for(i=0;i<26;++i)
                 g=0;
             for(i=0;i<26;++i)
                 g[b1-'a']++;            
             for(i=0;i<26;++i)
                 g[b2-'a']--;
             for(i=0;i<26;i++)
            {
                  if(g)
                      return 0;
             }
                    return 1;
       }


        int bbb(char a[N][20])
       {
             int f[N];
             int i,j;
             for(i=0;i<N;i++)
                 f=0;
             for(i=0;i<N;i++)
            {
                   if(!f)
                        f=1;
                   printf("%s",a);
                   for(j=i+1;j<N;j++)
                  {
                        if(aaa(a,a[j]))
                        {
                              f[j]=1;
                              printf("%s",a[j]);
                         }
                        printf("/n");
                   }
             }
         }

三。魔術師抽出16張牌,紅心A,4,Q;黑桃J,8,4,7,2,3;草花K,4,Q,5,6;方塊A,5。然後魔術師從中隨意抽出一張牌,叫兩觀衆上去,將點數告訴了觀衆甲,將花色告訴了觀衆乙。
      甲:我不知道這張牌。
      乙:我知道你不知道這張牌。
      甲:我知道這張牌了。
      乙:我也知道了。
      請問從這四句話中你能判斷是哪一張牌?

四。用遞歸和非遞歸的方法寫出樹的先序遍歷,需爲可執行的代碼。
       給出結點定義
       struct tree
       {
               int data;
               tree *left, *right;
       };
       typedef struct tree node;
       typedef node *Bitree;
       爲了方便coding,給出Stack棧操作,push(pNode);pop();


五。一個M*M的矩陣A,一個字符串數組S,比較S中的字符串是否在A中的連續對角線序列中出現。
       譬如一個4*4的矩陣 1  2  3  4
                                   a  b  c  d
                                   5  6  7  8
                                   e  f   g  h
       則其連續對角線從左算:1 2 a 5 b 3 4 c 6 e f 7 d 8 g h
                                或   1 a 2 3 b 5 e 6 c 4 d 7 f g 8 h
                           從右算:4 3 d 8 c 2 1 b 7 h g 6 a 5 f e
                                或   4 d 3 2 c 8 h 7 b 1 a 6 g f 5 e
        (a)大概是寫出優化高效的算法,不一定要程序,可用流程圖或者文字描述,簡述算法原理,計算時間複雜度。

        (b)當矩陣很大到無法加載到內存,寫出解決辦法。

六。給出了一些條件,具體忘了,大概有這些:

    1.一個系統要接受用戶請求,用戶請求爲32字節,其中第一字節爲優先級,後31字節爲請求內容,是字符格式。

    2.由於系統處理複雜,所以同時處理的請求有限,但是還好系統可以保存請求,並且請求過的請求,再次請求可以直接返回,不用處理

    3.請求優先級總共16級,要求高級的請求總是先於低級的請求,同一級的請求中,請求次數多的現處理

問題是:

   (a)基於此要寫一個任務管理調度器的核心算法,

   (b)寫出數據結構

   (c)如果任務管理調度器的容量設計爲20萬,請計算需要的空間。

 

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