原创 算法導論(第三版)第二章2.3-5 回顧查找問題(參見聯繫2.1-3)...

題幹: 回顧查找問題(參見聯繫2.1-3),注意到如果序列A已排好序,就可以將該序列的中點與v進行比較. 根據比較的結果,原序列中就有一半可以不用再做進一步的考慮了. 二分查找算法會重複這個過程,每次都將序列剩餘的部分規模減半 爲二分查找

原创 算法導論(第三版)第二章2.3-3 使用數學歸納法證明...

題幹: 使用數學歸納法證明: 當n剛好是2的冪時,以下遞歸式的解是T(n)=nlgn. 遞歸式的內容: T(n) = 2 (若n = 2) T(n) = 2T(n/2)+n (若n = 2^k, k > 1)   計算步驟: 1. 先計算

原创 算法導論(第三版)第二章思考題2-2 (冒泡排序的正確性) 冒泡排序是一種流行但低效的排序算法...

(冒泡排序的正確性) 冒泡排序是一種流行但低效的排序算法,它的作用是反覆交換相鄰的未按次序的排列的元素. BUBBLESORT(A)     1 for i = 1 to A.length - 1     2     for j = A.

原创 SQL連表查詢-取合集的完整內容查詢-full join 和 max/min語句同時使用

現在有這兩張表: 前一天賬戶資金錶 table_name: first balance_id amount_first 1 100 2 50 3 200 後一天賬戶資金錶 table_name: second balance_id amo

原创 算法導論(第三版)第一章練習思考題1-1答案 運行時間比較 假設求解的算法需要f(n)毫秒...

假設求解問題的算法需要f(n)毫秒,對下表中的每個函數f(n)和時間t,確定可以在時間t內求解的問題的最大規模n。   1秒 1分鐘 1小時 1天 1個月 1年 1個世紀 lgn               Sqrt(n)        

原创 bootstrap - selectpicker 中文搜索部分中文時 輸入法直接輸入英文 不支持完整中文字符輸入的bug

bug情況爲:  當我們使用bootstrap-select的動態搜索下拉框時,例如在搜索框輸入da,中文輸入法應該是出現: 1.打 2.大 3.達 ... 這樣的內容。 但實際情況是,搜索框直接鍵入了d,然後中文搜索爲a,輸入法輸出:

原创 算法導論(第三版)第二章思考題2-1 (在歸併排序中對最小數組採用插入排序) 雖然歸併排序的最壞情況運行時間爲...

2-1(在歸併排序中對最小數組採用插入排序) 雖然歸併排序的最壞情況運行時間爲θ(nlgn),而插入排序的最壞情況運行時間爲θ(n2n2),但是插入排序中的常量因子可能使得它在n較小時,在許多機器上實際運行得更快。因此,在歸併排序中當子問

原创 算法導論(第三章)思考題2-4 假設A[1..n]是一個有n個不同數的數組.

題幹如下: 假設A[1..n]是一個有n個不同數的數組.若i<j且A[i]>A[j],則對偶(i,j)稱爲A的一個逆序對(inversion). a. 列出數組<2,3,8,6,1>的5個逆序對. b. 由集合{1,2,...,n}中的元

原创 算法導論(第三版)第二章練習思考題2-3 (霍納(Horner)規則的正確性) 給定係數a0,a1,...,an 和 x的值...

題幹:  (霍納(Horner)規則的正確性) 給定係數a0,a1,...,an 和 x的值,代碼片段 1 y = 0 2 for i = n downto 0 3  y = ai + x*y 實現了用於求值多項式          的霍

原创 正則匹配提取多個重複的html標籤內容

遇到這樣的場景: 有一個html標籤如下: $str = 'sddf<br>aaa</br>hbaskdf<br>vvv</br>asgd<br>ccc</br>hrgew4r4'; 我需要提取標籤中<br></br>中間的內容 即aa

原创 算法導論(第三版)第二章2.3-7 描述一個運行時間爲θ(nlgn)的算法......

算法導論(第三版)第二章2.3-7 題幹: 描述一個運行時間爲θ(nlgn)的算法 給定n個整數的集合S和另一個整數X,該算法能確定S中是否存在兩個其和剛好爲x的元素. // 設置兩種下標 // 第一個下標的取值 從數組的第一個 到

原创 算法導論(第三版)第二章練習題2.2-1 考慮排序存儲在數組A中的n個數...

題幹如下: 考慮排序存儲在數組A中的n個數: 首先找出A中最小元素 並將其與A[1]中元素進行交換. 接着,找出A中次小元素並驚奇與A[2]中元素進行交換.對A中前n-1個元素按該方式繼續. 該算法稱爲選擇算法,寫出其僞代碼 該算法維持的

原创 算法導論(第三版)第二章2.3-6 注意到2.1節中的過程insertion-sort的第5~7行...

注意到2.1節中的過程insertion-sort的第5~7行的while循環採用一種線性查找來(反向)掃描已排好序的子數組A[1...j-1]. 我們可以使用二分查找(參見練習2.3-5)來把插入排序的最壞情況總運行時間改進到θ(nlg

原创 算法導論(第三版)第二章練習題2.3-2 重寫MERGE,使之不使用哨兵...-php

題幹: 2.3-2 重寫過程MERGE,使之不使用哨兵,而是一旦數組L或R所有元素均被複制回A就立刻停止,然後把拎一個數組的剩餘部分複製回A. function mergeAction() { $L = [1, 3, 5, 6]

原创 算法導論(第三版)第二章練習題2.1-4考慮把兩個n位二進制整數加起來的問題-php版代碼

function addAction() { // 第一個二進制數 $binary_a = [1, 0, 1, 1, 1, 1, 0]; // 第二個二進制數 $binary_b = [1, 0, 1,