李昌慶
摘要:隨著計(jì)算機(jī)科學(xué)的高速發(fā)展,計(jì)算機(jī)技術(shù)的應(yīng)用愈發(fā)廣泛。作為一個(gè)離散結(jié)構(gòu),數(shù)字電子計(jì)算機(jī)能夠?qū)﹄x散及離散化后的數(shù)量關(guān)系進(jìn)行處理。算法作為計(jì)算機(jī)正常運(yùn)行的基礎(chǔ)保障,直接關(guān)系到計(jì)算機(jī)工作的好壞?;诖?,為進(jìn)一步促進(jìn)計(jì)算機(jī)信息技術(shù)的發(fā)展,提高算法設(shè)計(jì)的合理性,本文立足于計(jì)算機(jī)算法及數(shù)據(jù)結(jié)構(gòu)內(nèi)涵研究計(jì)算機(jī)算法設(shè)計(jì)、應(yīng)用以及數(shù)據(jù)結(jié)構(gòu)離散性,以期加強(qiáng)離散性研究,為相關(guān)工作或人員提供有效參考。
關(guān)鍵詞:計(jì)算機(jī);數(shù)據(jù)結(jié)構(gòu);算法設(shè)計(jì);離散性;二進(jìn)制
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)志碼:A
0 引言
計(jì)算機(jī)作為解決復(fù)雜系統(tǒng)問(wèn)題的重要手段與工具,廣泛應(yīng)用于機(jī)械、電子工程等領(lǐng)域,但是在互聯(lián)網(wǎng)行業(yè)迅猛發(fā)展的背景下,人們更重視程序結(jié)果,疏于關(guān)心離散性在計(jì)算機(jī)算法設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)中的體現(xiàn)。然而,數(shù)字電子計(jì)算機(jī)作為一個(gè)離散結(jié)構(gòu),離散數(shù)學(xué)可視為計(jì)算機(jī)問(wèn)題的抽象,其相關(guān)問(wèn)題均具有離散性表現(xiàn)。因此,本研究深入研究算法設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)離散性,從而建立從連續(xù)到離散的技術(shù)思維。
1 算法及數(shù)據(jù)結(jié)構(gòu)離散性概述
1.1 算法概述
計(jì)算機(jī)算法是解決問(wèn)題的指令,也是完整描述問(wèn)題解決方案的對(duì)策,通過(guò)規(guī)范輸入相關(guān)指令,能夠在短時(shí)間內(nèi)得到目標(biāo)輸出。不同領(lǐng)域看待算法的角度不同,若是從流程程序領(lǐng)域出發(fā),算法要求相對(duì)較低,但若是從人工智能、數(shù)據(jù)挖掘等領(lǐng)域出發(fā),那么算法要求將呈現(xiàn)相應(yīng)提高的情況,這是因?yàn)樗惴ㄊ浅绦虿僮鞯暮诵摹?/p>
1.2 數(shù)據(jù)結(jié)構(gòu)離散性概述
所謂數(shù)據(jù)結(jié)構(gòu)主要是指數(shù)據(jù)元素之間的結(jié)構(gòu)關(guān)系,以元素特性為基準(zhǔn)可劃分?jǐn)?shù)據(jù)結(jié)構(gòu),即線性、集合、圖形、樹(shù)狀結(jié)構(gòu)等,具體如圖1所示。
其中,集合結(jié)構(gòu)與線性結(jié)構(gòu)具有一定的離散性特征,尤其是集合結(jié)構(gòu),而樹(shù)形結(jié)構(gòu)和圖形結(jié)構(gòu)中的數(shù)據(jù)元素具有極強(qiáng)獨(dú)立性,因而這兩類數(shù)據(jù)結(jié)構(gòu)具備更為突出的離散性。在計(jì)算機(jī)學(xué)科領(lǐng)域,數(shù)據(jù)結(jié)構(gòu)發(fā)揮的主要作用是分析關(guān)系范疇內(nèi)的數(shù)據(jù)結(jié)合,在此范疇下,數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)是重要組成部分,通過(guò)離散數(shù)學(xué)理論的運(yùn)用,能夠抽象理解數(shù)據(jù)結(jié)構(gòu)[1]。
2 計(jì)算機(jī)算法設(shè)計(jì)研究
計(jì)算機(jī)算法體現(xiàn)計(jì)算機(jī)科學(xué)中各項(xiàng)數(shù)據(jù)的不連續(xù)特性,即離散性。因而,開(kāi)展計(jì)算機(jī)算法設(shè)計(jì)與應(yīng)用時(shí),往往采取以下方法,落實(shí)以下應(yīng)用。
2.1 計(jì)算機(jī)算法設(shè)計(jì)
由于計(jì)算機(jī)科學(xué)領(lǐng)域的快速發(fā)展,出于對(duì)社會(huì)需求的考量。目前,算法設(shè)計(jì)方法十分豐富,出于對(duì)計(jì)算機(jī)運(yùn)行與數(shù)據(jù)處理效果的考慮,算法設(shè)計(jì)時(shí)需要遵循正確性、可讀性、穩(wěn)定性、高效低耗性原則,即選擇科學(xué)的算法對(duì)程序進(jìn)行編寫,確保算法結(jié)果提供的唯一性,避免輸出曲線波動(dòng)異常等不良情況的發(fā)生。其中,遞推法、遞歸法較為簡(jiǎn)單且常用,兩種方法均具有離散性的體現(xiàn)。
2.1.1 遞推法
作為序列計(jì)算機(jī)的常用算法,在實(shí)際設(shè)計(jì)過(guò)程中主要是按一定規(guī)律的序列中的各個(gè)項(xiàng)加以計(jì)算,然后通過(guò)計(jì)算機(jī)前面的一些項(xiàng)得到序列中指定項(xiàng)的值。遞推法設(shè)計(jì)的核心思想是:轉(zhuǎn)化現(xiàn)有的龐大且復(fù)雜的計(jì)算過(guò)程,依托于多次重復(fù)的計(jì)算方法降低其計(jì)算難度。此項(xiàng)設(shè)計(jì)方法建立在計(jì)算機(jī)超高的運(yùn)行速度與不知疲倦的機(jī)器特點(diǎn)上。在運(yùn)用遞推法實(shí)現(xiàn)較為復(fù)雜的計(jì)算機(jī)運(yùn)行時(shí),主要采取的是一種“笨方法”,求最大值時(shí)往往通過(guò)數(shù)字的逐一對(duì)比實(shí)現(xiàn),因而作為一種常用于序列計(jì)算機(jī)的算法,其核心可總結(jié)為:復(fù)雜計(jì)算過(guò)程到簡(jiǎn)單計(jì)算過(guò)程的轉(zhuǎn)化。
2.1.2 遞歸法
所謂遞歸,主要是程序調(diào)用自身的編程技巧的方法過(guò)程。作為計(jì)算機(jī)算法中的簡(jiǎn)單方法,其核心思想是:轉(zhuǎn)化大型、復(fù)雜的問(wèn)題,使其成為可處理的、規(guī)模較小的且與原來(lái)問(wèn)題相似的小問(wèn)題。因而,相較于直接處理,運(yùn)用遞歸法開(kāi)展計(jì)算機(jī)算法設(shè)計(jì)時(shí),僅需少量程序即可對(duì)解題過(guò)程加以描述,有效減少程序代碼量的同時(shí)提高設(shè)計(jì)處理效率。遞歸法的能力核心在于運(yùn)用有限的語(yǔ)句對(duì)對(duì)象的無(wú)限集合進(jìn)行定義,因而遞歸前進(jìn)/返回段與邊界條件是運(yùn)用遞歸法的重要條件。當(dāng)邊界條件呈不滿足狀態(tài)時(shí),則遞歸前進(jìn),反之則遞歸返回。因而,遞歸法的核心可總結(jié)為:無(wú)論是函數(shù)還是過(guò)程,直接對(duì)自身具有的編程技巧進(jìn)行調(diào)用,從而對(duì)復(fù)雜、大型問(wèn)題進(jìn)行層層轉(zhuǎn)化,將其轉(zhuǎn)變?yōu)楸阌谔幚淼男⌒蛦?wèn)題,通過(guò)問(wèn)題求解并得到答案[2]。
2.1.3 離散性分析
在遞推法的使用前提下,對(duì)于計(jì)算機(jī)而言,它會(huì)一直主動(dòng)運(yùn)用最大數(shù)比較數(shù)組中的下一個(gè)數(shù)字直至結(jié)束,但人類則會(huì)下意識(shí)運(yùn)用連續(xù)性思維模式比較數(shù)字的大小,即對(duì)比數(shù)字位數(shù)——選擇最高位數(shù)——逐個(gè)分析挑選的數(shù)字,這是初等數(shù)學(xué)的基礎(chǔ)。計(jì)算機(jī)具有離散性特點(diǎn)。連續(xù)性思維的“模擬”需要復(fù)雜算法的支持。遞歸法可在某些情況下簡(jiǎn)化算法,即“自己調(diào)用自己”,離散性主要體現(xiàn)在程序的運(yùn)行表現(xiàn)。具體而言,對(duì)于計(jì)算機(jī)而言,其程序的運(yùn)行以棧為基礎(chǔ),而“后進(jìn)先出”是棧的顯著特點(diǎn),在算法遞歸運(yùn)行過(guò)程中,需要返回值時(shí)返回一個(gè)“自己”,直至返回到一個(gè)確定的值位置,再層層返回。由此可見(jiàn),對(duì)于遞歸法而言,計(jì)算機(jī)遞歸計(jì)算與內(nèi)存Push協(xié)同進(jìn)行,直至完成計(jì)算,之后還要一次次Pop出,這就是計(jì)算的離散性體現(xiàn)。
2.2 計(jì)算機(jī)算法應(yīng)用
2.2.1 云計(jì)算
自社會(huì)進(jìn)入信息化時(shí)代后,云計(jì)算形成并得到廣泛應(yīng)用。作為科技技術(shù)與計(jì)算機(jī)的產(chǎn)物,其優(yōu)勢(shì)主要體現(xiàn)在自動(dòng)化水平、數(shù)據(jù)處理等方面。因而,云計(jì)算對(duì)算法具有較高要求。云計(jì)算應(yīng)用的出發(fā)點(diǎn)大多以服務(wù)為主,無(wú)需多少成本即可完成對(duì)數(shù)據(jù)的高速分析、快速處理,且注重對(duì)使用者需求的融合,技術(shù)使用具備極強(qiáng)靈活性。此外,在云計(jì)算技術(shù)使用中,可以優(yōu)化信息資源的分配,基于使用者需求提供完整信息與分析結(jié)果,避免資源浪費(fèi)。目前,云計(jì)算技術(shù)愈發(fā)成熟,無(wú)論是數(shù)據(jù)處理速度還是存儲(chǔ)量均在顯著提高,而這都取決于計(jì)算機(jī)算法的實(shí)際與使用。
2.2.2 密碼方面
由于信息時(shí)代的到來(lái),信息化技術(shù)成為各領(lǐng)域轉(zhuǎn)型發(fā)展的基礎(chǔ)支持,提高信息化建設(shè)水平也成為企業(yè)現(xiàn)代化轉(zhuǎn)型的特點(diǎn)。出于信息安全的考慮,計(jì)算機(jī)算法的應(yīng)用還體現(xiàn)在密碼方面。計(jì)算機(jī)作為主要的信息加密基礎(chǔ),前期算法設(shè)計(jì)是計(jì)算破譯功能的實(shí)現(xiàn)支持。當(dāng)前,計(jì)算機(jī)算法貫穿于密碼加密、傳輸、破解的全過(guò)程,尤其在區(qū)塊鏈技術(shù)的結(jié)合使用下,提高了信息安全性,同時(shí)依托于計(jì)算機(jī)算法的自動(dòng)化功能可以有效優(yōu)化、修復(fù)信息內(nèi)容[3]。
3 計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)離散性研究
3.1 離散數(shù)學(xué)與數(shù)字電子
所謂離散數(shù)學(xué),主要是指數(shù)學(xué)幾個(gè)分支的總稱,主要用于以離散空間為基礎(chǔ)且不連續(xù)的數(shù)學(xué)結(jié)構(gòu)。離散數(shù)學(xué)的研究對(duì)象具有顯著的分立特點(diǎn),不同于光滑變化的實(shí)數(shù),因而其研究范疇內(nèi)并不包含“連續(xù)數(shù)學(xué)”內(nèi)容。通常情況下,可以運(yùn)用整數(shù)對(duì)離散對(duì)象進(jìn)行枚舉,“離散數(shù)學(xué)”被視為處理可數(shù)集合(與整數(shù)子集基數(shù)相同的集合,包括有理數(shù)集但不包括實(shí)數(shù)集)的數(shù)學(xué)分支。雖然目前有關(guān)于“離散數(shù)學(xué)”的研究較多,但尚未形成普遍認(rèn)可的定義,在界定方面,更傾向于被定義為不具有連續(xù)變化量和概念的數(shù)學(xué)??偠灾?,作為數(shù)學(xué)分支的總稱,在多數(shù)情況下離散數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu)間并非獨(dú)立存在,尤其是站在離散數(shù)學(xué)的角度來(lái)看,具體問(wèn)題需要圍繞復(fù)雜性關(guān)系拓展討論,以此減少計(jì)算機(jī)操作中的問(wèn)題。
數(shù)字電子與計(jì)算機(jī)學(xué)科相互交叉,在離散性研究領(lǐng)域,數(shù)字電子僅以其基本概念的狀態(tài)引入分析,即數(shù)字信號(hào)。在內(nèi)涵界定上,數(shù)據(jù)信號(hào)與模擬信號(hào)的概念是相對(duì)的,前者無(wú)論是數(shù)值還是時(shí)間均處于連續(xù)狀態(tài)的信號(hào),后者是處于離散狀態(tài)的信號(hào)。具體如圖2所示。
根據(jù)圖2的分析可知,二者差異明顯,從數(shù)學(xué)的角度來(lái)看,模擬信號(hào)的連續(xù)性特點(diǎn)意味著其微積分具有相關(guān)意義,而對(duì)于離散信號(hào)而言是無(wú)意義的。
3.2 計(jì)算機(jī)的離散性問(wèn)題
由于本文研究的計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)的離散性,因而主要圍繞二進(jìn)制開(kāi)展離散性問(wèn)題分析,以此為基礎(chǔ)對(duì)計(jì)算機(jī)離散性問(wèn)題進(jìn)行歸結(jié),把握二進(jìn)制與離散性之間的關(guān)系。
3.2.1 二進(jìn)制
(1)概念。
所謂二進(jìn)制,是指數(shù)學(xué)與數(shù)字電路領(lǐng)域?qū)?作為基數(shù)的記數(shù)系統(tǒng),即二進(jìn)位制,表示符號(hào)為0和1,每個(gè)數(shù)字稱為一個(gè)比特。在計(jì)算機(jī)系統(tǒng)中,無(wú)論是數(shù)字運(yùn)算還是數(shù)據(jù)儲(chǔ)存,其都以二進(jìn)制為基礎(chǔ),這體現(xiàn)了一定的邏輯數(shù)學(xué)概念。作為逢2進(jìn)位的進(jìn)位制,基本算法是“0”和“1”,這兩個(gè)數(shù)字符號(hào)是運(yùn)算結(jié)果的主要體現(xiàn),整體操作方便,且滿足電子使用方式。以加法為例,在二進(jìn)制的使用下共衍生出4種情況,分別為0+0=0、0+1=1、1+0=1、1+1=10,其中,0進(jìn)位為1;再如乘法,其仍具有4種情況,分別為0×0=0、1×0=0、0×1=0、1×1=1。簡(jiǎn)單來(lái)說(shuō),二進(jìn)制數(shù)的每一位數(shù)的位權(quán)為2n-1,其中n為位數(shù)。通過(guò)在計(jì)算機(jī)中運(yùn)用二進(jìn)制,可以使用“0”和“1”對(duì)任何具有二個(gè)不同穩(wěn)定狀態(tài)的元件加以表示,比如“開(kāi)”與“關(guān)”“高”和“低”“正”和“負(fù)”等,提高了計(jì)算機(jī)的抗干擾能力,滿足邏輯運(yùn)算需求[4]。
(2)離散性體現(xiàn)。
在二進(jìn)制的運(yùn)用下,計(jì)算機(jī)僅存在“0”和“1”的運(yùn)算,像是音視頻、圖片等信息,計(jì)算機(jī)無(wú)法直接理解,此時(shí),通過(guò)離散數(shù)據(jù)即可使計(jì)算機(jī)“認(rèn)識(shí)”更多信息,從而滿足各類信息數(shù)據(jù)的處理要求。如上述分析可知,計(jì)算機(jī)的處理對(duì)象為離散數(shù)據(jù),在開(kāi)展音視頻、文字、圖片等數(shù)據(jù)的處理工作時(shí),需要先對(duì)此類數(shù)據(jù)進(jìn)行二進(jìn)制的轉(zhuǎn)化,即離散化處理。以音頻為例,需要對(duì)連續(xù)的聲音進(jìn)行二進(jìn)制數(shù)據(jù)處理,具體如圖3所示。
根據(jù)圖3顯示分析可知,離散化處理就是對(duì)音頻信息進(jìn)行細(xì)化,從而“理解”數(shù)據(jù)、處理數(shù)據(jù)。
3.2.2 簡(jiǎn)要分析
由于計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)均具有離散性特征,所處理的各項(xiàng)問(wèn)題也同樣具有這一特征,因而無(wú)論是計(jì)算機(jī)算法設(shè)計(jì),還是計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)的離散性體現(xiàn),均可以通過(guò)二進(jìn)制對(duì)其加以解釋。具體而言,從各種數(shù)據(jù)不同元素特征層面的角度來(lái)看,計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素獨(dú)立性相對(duì)較弱。尤其在具體的計(jì)算機(jī)問(wèn)題中,元素間存在的聯(lián)系又形成了數(shù)據(jù)結(jié)構(gòu)。而“0”和“1”作為計(jì)算機(jī)僅能夠識(shí)別的運(yùn)算符號(hào),在處理其他類型的信息數(shù)據(jù)時(shí)需要開(kāi)展離散化準(zhǔn)備和處理,以此實(shí)現(xiàn)自我識(shí)別、信息獲取等工作,滿足使用者的正常需求。通常情況下,經(jīng)由離散化處理而來(lái)的信息數(shù)據(jù)被稱為“離散信息”,與計(jì)算機(jī)二進(jìn)制具有密切聯(lián)系?!半x散信息”是計(jì)算機(jī)二進(jìn)制數(shù)據(jù)的具體表現(xiàn),便于計(jì)算機(jī)的識(shí)別與處理。
4 結(jié)語(yǔ)
綜上所述,離散性是計(jì)算機(jī)算法與結(jié)構(gòu)數(shù)據(jù)的顯著特征。二進(jìn)制與離散性之間存在著密切關(guān)聯(lián)。計(jì)算機(jī)技術(shù)優(yōu)勢(shì)愈發(fā)顯著。在工作生活中,人們對(duì)計(jì)算機(jī)的依賴性越來(lái)越強(qiáng)。研究人員應(yīng)深入研究算法設(shè)計(jì)及離散性,提高計(jì)算機(jī)運(yùn)行效率。
參考文獻(xiàn)
[1]郭秋滟.計(jì)算機(jī)專業(yè)算法與程序設(shè)計(jì)能力的層階式培養(yǎng)模式——評(píng)《計(jì)算機(jī)算法設(shè)計(jì)與分析(第5版)》[M].現(xiàn)代雷達(dá),2021(12):后插1.
[2]王萬(wàn)良,李偉琨,臧澤林,等.基于混合選擇的多目標(biāo)進(jìn)化算法及其在優(yōu)化設(shè)計(jì)問(wèn)題中的應(yīng)用[J].計(jì)算機(jī)集成制造系統(tǒng),2020(7):1802-1813.
[3]王永貴,郭昕彤.SparkSql上自適應(yīng)數(shù)據(jù)集的高效頻繁集挖掘算法[J].計(jì)算機(jī)工程與應(yīng)用,2020(21):72-78.
[4]徐迎菊,王娜,花玉.線性離散系統(tǒng)狀態(tài)和未知干擾的遞歸濾波算法研究[J].機(jī)械制造與自動(dòng)化,2022(5):8-11.
(編輯 王永超)
Computer algorithm design and discrete of data structure
Li Changqing
(Zhanjiang Institute of Science and Technology, Zhanjiang 524000, China)
Abstract: With the rapid development of computer science, the application of computer technology is more and more extensive. As a discrete structure, the digital electronic computer can handle the relationship between the discrete and discretized after the number. The algorithm as the basic guarantee of the normal operation of the computer, is directly related to the quality of the computer work. Based on this, in order to further promote the development of computer information technology and improve the rationality of algorithm design, this paper is based on the computer algorithm and data structure connotation research computer algorithm design, application and data structure discrete, in order to strengthen the discrete research, to provide effective reference for relevant work or personnel.
Key words: computer; data structure; algorithm design; dispersion; binary