算法第2章上級實踐報告
實踐題目:7-1二分查找(20分)
問題描述:輸入n值(1<=n<=1000)、n個非降序排列的整數以及要查找的數x,使用二分查找算法查找x,輸出x所在的下標(0~n-1)及比較次數。若x不存在,輸出-1和比較次數
算法描述:求取序列的中位數,比較查找數x與中位數的大小,中位數比查找數x大,截取中位數左則序列作為新的序列,中位數比查找數x小,截取中位數右則序列作為新的序列;重復以上操作,直到找到x。
算法時間及空間復雜度分析:
時間復雜度:O(log2n),n個元素每次分為一半,如n,n/2,n/4,....n/2^k,其中k就是循環的次數n/2^k取整後>=1,即令n/2^k=1,可得k=log2n,(是以2為底,n的對數),所以時間復雜度可以表示O(h)=O(log2n);
空間復雜度為數組空間大小,是一個常數,與變量n的取值無關。所以空間復雜度為O(1)。
心得體會:在做題的時候,算法是沒有問題的,主要是因為函數沒有返回值,陷入了死循環,這次做題讓我知道了返回值的的主要性。
算法第2章上級實踐報告
相關推薦
算法第2章上級實踐報告
截取 返回值 操作 心得體會 復雜度分析 讓我 排列 輸出 元素 實踐題目:7-1二分查找(20分) 問題描述:輸入n值(1<=n<=1000)、n個非降序排列的整數以及要查找的數x,使用二分查找算法查找x,輸出x所在的下標(0~n-1)及比較次數。若x不存在,
算法第三章上級實踐報告
() \n 縮小 其它 二維 發現 strlen 小問題 iostream 1. 實踐題目: 編輯距離問題 2. 問題描述 給出兩個字符串A和B,要用最少的字符操作將字符串A轉換為字符串B。字符操作包括: (1)刪除一個字符; (2)插入一個字符; (3)將一
算法第3章上機實踐報告
title 一個 子結構 就是 div 最優 時間復雜度 時間 路徑 1.實踐題目 7-1 數字三角形 2.問題描述 給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法, 計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑
[作業系列]算法第3章上機實踐報告
cpp 復雜 clas style 心得 轉換 ng- ++ -s 1.實踐題目 7-3編輯距離問題 2.問題描述 設A和B是2個字符串。要用最少的字符操作將字符串A轉換為字符串B。這裏所說的字符操作包括 (1)刪除一個字符; (2)插入一個字符; (3)將一個字符改
算法第三章上機實踐報告
隊友 ace i++ pac 要求 全部 表示 報告 實踐 1、實踐題目: 最大子段和 2,問題描述: 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均為負數時,
算法第5章上機實踐報告
nbsp 最優 .com 開始 不同 ·· 心得體會 color include 一、實踐題目 7-2 工作分配問題 (20 分) 二、問題描述 設有n件工作分配給n個人。將工作i分配給第j個人所需的費用為cij 。 設計一個算法,對於給定的工作費用,為每一個人都分配1 件
算法第3 章上機實踐
動態規劃 img clu problem 導致 bsp listitem ace 分析 1.實踐題目: 7-1 數字三角形 (30 分) 給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向
算法第三章上機實驗報告
str style 二維數組 -a class 遇到 esp 基本 user 1.實踐題目:7-1 數字三角形 (30 分) 2.問題描述: 給定一個由 n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向
算法第5章上機實踐
一個 ima 數組 代碼 每一個 不能 超時 分享圖片 完成 1.實踐題目 :工作分配問題 2.問題描述 設有n件工作分配給n個人。將工作i分配給第j個人所需的費用為cij 。 設計一個算法,對於給定的工作費用,為每一個人都分配1 件不同的工作,並使總費用達到最小。 3.算
算法第五章上機實踐
問題 空間 完全 回溯 分配 標記 停止 網絡 了解 實踐題目 工作分配問題 問題描述 有n個人、n個工作,每個人只能做一個工作,每人對應每個工作有一個消費,求完成所有工作的最小消費 算法描述 這裏采用回溯法,按順序給每個人分配工作,如果一件工作已經被分配,打上標記防止被重
【實踐報告】算法第三章實踐報告
sin code 收獲 一行 ret 個數 第三章 動態規劃 一個 1.實踐題目 7-2最大子段和 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均為負數
算法第三章實踐報告
修改 報告 strlen 字符串 復雜度 操作數 數組下標 後來 刪除 算法第三章 實踐報告 1.實踐題目 7-3 編輯距離問題 (30 分) 設A和B是2個字符串。要用最少的字符操作將字符串A轉換為字符串B。這裏所說的字符操作包括 (1)刪除一個字符; (2)插入一個字符
算法第4章實踐報告
ret 第一個 ng- 要求 min include spa view 時間復雜度 1、實踐題目 7-3 程序存儲問題 (90 分) 2、問題描述 設有n 個程序{1,2,…, n }要存放在長度為L的磁帶上。程序i存放在磁帶上的長度是 li,1≤i≤n。 程序存儲問題要求
算法第四章實踐報告
頭文件 code 維數 計數器 程序存儲問題 end 實踐 return ios 一 . 實踐題目 7-3 程序存儲問題 二 . 問題描述 設有n 個程序{1,2,…, n }要存放在長度為L的磁帶上。程序i存放在磁帶上的長度是 li,1≤i≤n。 程序存儲問題要求確定這n
算法 第五章實踐報告
不同的 遍歷 大於 思考 方法 就是 分享 mage bubuko 1.實踐題目 工作分配問題 2.問題描述 設有n件工作分配給n個人。將工作i分配給第j個人所需的費用為cij 。 設計一個算法,對於給定的工作費用,為每一個人都分配1 件不同的工作,並使總費用達到最小 3.
算法第三章實踐
時間復雜度 規劃 比較 兩種 存儲 思考 代碼 功能 兩個 1、 實踐題目:最大子段和 2、 問題描述:給定n個整數(可能為負數)組成的序列a[1]a[2]……a[n],求該序列如a[i]+a[i+1]……a[j]的子段和最大值。當所給的整數均為負數
算法 第四章實踐
span 長度 能夠 要求 一維數組 貪心算法 class 維數 問題 1.實踐題目 程序存儲問題 2.問題描述 設有n 個程序{1,2,…, n }要存放在長度為L的磁帶上。程序i存放在磁帶上的長度是 li,1≤i≤n。 程序存儲問題要求確定這n 個程序在磁帶上的一個存儲
ACM山東工商 數據結構與算法 第3章 雙向棧的操作
print top lse == clu define include 算法 printf #include <stdio.h>#include <stdlib.h> #define SIZE 20//1左 偶 typedef struct ho
【算法】第二章上機實驗報告
也會 left 級別 family 基本 問題 str 排列 但是 實踐題目; 二分查找。 問題描述:輸入n值(1<=n<=1000)、n個非降序排列的整數以及要查找的數x,使用二分查找算法查找x,輸出x所在的下標(0~n-1)及比較次數。若x不存在,輸出-1和
[作業系列]算法第3章作業
strong 一位 理解 動態 最小 一個 問題 ron [1] 1. 對動態規劃理解: 類似寫出遞推式和初始狀態讓電腦幫你算每一項,把一個大問題轉化為一系列的階段問題,利用各階段之間的關系,求出最終的結果。 2.第一題和第二題的遞歸方程式 第一題:設dp[i]