a) 當用TREE-INSERT將n個具備相同關鍵字的數據項插入到一棵初始爲空的二叉查找樹中時,該算法的漸進性能如何?算法
差很少O(n^2)數據結構
b) 在結點x處設一個布爾標誌b[x],並根據b[x]的不一樣值,置x爲left[x]或right[x]。每當插入一個與x具備相同關鍵字的結點時,b[x]取反!函數
O(nlogn)性能
c) 在結點x處設置一個列表,其中全部結點都具備與x相同的關鍵字,並將z插入到該列表中。ci
O(n^2)字符串
d) 隨機地將x置爲left[x]或right[x]。it
最壞O(n^2),平均O(nlogn)。二叉樹
基數樹,或稱Patricia trie/tree,或 crit bit tree,是一種基於trie(字典樹)的特殊的數據結構。通常用來儲存字符串集。
遍歷
將01串按性質插入基數數中,對樹進行遍歷,獲得的串即爲按字典序排列的。im
證實在一棵隨機構造的二叉查找樹中,n個節點的平均深度爲O(lgn)。
設bn表示包含n個結點的不一樣的二叉樹的數目。在本問題裏,要給出關於bn的公式和一個漸進估計。
a) 證實:b0=1,且對n>=1,有:
當n==1時,b1=b0*b0=1。包含1個結點的不一樣二叉樹的數目爲1。
假設當n==i-1時,成立。
當n==i時,除去根節點,共有i-1個結點要分配到左右兩個子樹中,假設左子樹擁有結點k,則右子樹擁有結點i-1-k個,則有方案bk*b(i-1-k)種。
所以bi=∑bk*b(i-1-k),假設成立。
所以bn=∑bk*b(n-1-k)。
b) 設B(x)爲生成函數
證實B(x)=xB(x)^2+1,於是表達式B(x)的一種方式是
在點x=a處f(x)的泰勒展式爲
其中f(k)(x)是在點x處f的k階導數。
c) 經過在x=0處使用sqrt(1-4x)的泰勒展式,證實
d) 證實: