《算法導論》筆記 第12章 總結與思考

【思考】


12-1 具備相同關鍵字的二叉查找樹


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)。二叉樹


12-2 基數樹

基數樹,或稱Patricia trie/tree,或 crit bit tree,是一種基於trie(字典樹)的特殊的數據結構。通常用來儲存字符串集。
遍歷

將01串按性質插入基數數中,對樹進行遍歷,獲得的串即爲按字典序排列的。im


12-3 隨機構造的二叉查找樹中的平均節點深度

證實在一棵隨機構造的二叉查找樹中,n個節點的平均深度爲O(lgn)。


12-4 不一樣的二叉樹數目


設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) 證實:

相關文章
相關標籤/搜索