久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1486|回復: 0
打印 上一主題 下一主題
收起左側

算法的基本概念

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發表于 2016-3-5 18:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基本概念
1、算法:規則的有序有限集合; 規則是有確切含義而無二義性.
2、算法的基本特征:
   可終止性;算法必須在有限時間內終止;
   正確性;算法必須正確描述問題的求解過程;
   可行性:算法必須是可實施的;
   算法可以有0個或0個以上的輸入;
   算法必須有1個或1個以上的輸出
算法的描述
規則采用自然語言或算法流程控制采用結構化程序的基本控制結構(順序、 選擇 、重復)描述.形式語言描述;
算法與程序的關系
1.程序可以不一定滿足可終止性。但算法必須在有限時間內結束;
2.程序可以沒有輸出,而算法則必須有輸出;
3.算法是面向問題求解的過程描述,程序則是算法的實現.
復雜度
算法復雜度:評價算法優劣的唯一標準。由時間復雜度和空間復雜度構成.
  時間復雜度:算法執行所花費的時間;
  空間復雜度:算法執行所占用的內存.
設n為問題的大小(即問題所處理元素的 個數),則時間復雜度函數記為T(n),空間復雜讀S(n)。
復雜度分析
事前分析是算法分析的重要步驟,是在算法實現之前進行時間和空間復雜度分析。
時間復雜度分析:就是對已設計好的算法進行有效的時間。
采用的基本方法是按照算法的控制結構進行分析,首先確定問題求解的基本操作,然后按照三種控制結構分別進行基本操作數與問題處理量的關系,確定出問題的時間復雜度函數。
時間復雜度分析
時間復雜度分為最壞情況的復雜度和平均情況的復雜度。
在這里對時間復雜度分析我們只進行最壞情況的復雜度分析,基本方法如下所述:
每條規則的時間復雜度直接確定
順序結構:采用加法法則;重復結構:采用乘法法則;分支結構:采用取最大值法則。
最壞情況和平均情況分析
最壞情況分析:在時間復雜度分析中,最壞情況是指在所有大小為n的輸入中,選擇代價最大的狀態進行分析而獲得的時間復雜度;
平均情況分析:平均情況分析是指在所有大小為n的輸入中,首先確定每個輸入出現的概率,針對每個輸入及其出現的概率的進行分析而獲得的時間復雜度.
基本運算
定義:如果算法中的一個元運算具有最高頻度,所有其它元運算頻度均在它的頻度的常數倍數之內,則稱這個元運算為基本運算。
在分析搜索和排序算法時,若元素比較為元運算,則為基本運算。
時間復雜度描述
時間復雜度采用量級關系描述。
設時間復雜度函數為T(n),    則將T(n)描述為T(n) =O(f(n)),其含義為當n趨于無窮大時,T(n)和f(n)的比為一個不等于0的常數。
一般情況下f(n)為一個簡單函數,通常有以下形式:C,n,long(n),n!,n的冪等等一些描述簡單的函數.
遞歸方程求解的方法
展開遞推式;
代入法;利用已知方程的解代入;
利用生成函數求解;生成函數是組合數學的一種方法;
歸納法在算法復雜度分析中是一種常用的求解方法,根據算法的流程,可構造復雜度函數。
分治方法的基本思想
當被求解的問題規模n較大,不能直接求解時,可以將該問題分成若干個規模較小的子問題;
若子問題仍不能求解,則繼續進行劃分,直到子問題可直接求解;
最后由子問題的解歸并出原問題的解。
分治方法的基本模式
Divde   & conquer(n)
      {if   (n<=n0)    qwt(n);
            else {Divide   n   into subinstances n1,n2,…,nm;
                   for ( i=1,i<=m,i++)
                         yi=Divde   & conquer(ni);}
                    return merge(y1,y2,…,ym);}
