![《審普通程序》課件_第1頁](http://file4.renrendoc.com/view14/M00/2B/1C/wKhkGWd1OM2AQmSFAAFlIuX2lD0531.jpg)
![《審普通程序》課件_第2頁](http://file4.renrendoc.com/view14/M00/2B/1C/wKhkGWd1OM2AQmSFAAFlIuX2lD05312.jpg)
![《審普通程序》課件_第3頁](http://file4.renrendoc.com/view14/M00/2B/1C/wKhkGWd1OM2AQmSFAAFlIuX2lD05313.jpg)
![《審普通程序》課件_第4頁](http://file4.renrendoc.com/view14/M00/2B/1C/wKhkGWd1OM2AQmSFAAFlIuX2lD05314.jpg)
![《審普通程序》課件_第5頁](http://file4.renrendoc.com/view14/M00/2B/1C/wKhkGWd1OM2AQmSFAAFlIuX2lD05315.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
審普通程序?qū)徲?jì)程序是審計(jì)師為了獲取審計(jì)證據(jù),并形成審計(jì)意見而執(zhí)行的一系列步驟。審計(jì)程序分為兩種:實(shí)質(zhì)性程序和控制測試程序。課程介紹學(xué)習(xí)目標(biāo)掌握基本程序設(shè)計(jì)概念、算法思想和編程技巧。課程內(nèi)容涵蓋數(shù)據(jù)結(jié)構(gòu)、算法、程序設(shè)計(jì)語言基礎(chǔ)等內(nèi)容。課程特色理論與實(shí)踐結(jié)合,注重培養(yǎng)學(xué)生解決問題的能力。普通程序的特點(diǎn)順序執(zhí)行程序按照代碼的順序一步一步執(zhí)行,指令之間嚴(yán)格按照順序執(zhí)行,不會跳躍執(zhí)行。固定流程執(zhí)行流程是預(yù)先確定的,程序執(zhí)行過程中的流程是固定的,不會根據(jù)條件進(jìn)行改變。普通程序的結(jié)構(gòu)1數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)組織方式2算法解決問題步驟3控制結(jié)構(gòu)程序執(zhí)行流程4模塊化代碼復(fù)用程序由數(shù)據(jù)結(jié)構(gòu)、算法、控制結(jié)構(gòu)和模塊化組成。數(shù)據(jù)結(jié)構(gòu)組織數(shù)據(jù),算法實(shí)現(xiàn)程序功能,控制結(jié)構(gòu)決定程序執(zhí)行流程,模塊化則提高代碼復(fù)用性。算法概述問題求解算法是解決特定問題的一系列步驟或指令。它描述了解決問題所需的具體操作順序。數(shù)據(jù)組織算法通常與數(shù)據(jù)結(jié)構(gòu)密切相關(guān),它們共同協(xié)作以有效地處理和操作數(shù)據(jù)。代碼實(shí)現(xiàn)算法可以用編程語言實(shí)現(xiàn),將抽象的步驟轉(zhuǎn)換為計(jì)算機(jī)可執(zhí)行的指令。算法的特性11.確定性算法的每一步都必須是明確的,不會產(chǎn)生歧義。同一個(gè)算法在相同條件下執(zhí)行,結(jié)果應(yīng)始終一致。22.有窮性算法必須在有限步驟內(nèi)完成,不能無限循環(huán)。經(jīng)過有限次操作后,算法能夠終止。33.可行性算法的步驟必須是可執(zhí)行的,可以被計(jì)算機(jī)或人執(zhí)行,即算法中的每個(gè)步驟都能夠被計(jì)算機(jī)或人用有限的時(shí)間和空間完成。44.輸入/輸出算法必須有輸入,并產(chǎn)生相應(yīng)的輸出結(jié)果。輸入可以是零個(gè)或多個(gè),輸出也可以是零個(gè)或多個(gè)。算法效率評判算法效率是指算法執(zhí)行的時(shí)間和空間復(fù)雜度,可以衡量算法的優(yōu)劣。時(shí)間復(fù)雜度是指算法執(zhí)行所需要的計(jì)算時(shí)間,空間復(fù)雜度是指算法執(zhí)行所需要的內(nèi)存空間。時(shí)間復(fù)雜度時(shí)間復(fù)雜度衡量算法執(zhí)行時(shí)間隨輸入規(guī)模增長變化趨勢。常用大O記號表示,例如O(n)、O(n^2)、O(logn)等。時(shí)間復(fù)雜度增長趨勢示例算法O(1)常數(shù)時(shí)間數(shù)組訪問O(n)線性時(shí)間線性查找O(n^2)平方時(shí)間冒泡排序O(logn)對數(shù)時(shí)間二分查找空間復(fù)雜度空間復(fù)雜度衡量算法在運(yùn)行時(shí)所使用的額外存儲空間。它描述了算法對內(nèi)存的需求。空間復(fù)雜度與輸入數(shù)據(jù)的規(guī)模有關(guān),算法需要的存儲空間會隨著輸入規(guī)模的增長而改變。例如,線性查找需要額外的空間來存儲中間結(jié)果,而二分查找只需要常數(shù)大小的額外空間。評估算法的空間復(fù)雜度對于優(yōu)化內(nèi)存使用、避免內(nèi)存溢出和提高效率至關(guān)重要。算法分析算法分析主要通過以下步驟進(jìn)行:1確定問題首先需要明確問題的目標(biāo)和約束條件。2設(shè)計(jì)算法根據(jù)問題性質(zhì),設(shè)計(jì)出具體的算法步驟。3算法驗(yàn)證使用測試用例驗(yàn)證算法的正確性和效率。4優(yōu)化改進(jìn)對算法進(jìn)行優(yōu)化,提高其執(zhí)行效率和資源利用率。線性結(jié)構(gòu)線性結(jié)構(gòu)的特點(diǎn)線性結(jié)構(gòu)是一種簡單的數(shù)據(jù)結(jié)構(gòu),元素之間存在唯一的線性關(guān)系,可以進(jìn)行順序訪問。線性結(jié)構(gòu)的類型數(shù)組鏈表?xiàng)j?duì)列線性結(jié)構(gòu)的應(yīng)用線性結(jié)構(gòu)廣泛應(yīng)用于各種程序中,例如,用于存儲和管理數(shù)據(jù),實(shí)現(xiàn)排序算法,以及構(gòu)建其他復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。棧后進(jìn)先出棧是一種線性數(shù)據(jù)結(jié)構(gòu),遵循后進(jìn)先出的原則。數(shù)據(jù)存儲棧使用一個(gè)指針,稱為棧頂指針,指向當(dāng)前棧頂元素。常見操作入棧出棧獲取棧頂元素隊(duì)列先進(jìn)先出隊(duì)列是一種線性數(shù)據(jù)結(jié)構(gòu),遵循先進(jìn)先出的原則。數(shù)據(jù)從隊(duì)尾插入,從隊(duì)頭刪除。應(yīng)用場景隊(duì)列廣泛應(yīng)用于各種程序設(shè)計(jì)領(lǐng)域,例如:任務(wù)調(diào)度、緩沖區(qū)管理、打印機(jī)管理等。數(shù)據(jù)結(jié)構(gòu)隊(duì)列通常用數(shù)組或鏈表實(shí)現(xiàn)。數(shù)組實(shí)現(xiàn)通常使用循環(huán)數(shù)組來提高效率。鏈表節(jié)點(diǎn)鏈接每個(gè)節(jié)點(diǎn)包含數(shù)據(jù)和指向下一個(gè)節(jié)點(diǎn)的指針。鏈表通過節(jié)點(diǎn)之間的鏈接來組織數(shù)據(jù)。單向鏈表節(jié)點(diǎn)只能指向下一個(gè)節(jié)點(diǎn),形成線性結(jié)構(gòu)。雙向鏈表每個(gè)節(jié)點(diǎn)同時(shí)包含指向下一個(gè)節(jié)點(diǎn)和上一個(gè)節(jié)點(diǎn)的指針,允許雙向遍歷。循環(huán)鏈表最后一個(gè)節(jié)點(diǎn)指向第一個(gè)節(jié)點(diǎn),形成閉環(huán)結(jié)構(gòu),方便循環(huán)訪問。遞歸1定義遞歸是一種函數(shù)調(diào)用自身的編程技巧。它通過將問題分解為更小的、類似的問題來解決復(fù)雜問題。2關(guān)鍵要素遞歸包含兩個(gè)關(guān)鍵部分:基本情況和遞歸情況?;厩闆r定義了遞歸結(jié)束的條件,而遞歸情況則將問題分解為更小的子問題并遞歸調(diào)用自身。3應(yīng)用遞歸廣泛應(yīng)用于各種算法中,例如排序、查找和樹遍歷等,它提供了一種簡潔而優(yōu)雅的解決問題的方案。4優(yōu)缺點(diǎn)遞歸可以使代碼更簡潔,但它可能導(dǎo)致性能問題,例如堆棧溢出,需要謹(jǐn)慎使用。排序算法排序算法排序算法是一種重要的算法,用于將一組無序的數(shù)據(jù)按照特定的順序排列。它們在各種應(yīng)用程序中都有廣泛的應(yīng)用,包括數(shù)據(jù)庫管理、搜索引擎和數(shù)據(jù)可視化。排序算法類型排序算法的類型很多,常見的有插入排序、選擇排序、冒泡排序、歸并排序、快速排序等等。每種排序算法都有其優(yōu)缺點(diǎn)和適用場景。查找算法11.線性查找從頭到尾依次遍歷列表,查找目標(biāo)元素。22.二分查找對有序列表,每次查找目標(biāo)元素所在區(qū)間的一半。33.哈希表查找使用哈希函數(shù)將元素映射到哈希表,通過索引快速查找。44.樹形查找通過樹結(jié)構(gòu)組織數(shù)據(jù),快速查找目標(biāo)元素。圖論基礎(chǔ)圖的定義圖論是用點(diǎn)和邊來表示對象及其關(guān)系的數(shù)學(xué)分支。圖的類型無向圖和有向圖,連通圖和非連通圖等。圖的表示方法鄰接矩陣,鄰接表等。最小生成樹定義最小生成樹(MST)是一個(gè)連通圖的生成樹,其中所有邊上的權(quán)重之和最小。應(yīng)用最小生成樹在網(wǎng)絡(luò)設(shè)計(jì)、路線規(guī)劃和電路板設(shè)計(jì)等領(lǐng)域有廣泛的應(yīng)用。算法常用的最小生成樹算法包括Prim算法和Kruskal算法。步驟算法通過逐步添加邊來構(gòu)建MST,直到所有頂點(diǎn)都連接。最短路徑1概念最短路徑問題是圖論中的一個(gè)經(jīng)典問題,它旨在找到圖中兩個(gè)節(jié)點(diǎn)之間最短的路徑。2算法常見的算法包括迪杰斯特拉算法和弗洛伊德算法,它們分別適用于單源最短路徑和所有節(jié)點(diǎn)對之間的最短路徑問題。3應(yīng)用最短路徑問題在現(xiàn)實(shí)生活中有著廣泛的應(yīng)用,例如交通導(dǎo)航、網(wǎng)絡(luò)路由、物流配送等等。拓?fù)渑判?定義拓?fù)渑判蚴菍τ邢驘o環(huán)圖(DAG)的頂點(diǎn)進(jìn)行線性排序,使得對于圖中任意一條邊(u,v),u在排序中都位于v之前。2應(yīng)用場景拓?fù)渑判蛟诂F(xiàn)實(shí)世界中有著廣泛的應(yīng)用,例如:任務(wù)調(diào)度、項(xiàng)目管理、課程安排等。3算法實(shí)現(xiàn)常用的拓?fù)渑判蛩惴ㄓ校荷疃葍?yōu)先搜索(DFS)和Kahn算法,兩者都能有效地找到一個(gè)合法的拓?fù)渑判蛐蛄?。動態(tài)規(guī)劃最優(yōu)子結(jié)構(gòu)將問題分解成子問題,子問題的最優(yōu)解可以用來構(gòu)建原問題的最優(yōu)解。重疊子問題多個(gè)子問題重復(fù)出現(xiàn),可以利用記憶化技術(shù)避免重復(fù)計(jì)算。動態(tài)規(guī)劃步驟定義狀態(tài)找出狀態(tài)轉(zhuǎn)移方程確定邊界條件自底向上計(jì)算貪心算法貪心策略貪心算法在每一步都選擇當(dāng)前最佳的選擇。它不考慮全局最優(yōu)解,只關(guān)注局部最優(yōu)解。應(yīng)用場景貪心算法適用于尋找最優(yōu)解的問題。例如,最短路徑問題、最小生成樹問題、背包問題等。分治算法將問題分解分治算法將問題分解成多個(gè)子問題,這些子問題與原問題形式相同,但規(guī)模更小。遞歸解決子問題遞歸地解決這些子問題,直到子問題規(guī)模足夠小,可以直接求解。合并子問題解將子問題解合并成原問題的解。回溯算法系統(tǒng)性搜索回溯算法是一種探索所有可能的解決方案的方法。它通過嘗試所有可能的路徑,逐步構(gòu)建解決方案,并回溯到之前的狀態(tài),直到找到最佳解決方案。剪枝優(yōu)化通過判斷當(dāng)前路徑是否可能導(dǎo)致最佳解決方案,回溯算法可以有效地避免不必要的搜索。這種策略被稱為“剪枝”,可以顯著提高算法效率。字符串匹配11.蠻力匹配逐字符比較模式串和目標(biāo)串,效率較低,但易于理解。22.KMP算法利用模式串自身的信息,避免不必要的回溯,提高效率。33.BM算法從模式串末尾開始匹配,效率更高,適用于較長模式串。44.Rabin-Karp算法利用哈希函數(shù)將字符串轉(zhuǎn)換為數(shù)字,快速比較,適用于海量數(shù)據(jù)。散列表概念散列表是將鍵值對映射到一個(gè)數(shù)組的結(jié)構(gòu),每個(gè)鍵值對存儲在數(shù)組的特定索引位置。散列函數(shù)散列函數(shù)將鍵轉(zhuǎn)換為一個(gè)數(shù)值,用于確定該鍵值對在數(shù)組中的位置。碰撞處理當(dāng)多個(gè)鍵映射到同一個(gè)索引時(shí),需要使用碰撞處理機(jī)制,例如鏈?zhǔn)降刂贩ɑ蜷_放地址法。應(yīng)用散列表廣泛應(yīng)用于緩存、數(shù)據(jù)庫索引、密碼存儲等領(lǐng)域,能夠高效地進(jìn)行查找、插入和刪除操作。樹樹的結(jié)構(gòu)樹是一種非線性數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)和邊組成,并具有層次結(jié)構(gòu)。根節(jié)點(diǎn)樹只有一個(gè)根節(jié)點(diǎn),作為樹的起點(diǎn),沒有父節(jié)點(diǎn)。子節(jié)點(diǎn)和父節(jié)點(diǎn)樹中每個(gè)節(jié)點(diǎn)可以有多個(gè)子節(jié)點(diǎn),而每個(gè)子節(jié)點(diǎn)只有一個(gè)父節(jié)點(diǎn)。堆堆數(shù)據(jù)結(jié)構(gòu)堆是一種特殊的二叉樹,滿足堆性質(zhì),即父節(jié)點(diǎn)的值大于等于(或小于等于)所有子節(jié)點(diǎn)的值。優(yōu)先級隊(duì)列堆常被用于實(shí)現(xiàn)優(yōu)先級隊(duì)列,該數(shù)據(jù)結(jié)構(gòu)支持高效地插入和刪除元素,并始終維護(hù)元素
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 砌磚抹灰勞務(wù)合同
- 事業(yè)單位職工勞動合同
- 廠房建筑施工合同
- 軟件合作開發(fā)協(xié)議書8篇
- 第三單元巖石與土壤 教學(xué)設(shè)計(jì)-2023-2024學(xué)年科學(xué)四年級下冊教科版
- 第四章第三節(jié) 工業(yè)同步教學(xué)設(shè)計(jì)2023-2024學(xué)年八年級上冊地理 人教版
- 格賓加筋土邊坡施工方案
- 二米六鈦金條門施工方案
- 2025新版工程裝修合同8篇
- 專題節(jié)目許可使用協(xié)議范本7篇
- 中國銀行(香港)有限公司招聘筆試真題2023
- 絕經(jīng)后無癥狀子宮內(nèi)膜增厚診療中國專家共識(2024年版)解讀
- 15萬噸水廠安裝工程施工組織設(shè)計(jì)方案
- 結(jié)婚轉(zhuǎn)戶口委托書
- 超級蘆竹種植項(xiàng)目可行性研究報(bào)告-具有高經(jīng)濟(jì)價(jià)值和廣泛應(yīng)用前景
- 離婚協(xié)議書模板可打印(2024版)
- 部編二年級道德與法治下冊課程綱要二年級《道德與法治》下冊 學(xué)期綱要
- 自動體外除顫器項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 養(yǎng)老機(jī)構(gòu)績效考核及獎(jiǎng)勵(lì)制度
- 2024年越南煤礦設(shè)備再制造行業(yè)現(xiàn)狀及前景分析2024-2030
- 長塘水庫工程環(huán)評報(bào)告書
評論
0/150
提交評論