1. 程式人生 > >《演算法導論》第四章-第4節_練習(參考答案)

《演算法導論》第四章-第4節_練習(參考答案)

演算法導論(第三版)參考答案:練習4.4-1,練習4.4-2,練習4.4-3,練習4.4-4,練習4.4-5,練習4.4-6,練習4.4-7,練習4.4-8,練習4.4-9

Exercise 4.4-1

Use a reccursion tree to determine a good asymptotic upper bound on the recurrence T(n)=3T(n/2)+n. Use the substitution method to verify your answer.

假設 n 是2的冪(忍受不精確),則遞迴樹為

01

注:請看更正版,一個更好的漸進緊確界。

樹高 lgn,葉節點數量為 3lgn=nlg3,整棵樹的代價:

T(n)=n+(32)n+(32)2n++(32)lgn1n+Θ(nlg3)=i=0lgn1(32)in+Θ(nlg3)=n(3/2)lgn1(3/2)1+Θ(nlg3)<n(3/2+1/2)lgn1(3/2)1+Θ(nlg3)<nn1(3/2)1+Θ(nlg3)=O(n2)
代入法證明 T(n)cn2+2n :
T(n)3c(n/2)2+2n/2+n=34cn2+2ncn2+2n
O(n2)T(n) 的一個漸進上界。

更正:

T(n)=n+(32)n+(32)2n++(32)lgn
1
n+Θ(nlg3)
=i=0lgn1(32)in+Θ(nlg3)=n(3/2)lgn1(3/2)1+Θ(nlg3)=2n(3lgnn1)+

相關推薦

演算法導論-4_練習參考答案

演算法導論(第三版)參考答案:練習4.4-1,練習4.4-2,練習4.4-3,練習4.4-4,練習4.4-5,練習4.4-6,練習4.4-7,練習4.4-8,練習4.4-9 Exercise 4.4-1 Use a reccursion tree

演算法導論-2_練習參考答案

演算法導論(第三版)參考答案:練習3.2-1,練習3.2-2,練習3.2-3,練習3.2-4,練習3.2-5,練習3.2-6,練習3.2-7,練習3.2-8 Exercise 3.2-1 Show that if f(n) and g(n) are m

演算法導論 :遞迴式 筆記代換法、遞迴樹方法、主方法、主定理的證明

三種解遞迴式的方法:代換法、遞迴樹方法、主方法。 代換法: 用代換法解遞迴式需要兩個步驟: 猜測解的形式; 用數學歸納法找出使解真正有效的常數。 如: T(n) = 2T(n/2) + n,這個是合併排序的執行時間的遞迴表示式。歸併排序法的執行時間是O(nlgn),那麼我

演算法競賽入門經典習題4-4 Cube painting UVA

#include<iostream> #include<string> #include<cstring> #pragma warning(disable:499

作業4

.com har 太陽 char doctype 分享 ges images nth <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>愛奇藝

Controller介面控制器詳解4

