日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

11计算机,11-计算机科学与技术

發布時間:2023/12/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11计算机,11-计算机科学与技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

《11-計算機科學與技術》由會員分享,可在線閱讀,更多相關《11-計算機科學與技術(23頁珍藏版)》請在人人文庫網上搜索。

1、計算機軟件技術基礎,機械工業出版社2007年7月,第一部分 數據結構與算法基礎,第1章 算法 第2章 數據結構的基礎 第3章 線性表及其存儲結構 第4章 棧和對列 第5章 樹與二叉樹 第7章 查找與排序,數據結構與算法的學習可以幫助我們更好地進行程序設計,數據結構直接關系到算法選擇和程序實現效率。 應用 1)語言編譯要使用“棧”程序中利用“棧”來實現函數過程的調用; 2)操作系統中要用隊列打印隊列,當計算機輸出的數據用打印機打印時,由于打印機速度慢,此時可設置一個打印隊列,將打印任務逐個打印,從而避免數據丟失或打印次序混亂; 3)數據庫系統則使用線性表、鏈表等進行數據管理; 4)人工智能領域依。

2、據問題的差異涉及到諸如廣義表、樹、各種有向圖等;,第1章 算法,1.1 算法的基本概念 1.2算法的描述方式,1.1 算法的基本概念,所謂算法是指解題方案的準確而完整的描述。 對于一個問題,如果可以通過一個計算機程序,在有限的存儲空間內,運行有限長的時間而得到正確的結果,則稱這個問題是算法可解的。 1.算法的基本特征 1)可行性:算法描述的每一個步驟必須能夠實現,且能夠達到預期的目的; 2)確定性:算法中的每一個步驟,必須經過明確的定義,在任何條件下,算法只有唯一的一條執行路徑,即對于相同的輸入只能得出,相同的輸出; 3)有窮性:算法必須能在有限的時間內做完 即算法必須能在執行有限個步驟之后終。

3、止; 4)輸入:具有零個或多個輸入,它們是算 法開始前的初始量; 5)輸出:至少產生一個輸出,它們是與輸入 有某種關系的量,是算法的執行結果。,2.算法的基本要素 1)算法中對數據對象的運算和操作 通常,基本運算和操作有以下四類: 算術運算:有加、減、乘、除等運算; 邏輯運算:有“與”、“或”、“非”等運算;,關系運算:有“大于”、“小于”、“等于”、“不等于”等運算; 數據傳輸:有賦值、輸入、輸出等操作。,2)算法的控制結構 算法中各操作之間的執行順序,稱為算法的控制結構。算法的控制結構給出了算法的基本框架,它不僅決定了算法中各操作的執行順序,而且也直接反映了算法的設計是否符合結構化原則。一。

4、個算法一般都可以用順序、選擇、循環三種基本控制結構組合而成。,3. 算法設計的基本方法 算法設計的基本方法有列舉法、歸納法、遞推、遞歸、減半遞推技術和回溯法。 1)列舉法 列舉法的基本思想是,根據提出的問題,列舉所有的情況,并用問題中給定的條件檢驗哪些是需要的,哪些是不需要的。因此,列舉法常用于解決“是否存在”或“有多少可能”等類型的問題,例如求解不定方程的問題。,2)歸納法 歸納法的基本思想是,通過列舉少量的特殊情況,經過分析,最后找出一般的關系。,3)遞推 所謂遞推,是指從已知的初始條件出發,逐次推出所要求的各中間結果和最后結果。其中初始條件或是問題本身已經給定,或是通過對問題的分析與化簡。

5、而確定。,4)遞歸,人們在解決一些復雜問題時,為了降低問題的復雜程度,一般總是將問題逐層分解,最后歸結為一些最簡單的問題。這種將問題逐層分解的過程,實際上并沒有對問題進行求解。但是當解決了分解到最后的那些最簡單的問題后,再沿著原來分解的逆過程逐步進行綜合,這就是遞歸的基本思想。 找偽幣:假設16枚金幣中有一枚是偽造的,真假金幣的區別僅是重量不同,利用一個沒有砝碼的天平作工具,如何快速找出這枚偽造的金幣?,)減半遞推技術 所謂“減半”,是指將問題的規模減半,而問題的性質不變;這里所謂“遞推”,是指重復“減半”的過程。 猜數游戲,)回溯法 回溯法的基本思想是,通過對問題的分析,找出一個解決問題的線。