動態規劃
動態規劃和分治法相似,也是把待求解問題劃分成若干個子問題,先求解子問題,然后,從這些子問題的解得到原問題的解.所不同的是動態規劃所分解的子問題不是獨立的.
動態規劃通常用于求解最優性質的問題
最佳原理:不論以前狀態如何,當前狀態的值取決于它的所有直接前驅的狀態;
最優化原理:給出一個最優的決策序列,每一個子序列自身必須上最優的決策序列
基本思想
動態規劃采用最佳原理,對問題從初始狀態逐步求解,找出最優解.描述如下:
1)找出最優解的性質,并描述其結構;
2)遞歸地定義最優值;
3自底向上計算最優值,記錄相關信息,最終構造最優最優解;
4)根據記錄信息,最終構造最優最優解;
最優策略
動態規劃可以找出問題的最幼解,但是獲取最佳解的計算過程復雜且計算量很大,幾乎是列出所有解,才能找出最佳解。
對于任意問題,通常會存在一類約束條件和一些輸入,任何滿足這些約束條件的子集可以稱為問題的一個可能解。最佳解則是滿足目標函數達到最大值或最小值的一個可能解。
基本思想
最優策略也是一個多步決策方法.每一步的選擇都使得能構成問題的一個可能解,同時使目標函數值的增速加快(目標函數最大)或減小(目標函數最小),這種選擇過程以一些最優化度量為根據.
最優化度量的選擇方法也稱為貪心法.
回溯法
一般方法:回溯法的基本策略是搜索(按深度優先進行).
回溯法將問題的解表示成一個n元式(x1,x2,…,xn),其中每個xi取自某一初值集合si,稱(x1,x2,…,xn)為問題的解向量.
回溯法求解問題的過程需要滿足某種條件(稱為約束條件)或者使問題的解滿足判定函數B(x1,x2,…,xn)極大化(或極小化),希望求出約束條件或者判定函數某個解向量或所有解向量.
解空間:包含問題所有解的一棵樹稱為解的狀態空間樹;
從根結點出發搜索解的狀態空間樹,對于每一個結點,判定該結點是否滿足約束條件和判定函數,若滿足,則進入一個孩子樹繼續搜索,否則返回其雙親結點,進入其另一個孩子樹進行搜索,直到求出問題所要求的解.
算法描述
1)對于n元式(x1,x2,…,xn),定義每一個分量的取值范圍;
2)定義約束條件P(X)和判定函數B(X);
3)設i=1;
4)對第i個元素賦一個可能值;使X =( x1,x2,…,x i);若所有可能值已經全部使用,則 i --; 重復4;
5)當P(X)和B(X)為真時. i ++;進入6,否則i --: 返回4:
6)由X =(x i)構造x i +1:返回5:
7)直到求出一個(或所有)滿足約束條件P(X)和判定函數B(X)的解。
遞歸算法
Backseach(i)
    {if   (i>n) output(X);
           else {X=(xi);
                       while B(X)&&P(X)
                     i++;Backseach(i)}
分支限界
對于回溯法而言,是要對解的狀態空間樹的所有分支進行搜索,這樣時間復雜度是一個與樹上的結點總數和樹的深度的乘積。
分支限界的目的是通過一個限界函數選取合適的活結點,進行搜索,以加快速度,提高算法的效率。
基本思想
定義一個限界函數
1、從初始結點開始,先計算該結點的限界值;
2、以該結點為當前活結點,生成它的所有可能的后繼結點,計算各結點的限界值,按某個(升/降)序列進入活結點隊列;
3、取活結點隊列隊頭元素為當前活結點,返回2;
4、直到隊空(找出問題的一個解或無解).

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩视频 | 看片91 | 91在线资源| 欧洲免费视频 | 欧洲精品视频一区 | 国产色网站 | 午夜在线 | 国产精品伦一区二区三级视频 | 国产欧美在线一区二区 | 日本午夜精品一区二区三区 | 久久99精品国产自在现线小黄鸭 | 亚洲精品二区 | 你懂的在线视频播放 | 不卡av电影在线播放 | 国产黄a一级 | 国产精品欧美一区二区 | 黄a免费网络 | 自拍视频精品 | 日韩在线播放一区 | 国产乱码精品一区二区三区中文 | 欧美国产一区二区三区 | 成人欧美一区二区三区在线播放 | 亚洲精品乱码久久久久久9色 | 一区| 欧洲色综合 | 日本视频中文字幕 | 久久91精品国产一区二区三区 | 色爱区综合 | 亚洲精品乱码久久久久久按摩观 | 羞羞视频网站 | 亚洲成人精品 | 精品久久久久久久久久 | 操操日| 国产一区二区三区四区五区加勒比 | 国产在线视频一区二区 | 欧美亚州| 国产精品夜色一区二区三区 | 日本精品视频一区二区三区四区 | 日日操夜夜操天天操 | 情侣黄网站免费看 | 91精品国模一区二区三区 |