對在牛客網上作的選擇改錯:
1.二叉樹的遍歷只是爲了在應用中找到一種線性次序。(對)
解析:遍歷二叉樹,就是按必定的規則和順序走遍二叉樹的全部結點,使每個結點都被訪問一次,並且只被訪問一次。由於二叉樹是非線性結構,所以,樹的遍歷實質上是將二叉樹的各個結點轉換成爲一個線性序列來表示。
2.採用開放定址法(hash值衝突以後的處理)解決衝突的哈希查找中,發生集聚的緣由主要是(解決衝突的算法很差)
3.最小堆[0,3,2,5,7,4,6,8],在刪除堆頂元素0以後,其結果是(2,3,4,5,7,8,6);
解析:刪除堆頂元素0以後,會將最後一個元素即8移至堆頂,而後向下調整,直到符合小頂堆,獲得的序列即爲2,3,4,5,7,8,6。
4.n個結點的線索二叉樹上含有的線索數爲n+1。
解析:葉子結點有2個線索數,度爲1的結點有1個線索數,又由於n0=n2+1,則n0+n1=n1+n2+n0+1=n+1。
5.二叉樹的節點的對稱序列是ABCDEFG,後序序列是BDCAFGE,則該二叉樹的前序序列是(EACBDGF)
解析:此題由於不知道對稱序列就是中序序列而寫錯。
6.設順序線性表的長度爲30,分紅5塊,每塊6個元素,若是採用分塊查找 而且索引表和塊內均採用順序查找 ,則其平均查找長度爲 (6.5) 。
解析:
分塊查找步驟:(每塊內部能夠無序,可是塊和塊之間有序)
1)將待查找key與索引表對比,找出key在哪一塊,順序查找的話平均查找長度爲(1+2+3)/3=2
2)若是key在第二塊,那麼在第二塊用順序查找平均長度爲(1+2+3+4)/4=2.5
本題的話就是:索引表查找長度+分塊查找長度 即:(1+2+3+4+5)/5=3 (1+2+3+4+5+6)/6=3.5 加起來就是6.5
7.有關希爾排序算法敘述正確的是( 最後一次的步長增量必定爲1(最後一次必定是相鄰的元素之間就行插入排序,即整個數組進行插入排序))
、分割後子序列內部的排序算法是直接插入排序 )算法