A. 請問,演算法研究類的軟體著作權說明書該怎麼寫應該寫些什麼東西
1,先介紹軟體的優越性,
2,介紹軟體有什麼功能,這樣大家才能認識到軟體的優越性。
3,與什麼對比,速度怎麼樣等
B. 舉例說明何謂演算法,特點是什麼評價一個演算法的優劣,主要從哪些因素分析
評價演算法優劣的四個分析因素:
1.正確性
能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。
2.易讀性
易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。
3.健壯性
輸入非法數據,演算法也能適當地做出反應後進行處理,不會產生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。
4.時空性
演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。
演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。
(2)怎麼寫演算法說明擴展閱讀:
演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。此外,一個演算法還具有下列5個重要的特性。
(1)、有窮性
一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。
(2)、確定性
演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。
(3)、可行性
一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。
(4)、輸入
一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。
(5)、輸出
一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。
C. FP增長演算法的演算法說明
首先介紹FP增長演算法中的幾個概念
a.FP-Tree:將事務數據表中的各個事務數據項按照支持度排序後,把每個事務中的數據項按降序依次插入到一棵以NULL為根結點的樹中,同時在每個結點處記錄該結點出現的支持度。
b.條件模式基:包含FP-Tree中與後綴模式一起出現的前綴路徑的集合
c.條件樹:將條件模式基按照FP-Tree的構造原則形成的一個新的FP-Tree
步驟:
挖掘頻繁模式前首先要構造FP-Tree,
輸入:一個事物資料庫D和一個最小支持度threshold.
輸出:對應的FP-tree.
演算法流程
1.掃描資料庫T一遍.得到頻繁項的集合F和每個頻繁項的支持度.把F按支持度遞降排序,結果記為L.
2.創建FP-tree的根節點,記為T,並且標記為null.然後對D中的每個事務t,
根據L中的順序,選出並排序t中的事務項.把t中排好序的事務項列表記為[p|P],其中p是第一個元素,P是列表的剩餘部分.調用insert_tree([p|P],T).
函數insert_tree([p|P],T)的運行如下.
如果T有一個子結點N,其中N.item-name=p.item-name,則將N的count閾值+1;
否則,創建一個新節點N,使它的count為1,使它的父節點為T,並且使它的node_link和那些具有相同item_name域串起來.如果P非空,則遞歸調用insert_tree(P,N).
對FP-Tree進行挖掘,演算法如下:
輸入:一棵用演算法一建立的樹Tree
輸出:所有的頻繁集
步驟:
調用FP-growth(Tree,null).
procere FP-Growth ( Tree, x)
{
(1) if (Tree只包含單路徑P) then
(2) 對路徑P中節點的每個組合(記為B)
(3) 生成模式B並x,支持數=B中所有節點的最小支持度
(4) else 對Tree頭上的每個ai,do
{
(5) 生成模式B= ai 並 x,支持度=ai.support;
(6) 構造B的條件模式庫和B的條件FP樹TreeB;
(7) if TreeB != 空集
(8) then call FP-Growth ( TreeB , B )
}
}
D. 4、 說明什麼是演算法,演算法的描述方法,各種方法的特點是什麼.
第一問、答:為解決某一問題而設計的確定的有限的步驟就稱為演算法
第二問、答:自然語言、流程圖、偽代碼或程序設計語言
第三問、答:
自然語言
用自然語言表示演算法,人比較容易理解,但書寫較煩瑣,具有不確切性,容易引起歧義,造成誤解;
對較復雜的問題,用自然語言難以表達准確;
計算機不能識別和執行.
流程圖
用圖形符號表示演算法必須要有一組統一規定、含義確定的專用符號;
用流程圖表示演算法就較直觀、形象;
計算機不能識別和執行.
偽代碼或程序設計語言
只有用計算機能理解和執行的程序設計語言把演算法表示出來,輸入計算機執行,計算機才能按照預定的演算法去解決問題;
不同類型的計算機能夠識別的指令和語言不盡相同,即使對同一種計算機語言,不同類型的計算機對該語言的翻譯程序也有差異.
E. 簡單演算法的概念,並舉例說明它在程序中的作用。
1 什麼叫演算法
演算法(Algorithm)是解題的步驟,可以把演算法定義成解一確定類問題的任意一種特殊的方法。在計算機科學中,演算法要用計算機演算法語言描述,演算法代表用計算機解一類問題的精確、有效的方法。演算法+數據結構=程序,求解一個給定的可計算或可解的問題,不同的人可以編寫出不同的程序,來解決同一個問題,這里存在兩個問題:一是與計算方法密切相關的演算法問題;二是程序設計的技術問題。演算法和程序之間存在密切的關系。
演算法是一組有窮的規則,它們規定了解決某一特定類型問題的一系列運算,是對解題方案的准確與完整的描述。制定一個演算法,一般要經過設計、確認、分析、編碼、測試、調試、計時等階段。
對演算法的學習包括五個方面的內容:① 設計演算法。演算法設計工作是不可能完全自動化的,應學習了解已經被實踐證明是有用的一些基本的演算法設計方法,這些基本的設計方法不僅適用於計算機科學,而且適用於電氣工程、運籌學等領域;② 表示演算法。描述演算法的方法有多種形式,例如自然語言和演算法語言,各自有適用的環境和特點;③確認演算法。演算法確認的目的是使人們確信這一演算法能夠正確無誤地工作,即該演算法具有可計算性。正確的演算法用計算機演算法語言描述,構成計算機程序,計算機程序在計算機上運行,得到演算法運算的結果;④ 分析演算法。演算法分析是對一個演算法需要多少計算時間和存儲空間作定量的分析。分析演算法可以預測這一演算法適合在什麼樣的環境中有效地運行,對解決同一問題的不同演算法的有效性作出比較;⑤ 驗證演算法。用計算機語言描述的演算法是否可計算、有效合理,須對程序進行測試,測試程序的工作由調試和作時空分布圖組成。
2、演算法的特性
演算法的特性包括:① 確定性。演算法的每一種運算必須有確定的意義,該種運算應執行何種動作應無二義性,目的明確;② 能行性。要求演算法中有待實現的運算都是基本的,每種運算至少在原理上能由人用紙和筆在有限的時間內完成;③ 輸入。一個演算法有0個或多個輸入,在演算法運算開始之前給出演算法所需數據的初值,這些輸入取自特定的對象集合;④ 輸出。作為演算法運算的結果,一個演算法產生一個或多個輸出,輸出是同輸入有某種特定關系的量;⑤ 有窮性。一個演算法總是在執行了有窮步的運算後終止,即該演算法是可達的。
滿足前四個特性的一組規則不能稱為演算法,只能稱為計算過程,操作系統是計算過程的一個例子,操作系統用來管理計算機資源,控製作業的運行,沒有作業運行時,計算過程並不停止,而是處於等待狀態。
3、演算法的描述
演算法的描述方法可以歸納為以下幾種:
(1) 自然語言;
(2) 圖形,如N�S圖、流程圖,圖的描述與演算法語言的描述對應;
(3) 演算法語言,即計算機語言、程序設計語言、偽代碼;
(4) 形式語言,用數學的方法,可以避免自然語言的二義性。
用各種演算法描述方法所描述的同一演算法,該演算法的功用是一樣的,允許在演算法的描述和實現方法上有所不同。
人們的生產活動和日常生活離不開演算法,都在自覺不自覺地使用演算法,例如人們到商店購買物品,會首先確定購買哪些物品,准備好所需的錢,然後確定到哪些商場選購、怎樣去商場、行走的路線,若物品的質量好如何處理,對物品不滿意又怎樣處理,購買物品後做什麼等。以上購物的演算法是用自然語言描述的,也可以用其他描述方法描述該演算法。
F. 什麼叫演算法描述啊
演算法描述(AlgorithmDescription)是指對設計出的演算法,用一種方式進行詳細的描述,以便與人交流。演算法可採用多種描述語言來描述,各種描述語言在對問題的描述能力方面存在一定的差異,可以使用自然語言、偽代碼,也可使用程序流程圖,但描述的結果必須滿足演算法的五個特徵。
演算法可採用多種描述語言來描述,例如,自然語言、計算機語言或某些偽語言。各種描述語言在對問題的描述能力方面存在一定的差異。例如,自然語言較為靈活,但不夠嚴謹。而計算機語言雖然嚴謹,但由於語法方面的限制,使得靈活性不足。
因此,許多教材中採用的是以一種計算機語言為基礎,適當添加某些功能或放寬某些限制而得到的一種類語言。這些類語言既具有計算機語言的嚴謹性,又具有靈活性,同時也容易上機實現,因而被廣泛接受。目前,許多「數據結構」教材採用類PASCAL語言、類C++或類C語言作為演算法描述語言。
(6)怎麼寫演算法說明擴展閱讀:
演算法的特徵
1、輸入:一個演算法必須有零個或以上輸入量。
2、輸出:一個演算法應有一個或以上輸出量,輸出量是演算法計算的結果。
3、明確性:演算法的描述必須無歧義,以保證演算法的實際執行結果是精確地符合要求或期望,通常要求實際運行結果是確定的。
4、有限性:依據圖靈的定義,一個演算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機器只有有限個狀態、有限個輸入符號和有限個轉移函數(指令)。而一些定義更規定演算法必須在有限個步驟內完成任務。
5、有效性:又稱可行性。能夠實現,演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現。
G. 如何用語句和演算法寫程序
演算法步驟:第一步,要確定表示和的變數s和計數變數i,並賦值,一般情況下,賦s=0 i=0;第二步,確定使用哪種循環結構,本題使用當型循環結構,確定判斷條件i≤9 滿足條件時,執行第三步,不滿足條件時,執行第四步;第三步:執行,i=i+1;第四步:輸出s;程序結束.程序如下:S=0i=0WHILE i<=9 S=S+1/2^i i=i+1ENDPRINT SEND運行該程序,輸出:S=1.9980. 解析 分 析: 演算法分析: 第一步 選擇一個變數S表示和,並賦給初值0 再選取一個循環變數i,並賦值為0;第二步 開始進入WHILE循環語句,首先判斷i是否小於9;第三步 為循環表達式(循環體) 用WEND來控制循環;第四步 用END來結束程序. 根據演算法語句編寫相應的程序語言,見參考答案.試題 解析: 演算法步驟:第一步,要確定表示和的變數s和計數變數i,並賦值,一般情況下,賦s=0 i=0;第二步,確定使用哪種循環結構,本題使用當型循環結構,確定判斷條件i≤9 滿足條件時,執行第三步,不滿足條件時,執行第四步;第三步:執行,i=i+1;第四步:輸出s;程序結束.可寫出程序如下:S=0i=0WHILE i<=9 S=S+1/2^i i=i+1ENDPRINT SEND運行該程序,輸出:S=1.9980. (12分) 考點: 程序語言.
H. 演算法的過程怎麼寫啊
演算法的流程書寫可通過流程圖或偽代碼來完成。
所謂流程圖是指以特定的圖形符號加上說明,表示演算法的圖,用它來表示演算法思路是一種極好的方法,因為有時候千言萬語不如一張圖形象生動易於理解,例如:
而偽代碼是介於自然語言和計算機語言之間的文字和符號(包括數學符號),它是一種不依賴於語言、用來表示程序執行過程、而不一定能編譯運行的代碼,例如:
Begin(演算法開始)
輸入 A,B,C
IF A>B 則 A→Max
否則 B→Max
IF C>Max 則 C→Max
Print Max
End (演算法結束)