• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            OnTheWay2012
            埋葬昨天的我,迎來重生的我!
            posts - 15,  comments - 89,  trackbacks - 0

            1.最大空間為6的循環隊列隊頭front為3,隊尾rear為0,刪除一個插入兩個元素后的front和rear為多少?
                我感覺這道題說的不太清楚,原因如下:對于對于循環隊列有不同實現,可以采用鏈表的形式也可以采用數組的形式;另外即使是采用數組這種結構也有兩種常用的實現方式,一種是采用一個標量來表明隊列是空的 還是滿的,也可以采用空一個元素的方式來表示隊列是空還是滿。
                根據題意應該是采用數組的形式且有一個元素沒有使用,所以解題思路如下:刪除元素是在隊頭,所以刪除一個元素后隊頭是4;插入元素是在隊尾進行,所以插入兩個元素后隊尾是2。
                個人感覺我的答案好像不太正確,請高手指點,謝謝。

            2.N個結點的二叉樹,有m個結點有兩個子結點,有多少個葉子結點。
                本來以為這道題會做了并且還很簡單,但是當要寫出來的時候才發現原來的想法完全是錯誤的。懇請高人賜教。

            3.有1000瓶水,其中有一瓶有毒,小白鼠只要嘗一點帶毒的水24小時后就會死亡,至少要多少只小白鼠才能在24小時時鑒別出那瓶水有毒。
                這道題我原來也意味最少也需要有999個小白鼠才能鑒別出來,但是我感覺這個答案肯定是錯的;所以就百度了一下,發現有人說是10個小白鼠足矣,但是我看了看接下來的解釋,還是沒有看懂;但是我感覺他說的是對的,所以我想了大半天終于想明白了,回頭看看網上關于這道題的解答確實不太容易讓人明白。
                閑話少說,我的分析如下:
                一般情況下大家看到這道題的時候都會認為是999個小白鼠,那么為什么會有這種錯誤的想法呢?那是因為大家在思考的時候進入了一個誤區,這個誤區就是每只小白鼠只能喝一個瓶子里的水。其實產生這個誤區也是很正常的,那么怎么才能在小白鼠喝了不同瓶子里的水的情況下也能知道哪個瓶子里的水是害死小白鼠的呢?請看下面我舉的一個例子。 

              為了簡單起見,我假設只有5平水,其中一瓶有毒,其他條件不變,那么按照上面的說法答案應該是4。
                現在我有三只小白鼠,它們的編號是1,2,3;五個瓶子編號是1,2,3,4,5。讓1號小白鼠喝一號瓶子里的水,注意1號瓶子用二進制表示是00000001;然后讓二號小白鼠喝2號瓶中的水,注意2號瓶子用二進制表示是00000010;然后讓一號和二號小白鼠喝3號瓶中的水,注意3號瓶子用二進制表示是00000011;然后讓三號小白鼠喝4號瓶中的水,注意4號瓶子用二進制表示是00000100;然后讓一號和三號小白鼠喝5號瓶中的水,注意5號瓶子用二進制表示是00000101。那么如果1號瓶子是有毒的話1號小白鼠在24小時后死去;如果2號瓶里的水是有毒的話2號小白鼠24小時后死去;如果3好瓶子水有毒,24小時后1號和2號小白鼠死去;如果4號瓶水有毒24小時候3號小白鼠死去;如果5好瓶里的水有毒24小時候死去的應該是1號和3號小白鼠。
                綜上所述鑒定5瓶水是不是有毒只需要3個小白鼠!并且有些小白鼠喝了不只一個瓶子里的水。
                大家請注意這樣一個事實:需要鑒定5個瓶子里的水,而5的二進制表示是00000101;為了表示5最多使用了3個二進制位。
                請大家按照上面的方法舉幾個例子,例如有6、7、8、9瓶水需要鑒定。通過舉這些例子后是不是得到一個結論:用二進制表示需要鑒定的瓶子數量,該二進制表示所占用的二進制位的個數就是需要的小白鼠的數量。
                根據上面的結論,1000需要10個二進制位來表示,所以這道題的答案是需要10個小白鼠!
                怎么樣是不是比需要犧牲999個小白鼠更愛護小動物。
               
                但是上面的這種方法只是一種基于一些有限的例子歸納出來的,并不十分可靠。我當時根據上面的例子推導之后已經知道了答案,但是總還感覺缺少點什么。好像還沒有太明白,也好像缺少了一些說服力,因為畢竟是有限的歸納。

                好了,下面就是絕對有說服力的解法:
                還是上面的第一個例子,總共有5個瓶子,需要3只老鼠;如果某個老鼠喝了水,我們就在記為1,如果老鼠沒有喝那么就記為0;我們用3個二進制位表示記錄情況,最左邊的二

            進制位代表3號老鼠,中間的二進制位代表2號老鼠,最右邊的老鼠代表1號老鼠。
                1號瓶里的水被1號老鼠喝了,那么是不是應該寫一個1其余的記為0,那么是不是可以寫為001。
                2號瓶里的水被2號老鼠喝了,那么是不是應該寫一個1其余的記為0,那么是不是可以寫為010。  
                3號瓶里的水被1號和2號老鼠喝了,那么是不是應該寫兩個1其余的記為0,那么是不是可以寫為011。
                4號瓶里的水被3號老鼠喝了,那么是不是應該寫一個1其余的記為0,那么是不是可以寫為100。
                5號瓶里的水被3號和1號老鼠喝了,那么是不是應該寫兩個1其余的記為0,那么是不是可以寫為101。
                通過上面的例子是不是發現就相當于用老鼠喝不喝瓶里的水來表示數字。用10個老鼠可以表示10個二進制位,那么10個二進制位是不是可以表示最大的1024,并且每種表示法都是唯一的。

                不知道通過以上的說法是否明白了,如果還不太明白請仔細看幾遍可能就明白了。

            4.有一整數序列,如何求絕對值和最大的連續數字串,寫出算法。
                我看到這道題是不太明白“絕對值和”是什么意思,所以導致我不明白這個題到底要求寫什么。我的理解是這樣的:一個整數數列,當然可能有正的也有負數,求出子數字串

            的最大和是多少。舉個例子:數列是-1,-2,0,89,100, -90,那么最大的和就是89+100。
                如果是按照我的理解的話這道題的答案在《數據結構和算法分析 --C語言描述》的21頁。我就不在這里再說了。

            5.假設有很多段ip段屬于教育網的,如何盡快辨別一用戶 ip是否屬于教育網。
                我對網絡不熟,所以不知道以下我的說法是否正確,如果不正確請高手指教。
                IP地址分為網絡號和主機號,只要對某個IP與教育網的IP的網絡好進行與運算即可,如果運算后還等于教育網的網絡號,則是教育網的IP。

            6.用java實現二叉樹數據。
                不太明白實現二叉樹數據是什么意思,是讓寫一個結點的類型,然后寫一個創建二叉樹的函數嗎,當然了既然是用JAVA這種面向對象的語言實現的,所以一定要用類的方法實現。另外我對JAVA不熟悉,不知道JAVA里是否有模板類的說法,如果有的話最好用模板類的方法實現,這樣的話不需要考慮二叉樹所保存的數據的類型。
                具體代碼請參見各種數據結構的書,一般這類書都會有講解的,二叉樹也不太難。
            7.構造AVL樹。
                正在看AVL樹,所以當前還不能多說些什么。請高手評論這道題。

                這篇隨筆里最讓我高興的一點就是把地三題想明白了。
                請各位高手批評指正。

            posted on 2010-05-10 20:20 OnTheWay 閱讀(2618) 評論(14)  編輯 收藏 引用 所屬分類: 面經

            FeedBack:
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-10 20:53 | 小時候可靚了
            我只說第一題

            0 1 2 3 4 5




            我真不知道,是3 4 5 0被使用,還是3 2 1 0被使用! 他沒告訴我繞序。因為插入的時候,有頭插和尾插方式。

            如果是3 2 1 0方式,則刪除一個后是 2 1 0 再加兩個,則是2 1 0 5 4

            如果是3 4 5 0方式,則刪除一個后是 4 5 0 ,再加兩個,則是4 5 0 1 2

            信口開河,如果覺得我說得不對的,盡管說!  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-10 21:26 | marco
            說說第二題~~
            m+1

            設葉節點為x個,有一個子結點的為y個
            對于一個節點,它都有一個父節點,即一個輸入端,記為-1(根節點單獨考慮)
            如果有兩個字節點,那么輸出為2;一個子結點,輸出為1;葉節點輸出為0.

            那么有:
            x*0 + x*(-1) + y*1 + y*(-1) + m*2 + m*(-1) = -1
            根節點沒有輸入,所以是-1
            x = m+1
              回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-10 22:00 | 小時候可靚了
            @marco
            嗯,利用進出平衡來計算,比較好的方法!!   回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-10 22:15 | OnTheWay
            @marco
            非常感謝,終于讓我明白了。  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-10 22:15 | OnTheWay
            @小時候可靚了
            也謝謝你的關注  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-10 23:55 | 小時候可靚了
            第三題很好玩,哈哈!  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-11 07:13 | 楊帆
            第三題,請查閱信息論有關內容,一般信息論教材第一章,第二章就夠了。  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-11 09:02 | 英超
            第四題,理解錯了吧,應該是“絕對值”和“最大的連續數字串”,不是“絕對值和”。
            個人意見。  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-11 09:03 | 英超
            @英超

            我的錯,確實是“絕對值和”……  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教[未登錄]
            2010-05-12 14:11 | vane
            第2題應該是2分查找,你那個方法咱不能理解,或許咱太笨......
            2進制移動一位不僅僅是1這么簡單的  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教[未登錄]
            2010-05-12 17:55 | OnTheWay
            @vane
            我不太明白您說的二分法是什么意思,能不能舉個例子?
            另外你再仔細多看幾遍我說的方法的話,可能會看懂。  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教[未登錄]
            2010-05-12 20:25 | OnTheWay
            @vane
            以下代碼是根據我的方法寫出來的:
            unsigned int Drink(unsigned int nBottleNum)
            {
            unsigned int nTotal = 0;

            unsigned int nBitNum = 1;
            for(double i = 1 ; i < sizeof(nBottleNum) * 8.0 ; i++)
            {
            if(pow(2.0, i) > nBottleNum)
            {
            nBitNum = static_cast<int>(i);
            break;
            }
            }

            for (unsigned int i = 1 ; i <= nBottleNum ; i++)
            {
            unsigned int nMask = 1;
            cout<<"第"<<i<<"瓶水被以下老鼠喝了"<<flush;
            for (unsigned int j = 1 ; j <= nBitNum ; j++)
            {
            if (0 != (nMask & i))
            {
            nTotal++;
            cout<<j<<" ";
            }

            nMask <<= 1;
            }
            cout<<endl;
            }

            return nTotal;
            }

            我比較愚鈍,經過3個多小時的思考后我明白了2分法,謝謝你讓我又明白了一種方法  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-26 12:00 | luoqi
            @OnTheWay

            3題,要點,因為只有一瓶有毒!!!!!!!!!!  回復  更多評論
              
            # re: 幾道面試題,有的做出來了,有的不會做,請大家指教
            2010-05-26 12:04 | luoqi
            題5

            ipv4是一個unsigned long

            教育網,b0~bn
            unsigned long user_ip;
            if(user_ip <b0 || usre_ip > bn)
            不是教育網
            //注意多個網段,要多次比較  回復  更多評論
              

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            友情連接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            欧美一区二区三区久久综| 超级97碰碰碰碰久久久久最新| 蜜臀久久99精品久久久久久小说| 久久婷婷五月综合成人D啪 | 精品久久久久久亚洲精品| 婷婷综合久久中文字幕蜜桃三电影| 91久久精品91久久性色| 欧美日韩中文字幕久久伊人| 午夜精品久久影院蜜桃| 韩国免费A级毛片久久| 久久久久国产精品三级网| 中文字幕无码精品亚洲资源网久久| 国产精品9999久久久久| 亚洲国产成人精品无码久久久久久综合| 97精品依人久久久大香线蕉97| 韩国三级大全久久网站| 久久精品免费全国观看国产| 久久久九九有精品国产| 五月丁香综合激情六月久久| 久久久久久av无码免费看大片| 国产∨亚洲V天堂无码久久久 | 99久久国产亚洲综合精品| 国产精品9999久久久久| 伊人 久久 精品| 99精品久久久久久久婷婷| 久久久久亚洲av无码专区| 久久久久久久久久免免费精品| 久久99精品国产自在现线小黄鸭| 一级做a爰片久久毛片看看| A级毛片无码久久精品免费| 久久国产精品成人免费| 久久精品国产亚洲AV无码偷窥| 久久久黄色大片| 久久综合久久综合亚洲| 久久精品无码一区二区三区日韩| 国内精品久久久久影院免费| 亚洲成色www久久网站夜月| 国内精品综合久久久40p| 久久精品无码一区二区WWW | 伊人久久大香线焦AV综合影院| 久久久久无码专区亚洲av|