摘""要:計算機算法設計是計算機行業發展的基礎,而且在很多領域都得到了應用。關于計算機算法設計和數據結構離散性,是實現計算機算法有效應用的必要前提。以此為對象展開分析。首先分別對計算機算法和數據結構離散性做出分析,認識到實現的基本原理與作用,為今后計算機算法和數據結構離散性在實踐中應用提供參考。其次從離散數學和數字電子、二進制及其離散性兩個方面,闡述實現方法。最后則分析計算機算法在云計算、人臉識別軟件、密碼破譯中的應用,闡述不同算法的應用原理,發揮數據結構離散性優勢。旨在為今后計算機問題的解決、數據高效處理提供計算機算法支持。
關鍵詞:計算機算法""數據結構""離散性""連續性""二進制
中圖分類號:TP391
Research"on"the"Algorithm"Design"and"Data"Structure"Discreteness"of"Computers
LI"Zhuo
(Heilongjiang"University"of"Business"and"Technology,"Harbin,"Heilongjiang"Province,"150001"China)
Abstract:"Computer"algorithm"design"is"the"foundation"of"the"development"of"the"computer"industry"and"has"been"applied"in"many"fields."The"design"of"computer"algorithms"and"the"discreteness"of"its"data"structures"are"necessary"prerequisites"for"the"effective"application"of"computer"algorithms,"and"this"paper"analyzes"them"as"reasearch"objects."Firstly,"it"analyzes"computer"algorithms"and"the"discreteness"of"its"data"structures"separately,""and"recognizes"the"basic"principles"and"functions"of"implementation,"which"provides"references"for"the"practical"application"of"computer"algorithms"and"data"structure"discreteness"in"the"future."Secondly,"it"expounds"implementation"methods"from"two"aspects:"discrete"mathematics"and"digital"electronics,"as"well"as"binary"and"its"discreteness."Finally,"it"analyzes"the"applications"of"computer"algorithms"in"cloud"computing,"facial"recognition"software"and"password"cracking,"explains"the"application"principles"of"different"algorithms,"and"gives"full"play"to"the"advantages"of"data"structure"discreteness,"aiming"to"provide"computer"algorithm"support"for"solving"computer"problems"and"efficiently"processing"data"in"the"future.
Key"Words:"Computer"algorithm;"Data"structure;"Discreteness;"Continuity;"Binary
計算機技術是社會發展以及行業升級的重要支持,但這主要是與前期的程序設計有關。算法是計算機得以運行的必要基礎,計算機穩定運行需要算法的支撐。通過數據結構的離散性,可以解決不同類型的計算機問題,但缺陷是不能精準識別連續數量關系。程序設計人員在采集到信息后,轉換為離散性,切實存在的計算機處理問題能夠更加高效地解決,彰顯計算機算法設計的應用優勢。為此,本文以計算機算法設計和數據結構離散性為對象展開分析,總結算法設計和離散性的優化對策。
1""計算機算法與數據結構離散性
1.1""基本概述
1.1.1""計算機算法
計算機相關問題的處理,計算機算法是協調處理的指令,并且對實際存在問題制定解決方法更加完整的描述[1]。工作人員輸入指令后,快速獲得目標輸出。關于計算機算法的認知,各個領域往往有不同的角度。例如:流程程序方面,往往對計算機算法的要求不高;人工智能和數據挖掘等方面,計算機算法則面臨嚴格要求。存在這一區別的原因,主要是算法在人工智能、數據挖掘的程序操作中,占據核心位置。
1.1.2數據結構離散性
數據結構是由海量具有結構關系的數據組成,具體需要總結各項數據的元素特性。關于上述提出的數據結構,共有4種:線性結構、集合結構、樹狀結構、圖形結構。綜合對比這4種結構類型,發現前兩種類型的離散性特征更強,后兩種的獨立性則表現在其中儲存的數據元素上[2]。考慮到這一點,數據結構離散性在計算機學科領域的表現往往更加清晰。在數據結構的作用下可以分析關系所包含的所有數據結合,其間還需發揮離散數學理論的作用,以抽象性思維看待數據結構。
1.2計算機算法設計方法
遞推法在計算機算法設計中應用,主要是為了適應計算機在運行中所呈現出的高效率特性。以指定規律計算序列的任意項值為對象,計算之后序列的一些指定項值。在上述計算過程中應用遞歸法,以程序調用編程,達到弱化問題復雜性的目的。總而言之,應用遞歸法的關鍵在于層層轉化處理,或者是選擇和原復雜問題相似度高的小規模問題。
1.3"離散性分析
計算機算法設計中如果應用遞推法,針對計算機本身,會主動且持續地應用最大數,與數組包含的下一個數字進行對比,此流程會持續到結束。相比之下,人類對此問題的思考則會優先以連續性思維模式為對象,排列數字大小。有鑒于此,便可確定計算機的離散性特征[3]。如果采用遞歸法,同樣可以簡化算法中一些不必要的計算流程。在此前提下所體現的離散性重點是程序運行。例如:計算機程序是以“棧”實現高效率運行,而且也表現出“后進先出”這一明顯特征。算法作為遞歸運行的必要條件,若在遞歸運行中需要用到返回值,算法將會將“自己”返回,直至到達了確定值位置再層層返回。根據以上分析對比可以確定計算機遞歸計算和內存Push兩個流程并非先后順序進行,甚至在所有計算流程結束之后Pop出仍然在繼續,這便是計算離散性的直觀體現。
2"計算機數據結構離散性的實現
計算機具有運算、儲存這兩項基本功能,而此功能的實現基本方法是二進制。所以,計算機運行很大程度上與邏輯數學有關。針對邏輯運算進行分析,離散性非常明顯。通過現有研究和分析,發現離散性、二進制之間有密切的聯系[4]。所以,按照二進制呈現離散性特征,可以作為數據結構離散性分析的依據。下面以此為前提,從離散數學和數字電子、二進制及其離散性兩個方面,對計算機數據結構離散性的實現做出分析。
2.1"離散數學和數字電子
一般通過整數分析離散對象,在此前提下“離散數學”可作為處理可數集合的數學分支,這里提到的可數集合,和整數子集基數一致,其中涵蓋有理數集,卻不包含實數集。盡管現階段“離散數學”受到業內廣泛關注,與之相關的研究也比較多,但是現有定義并未獲得普遍的認可[5]。關于定義的界定,普遍傾向于“無連續變化量、概念的數學”。所以,作為數學分支總稱,通常離散數學、數據結構兩者之間不是以獨立的形式存在。特別是離散數學,實際存在的問題,應該以復雜性關系為核心展開拓展分析,降低計算機實操過程中問題的發生率。
如果從學科角度分析數字電子,其與計算機學科之間存在一定程度的交叉。在離散性研究過程中,數字電子一般也只是以基本概念的形式,由學科進行引入分析,也就是所謂的數字信號。對其內涵進行界定,可以發現數據信號、模擬信號兩者的概念具有相對性,數據信號的數值、時間具有連續性,而模擬信號則具有離散性。參考這一點,便能夠發現兩者之間存在比較顯著的區別。若是立足于數學維度,模擬信號所具有的連續性,代表微積分有相關意義,而離散信號則無任何意義。
2.2"二進制及其離散性
所謂二進制,即逢二進位的進位方法,實現二進制的關鍵在于“0”“1”。考慮到符號相對簡單,運算量少,所以在實踐中更多是應用計算機進行實現。此次研究數據結構離散性,提出了二進制離散性這一觀點。若想真正理解,可以延伸到計算機和人工之間的差異。計算機支持識別的對象中,僅包括二進制的“0”"“1”,但如果是站在人類的角度,無論是音頻、圖片還是文字,均可以從中獲取到有效信息,反而對于計算機而言,信息此類信息面臨困難,而且識別效率相比二進制也非常低。那么若想高效且準確地識別信息,離散處理非常必要。通過有效的離散處理,可以充分發揮出數據識別這一優勢。一般在離散處理中,工作人員將所有數據信息離散化,為后面的數據處理、數據儲存等做好準備。計算機利用圖片、文字等信息識別,獲得的離散性便是二進制數據的直觀呈現,對其進行離散化處理,其間同樣需要應用二進制方法,完整地呈現音頻與圖片中包含的信息,以此來提升計算機在信息識別方面的效率。此類信息在轉換為二進制后,同樣應進行離散處理。通過分析可知,以音頻為例,在經過了離散處理后,信息的清晰度、音頻還原度均有明顯改善。
3""計算機算法在實踐中的運用
3.1"應用于云計算
計算機與信息技術在信息化社會的發展下,不斷創新與演進,其間推出了一系列新技術,其中便包括云計算。云計算技術作為新一代信息技術,其優勢的體現,需要與計算機相輔相成,在各個行業中的應用,也是以自動化模式存在。因為云計算技術具有很強的自動化水平,尤其是將其運用于數據處理方面,更是表現出很強的能力,所以云計算本身對算法也提出了很高的要求。除了以上性能外,云計算技術在應用中也表現出便捷性,憑借云計算的這一優勢,賦能網絡服務,將網絡服務范圍予以拓展。
以計算機算法為基礎的云計算,應用出發點為服務,立足點為現代科學技術,從中任意選擇操作模式。綜合上述總結的云計算諸多優勢,其實更多是在實踐應用中加以體現,一方面不需要投入大量成本,另一方面對于實際產生的海量數據,也可以實現高效率分析與處理,站在技術使用者的角度,可以直觀體現出數據處理的有的放矢,為計算機算法基礎上的云計算應用賦予了很強的靈活性,可以滿足多類用戶在數據處理方面的需求。
3.2"應用于人臉識別軟件
人們的生活深受現代技術的影響,尤其是智能手機的普及,更是直接改變了人們的生活習慣。考慮到日常生活中,云計算與人們的直接聯系并不多,相比之下可能更加傾向于使用智能手機拍照,而且也會頻繁地用到各種各樣的修圖軟件。所以,在現代化技術支持下,智能手機的相機功能非常多元化,不僅攝影、照相非常清晰,而且自帶美顏功能,準確識別人臉與五官。分析人臉識別軟件上述功能得以實現的原因,即計算機算法設計。
其實針對智能手機中的美顏功能,除了精準識別人臉、五官外,還應按照識別所得內容,在軟件中自動優化與修復,對于最終修復成果,也不能與真人有明顯區別。對此,軟件設計階段,為了實現上述功能,計算機算法的設計相對復雜,同時包括識別、瘦臉、美白等其他功能。例如美白這一功能,其實在圖像處理中,主要參考的是三原色原理。對于待美顏照片而言,在軟件中也是應用三原色,將圖片中的R(Red)、G(Green)、B(blue)顏色信息予以保存。上述3個數值取值范圍在0~255之間,如果數值接近0,代表圖像黑度高;數值接近255,則圖像越白[6]。所以,美顏軟件中具有的美白功能,即以此原理將人像臉部色彩改變。再如人臉檢測和關鍵點定位功能,應用的計算機算法主要有深度學習模型,具體有卷積神經網絡(CNN)。首先對于需要修圖的圖像,需要生成對抗網絡(GANs),此環節訓練生成器以及判別器網絡,其中判別器的作用是對生成圖像質量進行評估。其次則要做好風格遷移,圖像風格向其他圖像轉移。此功能在圖像美顏中,能夠實現圖像整體色調、風格的變化,呈現出差異化的修圖效果。
3.3"應用于密碼破譯
計算機算法除了人臉識別軟件、云計算技術外,還應用于密碼破譯。密碼破譯的前期是信息加密,此項工作的實現離不開計算機,但因傳統技術相對滯后,非法人員很容易將正在傳輸過程的信息破譯。在密碼破譯中應用計算機算法,關鍵便是前期算法設計。這里提到的計算機算法,屬于計算機基礎技術。
例如:單向HASH算法,因為此算法用于密碼保護很難保證安全性,所以很多企業在應用單向HASH算法時,對其進行了加鹽與反復HASH處理,上述拓展方法進一步增強了密碼破譯難度。已經加“固定鹽”處理的HASH算法,安全防護重點是避免“鹽”的泄露,如果發現保護對稱密鑰一類的問題,當“鹽”泄露后,可按照“鹽”重構彩虹表實現破解,針對反復HASH的作用,僅是延長破解時間,在密碼破譯方面沒有本質方面的作用。
4""結語
綜上所述,計算機本身在各個行業中應用的基礎是計算機算法,通過差異化計算機算法設計,能夠實現諸多信息化、自動化功能,其中便包括云計算、人臉識別、美顏以及密碼破譯等。計算機算法設計的過程中,相關人員不能忽略數據結構所具有的離散性特點,這對于數據結構的優化、產生數據的處理等具有重要作用。一方面可以提高數據處理效率,另一方面也可以憑借數據結構離散性優勢,夯實計算機算法設計的基礎,從而進一步拓寬計算機算法的應用范疇。
參考文獻
[1]馬春燕,陳晶,姚鼎,等.嵌入式智能計算機計算能力評測方法[J].計算機學報,2023,46(11):2279-2301.
[2]龐伊賀,張偉彬,熊官送,等.三余度飛行控制計算機余度管理算法研究[J].現代電子技術,2023,46(18):85-89.
[3]汪玲,徐光平.基于平衡區組的數據編碼分布式一致性算法設計[J].天津理工大學學報,2023,39(4):32-38.
[4]王賀哲.基于BOPPPS教學模型的算法設計與分析教學設計:以"“貪心算法”為例[J].電腦知識與技術,2023,19(20):167-169.
[5]何強強.基于三值光學計算機的模擬退火優化算法設計與實現[D].阜陽:阜陽師范大學,2023.
[6]李偉健.分布式優化算法的分析設計及應用[D].合肥:中國科學技術大學,2023.