6、索,然后沿著這個線索逐步試探,對于每一步的試探,若試探成功,就得到問題的解;若試探失敗,就逐步回退,換別的路線再進行試探。,1.2 算法復雜度及算法的描述方式 1.算法復雜度 算法復雜度主要包括算法的時間復雜度和算法的空間復雜度。,1)算法的時間復雜度* 所謂算法的時間復雜度,是指執行算法所需要的計算工作量。 算法的工作量,一般用算法所執行的基本運算次數來度量,而算法所執行的基本運算次數是問題規模的函數,即 算法的工作量T(n) 其中,n是問題的規模。例如,兩個n階矩陣相乘,所需要的基本運算(即兩個實數的乘法)次數是n的函數T(n)。算法如下:,for(i=0;in;i+) /*執行n+1次*。

7、/ for(j=0;jn;j+)/*執行n(n+1)次*/ cij=0; /*執行n2 次*/ for(k=0;kn;k+)/*執行n2(n+1)次*/ cij=cij+aik*bkj; /*執行n3次*/ 一條語句在算法中被重復執行的次數,稱為該語句的頻度。 這里,T(n)=2n3 + 3 n2 + 2n +1是n的函數,顯然,T(n)/n3 2 (當n 時)。 由高等數學中無窮大的比較的知識知,T(n)與n3 的量級(數量級)相同,即時間復雜度T(n)的量級為O(n3),記為T(n)=O(n3)。 在具體分析時,可做如下處理: 若語句很少執行且與規模n無關,則可忽略不計; 若所有語句都與規。

8、模n無關,則即使有上千條語句,其執行時間也不過是一個較大的常數,故時間復雜度的量級也只是O(n0)=O(1);,一般可只考慮與程序規模有關的頻度最大的語句,如循環語句的循環體,多重循環的內循環等。,常見時間復雜度的量級有:常數階O(1)、線性階O(n)、平方階O(n2)、指數階O(2n )、對數階O(log2n)、線性對數階O(nlog2n)。通常認為,具有指數階量級的算法是實際不可計算的,而量級低于平方階的算法是高效率的。 今后若無特別說明,就將算法時間復雜度的量級,看作算法的時間復雜度。即某算法的時間復雜度是指該算法時間復雜度的量級。,例1-1 說明下列各個程序段的時間復雜度。 /*交換a。

9、和b的內容*/ t=a; a=b; b=t; /*求n以內所有2的冪次數的和,即 1+21+22+2k,2kn */ sum=0; for(i=1;i=n;i*=2) sum+=i; 說明:在程序段中,三條語句的執行次數均為1,與規模n無關,故可知其時間復雜度為O(1)。,在程序段中,執行次數最多的語句是循環體sum+=i,它執行的次數未知,顯然不是n次,若設為k次,由于2kn,所以有klog2n故時間復雜度為O(log2n)。,在具體分析一個算法的工作量時,還會存在這樣的問題:對于一個固定的規模,算法所執行的基本運算次數,還可能與特定的輸入有關,而實際上又不可能將所有可能情況的算法所執行的基。

10、本運算次數都列舉出來。例如:在長度為n的一維數組中,采用順序搜索法查找值為x的元素,在這個問題的算法中,其基本運算(即比較)的次數與具體的被查找(輸入)值x有關。考慮到這種情況,通常采用平均性態和最壞情況復雜性兩種方式,來確定一個算法的工作量。,平均性態 所謂平均性態,是指在規模為n時,用各種特定輸入下的基本運算次數的加權平均值來度量算法的工作量。 設x是所有可能輸入中的某個特定輸入,p(x)是x出現的概率(即輸入為x的概率),,t(x)是算法在輸入為x時所執行的基本運算次數,則算法的平均性態定義為: , xDn , Dn表示當規模為 n時,算法執行時所有可能輸入的集合。, 最壞情況復雜性 所。

11、謂最壞情況復雜性,是指在規模為n時,算法所執行的基本運算的最大次數,定義為: , xDn 顯然W(n)的計算要比A(n)的計算方便得多。,2)算法的空間復雜度 一個算法的空間復雜度,一般是指執行這個算法所需要的內存空間。,2.算法的描述方式 任何算法都必須用某種方法描述出來,其中常用的就是語言描述。根據描述語言的不同,算法分三類: 1)程序設計語言算法。采用計算機程序設計語言描述,可直接在計算機上運行,從而使給定問題在有限時間內被機械的求解。,2)偽語言算法。采用偽程序設計語言描述,不能直接在計算機上運行。偽語言介于程序設計語言和自然語言之間,它忽略程序設計語言中一些嚴格的語法規則和細節描述,因此偽語言描述可突出算法設計的主要方面而不是語法細節。,3)非形式算法。采用自然語言,同時還可使用程序設計語言或偽程序設計語言(如流程控制語句while、for、if等)描述。 算法除了用語言描述外,實際上還有一種圖形描述方法,如流程圖、N-S圖等。,不管算法用什么方法描述,它最終都要轉換為程序才能在計算機上運行。容易看出上述幾種描述方法的可讀性依次增強,但可讀性越強,離最終程序的距離越遠。本書采用C語言作為描述工具。

總結

以上是生活随笔為你收集整理的11计算机,11-计算机科学与技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。