4.15、MultiActionController 之前學過的控制器如AbstractCommandController、SimpleFormController等一般對應一個功能處理方法(如新增),如果我要實現比如最簡單的使用者增刪改查(CRUD Create-Read-Update-Del

環境搭建和24個命令總結

gpl和gun 基本命令 cpGUN 和 GPL GUN‘s not Unix 遞歸寫法,簡寫也是GUN1. GUN 是84年自由軟件資金會牽頭弄的一個類unix操作系統,但是因為它不實用,而且總是跳票,所以並沒有流行起來。2. 但是它裏面的很多軟件是很好的,比如bash,這些都被用在了linux系統

構建之法十七

height 多文檔 缺失 後來 更強 最大的 fun 影響 手機 一、關於goto函數:濫用goto語句會使程序變得很難理解,而不是所有人能正確的使用goto函數,我的問題是:是不是因為這樣所以很多文檔規定禁用或少用goto函數?但其實如果可以正確的使用goto語句就不能

讀構建之法十七有感

限制 選擇 class blog 了解 什麽 靈活 多重循環 價值 第四章  1、原文;“函數最好有單一的出口,為了達到這個目的,可以使用goto.只要有助於程序邏輯的清晰體現,什麽方法都可以使用。——P69”    問題:關於goto,我記得老師講過,這個在編程中是盡力避

Python之旅..模塊與包.總結未完待遇

standard 後綴 att 擔心 lse 綁定 做的 業務 搜索 一、模塊 模塊: 一系列功能的集合體,在python中一個py文件就是一個模塊,模塊名就是py文件的文件名; 模塊的好處: 1.減少重復的代碼 2.拿來主義 定義模塊: 就是創建一個py文件;

《Spring Security3》三部分翻譯下密碼加salt

文件 auth ans 大小 ack 工程師 新的 bool get 你是否願意在密碼上添加點salt? 如果安全審計人員檢查數據庫中編碼過的密碼,在網站安全方面,他可能還會找到一些令其感到擔心的地方。讓我們查看一下存儲的admin和guest用戶的用戶名和密碼值

c++ primer plus六版 重點內容總結 以及手碼練習題答案

1.陣列 可儲存多個同類型的的值。宣告時候 型別 陣列名【元素個數】。其中元素個數必須是整型常數或者const值,常量表達式。c++陣列都是從0開始編號。最後一個元素的索引比陣列長度小一。貌似編譯器不會檢查使用的下表是否有效。sizeof用於陣列名時得到整個陣列中的位元組數

演算法競賽入門經典(第二版)-劉汝佳- 陣列與字串 例題+習題17/18

說明 本文是我對第三章題目的練習總結,建議配合紫書——《演算法競賽入門經典(第2版)》閱讀本文。 另外為了方便做題,我在VOJ上開了一個contest,歡迎一起在上面做:第三章contest 如果想直接看某道題,請點開目錄後點開相應的題目!!! 例題

Controller介面控制器詳解6

4.16.2、資料驗證 1、資料繫結失敗:比如需要數字卻輸入了字母; 2、資料不合法:可以認為是業務錯誤,通過自定義驗證器驗證,如使用者名稱長度必須在5-20之間,我們卻輸入了100個字元等; 3、錯誤物件:當我們資料繫結失敗或驗證失敗後,錯誤資訊存放的物件,我們叫錯誤物件,在S

Controller介面控制器詳解5

4.16、資料型別轉換和資料驗證 流程: 1、首先建立資料繫結器,在此此會建立ServletRequestDataBinder類的物件,並設定messageCodesResolver(錯誤碼解析器); 2、提供第一個擴充套件點,初始化資料繫結器,在此處我們可以覆蓋該方法註

Controller介面控制器詳解3

4.11、AbstractWizardFormController 嚮導控制器類提供了多步驟(嚮導)表單的支援(如完善個人資料時分步驟填寫基本資訊、工作資訊、學校資訊等) 假設現在做一個完善個人資訊的功能,分三個頁面展示: 1、頁面1完善基本資訊; 2、頁面2完善學校資訊;

Controller介面控制器詳解2

4.5、ServletForwardingController 將接收到的請求轉發到一個命名的servlet,具體示例如下:   java程式碼: Java程式碼  

springboot + mybatis + 多數據源 AOP實現

app aps 基礎上 default round mapper lan efault epo 在第八章 springboot + mybatis + 多數據源代碼的基礎上,做兩點修改 1、ShopDao package com.xxx.firstboot.da

【練習題】--案例學習:單詞遊戲Think Python

在此強調一點: for i in range(1,5):     print(i) answer: 1 2 3 4 for i in range(5):     print(i) answer: 0 1 2 3 4

【練習題】--有返回值的函式Think Python

增量式開發(incremental development): 這個過程的核心如下: 一定要用一個能工作的程式來開始,每次逐漸新增一些細小增補。在任何時候遇到錯誤,都應該弄明白錯誤的位置。 用一些變數來儲存中間值,這樣你可以顯示一下這些值,來檢查一下。 程式一旦能