李丹 蘇天路
摘? 要:隨著社會(huì)的不斷發(fā)展,計(jì)算機(jī)信息化技術(shù)的應(yīng)用越來越廣泛,而算法設(shè)計(jì)作為計(jì)算機(jī)系統(tǒng)運(yùn)行的基礎(chǔ),可以有效利用數(shù)學(xué)方法將信息數(shù)據(jù)轉(zhuǎn)換為系統(tǒng)可以識(shí)別的編碼程序,以此完成相關(guān)操作和運(yùn)行。而對(duì)于計(jì)算機(jī)算法設(shè)計(jì)而言,除了要掌握規(guī)范的方法以外,還需處理好離散性的數(shù)量關(guān)系,這對(duì)于算法設(shè)計(jì)以及計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)本身是同等重要的,必須要給予足夠的重視。鑒于此,文章重點(diǎn)就計(jì)算機(jī)算法設(shè)計(jì)及數(shù)據(jù)結(jié)構(gòu)離散性相關(guān)問題進(jìn)行了研究分析,以供參考和借鑒。
關(guān)鍵詞:算法設(shè)計(jì);數(shù)據(jù)結(jié)構(gòu);離散性
中圖分類號(hào):TP311.12;TP301.6? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)22-0089-03
Abstract:With the continuous development of the society,the application of computer information technology is more and more extensive,and the algorithm design as the basis of the computer system operation,can effectively use mathematical methods to convert information data into the system can identify the coding program,to complete the relevant operation and operation. As for the design of computer algorithm,in addition to mastering the standard method,it is also necessary to deal with the quantitative relationship of discreteness,which is equally important to the design of algorithm and the structure of computer system itself,and it must be paid enough attention to. In view of this,this paper focuses on the research and analysis of computer algorithm design and data structure discreteness for reference.
Keywords:algorithm design;data structure;discreteness
0? 引? 言
所謂算法,廣義是指通過系統(tǒng)規(guī)范的方法或指令,以解決實(shí)際當(dāng)中問題的一種策略機(jī)制。而對(duì)于計(jì)算機(jī)算法而言,其通常是指利用相應(yīng)的數(shù)學(xué)方法,將信息數(shù)據(jù)及信號(hào)轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)可以識(shí)別的一類程序編碼,以實(shí)現(xiàn)對(duì)系統(tǒng)的控制。對(duì)于計(jì)算機(jī)系統(tǒng)當(dāng)中一些流程型的程序而言,對(duì)算法設(shè)計(jì)的要求并不是特別嚴(yán)格,但是在一些智能化、信息化要求較高的程序中,對(duì)于算法設(shè)計(jì)的要求還是比較嚴(yán)格的,例如人工智能、人機(jī)交互、云計(jì)算以及虛擬現(xiàn)實(shí)等,這些程序給計(jì)算機(jī)算法設(shè)計(jì)提出了更高的要求,需要加以重視。
1? 計(jì)算機(jī)算法的應(yīng)用現(xiàn)狀
1.1? 云計(jì)算
云計(jì)算作為信息化時(shí)代下一種自動(dòng)化的運(yùn)行模式,對(duì)于計(jì)算機(jī)算法的要求相對(duì)嚴(yán)格。算法在云計(jì)算中的應(yīng)用一方面可以提升網(wǎng)絡(luò)服務(wù)的便利性,另一方面還可以實(shí)現(xiàn)服務(wù)功能的有效拓展。相比其他的模式而言,云計(jì)算不僅可以有效提升數(shù)據(jù)處理的效率和質(zhì)量,而且其投入成本相對(duì)較低,可以滿足不同用戶的現(xiàn)實(shí)需求。在實(shí)際的云計(jì)算算法設(shè)計(jì)當(dāng)中,其可以實(shí)現(xiàn)信息數(shù)據(jù)的合理化分配,以此為企業(yè)單位發(fā)展提供完整的數(shù)據(jù)信息支持,同時(shí)也能節(jié)省企業(yè)的成本投入。伴隨著信息化水平的不斷提升,以及算法設(shè)計(jì)規(guī)范性和可靠性的提升,使得云計(jì)算的存儲(chǔ)容量、數(shù)據(jù)處理能力進(jìn)一步提升,同時(shí)也有效優(yōu)化了其服務(wù)質(zhì)量。
1.2? 美顏軟件
隨著信息化水平的進(jìn)一步提升,智能手機(jī)美顏功能可謂是越發(fā)強(qiáng)大。其中,美圖秀秀作為手機(jī)美顏軟件的一種,要想實(shí)現(xiàn)其美顏效果,首先就需要通過計(jì)算機(jī)算法設(shè)計(jì),實(shí)現(xiàn)對(duì)人臉的識(shí)別和修復(fù)。在此過程中需要注意的是,美顏后的圖片不能與原始人臉有很大的區(qū)別,所以對(duì)于算法的要求相對(duì)嚴(yán)格,在實(shí)際的算法設(shè)計(jì)中需要考慮瘦臉、美膚等多種功能要求。
2? 計(jì)算機(jī)算法設(shè)計(jì)及離散性分析
2.1? 常用的設(shè)計(jì)方法
在計(jì)算機(jī)算法設(shè)計(jì)過程中,常用的設(shè)計(jì)方法有以下兩種:第一,遞推法。該設(shè)計(jì)方法的應(yīng)用有效體現(xiàn)了計(jì)算機(jī)速度快的特點(diǎn),其主要是按照特定的規(guī)律計(jì)算序列中某個(gè)項(xiàng)值,例如通過計(jì)算機(jī)前面的一些項(xiàng)值計(jì)算后續(xù)序列中一些指定的項(xiàng)值,此過程需要大量的重復(fù)計(jì)算,所以對(duì)于計(jì)算機(jī)系統(tǒng)的功能性要求較高;第二,遞歸法。所謂遞歸法,實(shí)質(zhì)上就是通過程序調(diào)用自身編程技巧的一種方法,在函數(shù)定義或說明中通過直接或間接的方法調(diào)用自身編程技巧,如此可以將一些復(fù)雜繁瑣的問題簡(jiǎn)易化,即層層轉(zhuǎn)化為與原復(fù)雜問題相類似的規(guī)模較小的問題。與遞推法相比,利用遞歸法進(jìn)行算法設(shè)計(jì)并不需要大量重復(fù)的計(jì)算,只需要少量的程序即可實(shí)現(xiàn),有效減少了程序的代碼量。在實(shí)際的設(shè)計(jì)算法過程中需要注意,遞歸法需要滿足邊界條件、遞歸前進(jìn)段和遞歸返回段等參數(shù)標(biāo)準(zhǔn),通常在邊界條件符合要求時(shí),遞歸呈現(xiàn)前進(jìn)形式;反之,呈現(xiàn)遞歸返回。
2.2? 設(shè)計(jì)方法的離散性研究
2.2.1? 遞推法離散性分析
在遞推法設(shè)計(jì)過程中,系統(tǒng)通常會(huì)利用相對(duì)復(fù)雜的運(yùn)算方式完成設(shè)計(jì),詳細(xì)如下。
算法1:求最大值。
int max(int*array,int size)
{
int mval=*array;
int i;
for(i=1;i<size;i++)
if(array[i]>mval)
mval=array[i];
return mval;
}
由上述算法可知,在計(jì)算最大值時(shí),計(jì)算機(jī)系統(tǒng)會(huì)不斷用已知的最大數(shù)值去和下一個(gè)數(shù)值進(jìn)行對(duì)比直到算法結(jié)束,即使數(shù)值量巨大??梢娫擃愃惴ǖ挠?jì)算程序十分繁瑣,對(duì)于人工求取最大值來說,如果數(shù)字量十分巨大,此時(shí)為了節(jié)省時(shí)間,會(huì)根據(jù)數(shù)字的位數(shù)進(jìn)行篩選和排序,以此進(jìn)行對(duì)比就會(huì)有效提升計(jì)算效率,這正是人類習(xí)以為常的連續(xù)性思維方式,也是很多初等數(shù)學(xué)所建立的標(biāo)準(zhǔn)。而對(duì)于計(jì)算機(jī)系統(tǒng)來說,要建立持續(xù)性的思維方式是十分困難的,其對(duì)于算法的要求較高,只有在算法符合規(guī)范標(biāo)準(zhǔn)的前提下,才能模擬出人類的這一種連續(xù)性思維方式。
2.2.2? 遞歸法離散性分析
相對(duì)比遞推法,遞歸法可以有效減少計(jì)算量,實(shí)現(xiàn)算法的精簡(jiǎn)化,詳細(xì)如下。
算法2:遞推法求取最大公約數(shù)。
void swapi(int*x,int*y)
{
int tmp=*x;
*x=*y;
*y=tmp;
}
int ged(int m,int n)
{
int r;
do
{
if(m<n)
swapi(&m,&n);
r=m%n;
m=n;
n=r;
}while(r);
return m;
}
算法3:遞歸法求取最大公約數(shù)。
int ged(int a,int b)
{
if(a%b)
return ged(b,a%b);
return b;
}
由上述算法可知,遞歸法在計(jì)算最大公約數(shù)時(shí),相對(duì)比遞推法有了極大的簡(jiǎn)化,大大提升了計(jì)算效率和質(zhì)量。所謂遞歸法,實(shí)際而言就是“自己調(diào)用自己”,以下對(duì)其程序運(yùn)行表現(xiàn)的離散性進(jìn)行分析:計(jì)算機(jī)系統(tǒng)在棧中所運(yùn)行的程序,主要特點(diǎn)是后進(jìn)先出,所以利用遞歸法進(jìn)行算法設(shè)計(jì)時(shí),需要在返回值時(shí)返回一個(gè)“自己”,只不過參數(shù)不同,直到返回一個(gè)確定的值,再層層返回,詳細(xì)示意圖如圖1所示。
由圖1可知,遞歸法每計(jì)算一次,首先就需要向內(nèi)存中Push一次,在計(jì)算完成后,再一次一次Pop出,這作為一種離散性的設(shè)計(jì)體現(xiàn),與人類連續(xù)性思維方式是截然不同的。
3? 計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)離散性研究
對(duì)于計(jì)算機(jī)而言,其通常是以二進(jìn)制實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和運(yùn)算,主要涉及的領(lǐng)域是邏輯數(shù)學(xué)。而對(duì)于邏輯運(yùn)算而言,其可以體現(xiàn)出離散性的特征,所以研究計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)離散性通常與二進(jìn)制相關(guān)。本文接下來以計(jì)算機(jī)二進(jìn)制所體現(xiàn)出的離散性特征,分析計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)的離散性問題,詳細(xì)如下。
3.1? 二進(jìn)制概述
就目前而言,大部分的計(jì)算機(jī)系統(tǒng)都采用二進(jìn)制,所謂二進(jìn)制主要是指一種逢2進(jìn)位的進(jìn)位制,該進(jìn)位制主要由“0”和“1”兩種進(jìn)位符號(hào)組成。由于符號(hào)簡(jiǎn)單,所以實(shí)際的運(yùn)算量較少,計(jì)算十分便捷,同時(shí)也便于電子方式的實(shí)現(xiàn)。
3.2? 二進(jìn)制離散性研究
與人類相比,計(jì)算機(jī)系統(tǒng)只可以識(shí)別二進(jìn)制中的“0”和“1”,所以一些人類看起來比較簡(jiǎn)單的信息,例如文字、圖片以及音頻等,這些信息對(duì)于計(jì)算機(jī)系統(tǒng)而言,識(shí)別起來比較困難。要想實(shí)現(xiàn)對(duì)這些信息的有效識(shí)別和理解,計(jì)算機(jī)系統(tǒng)就必須要對(duì)這些信息進(jìn)行離散化處理,得到自身可以識(shí)別的離散數(shù)據(jù),這樣才可以完成后續(xù)的信息處理和存儲(chǔ)操作。通常情況下,計(jì)算機(jī)所能識(shí)別的離散數(shù)據(jù),實(shí)質(zhì)上就是由“0”和“1”組成的二進(jìn)制數(shù)據(jù)信息,換言之,離散化處理就是將文字、圖片以及音頻等信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),以便于計(jì)算機(jī)系統(tǒng)進(jìn)行識(shí)別判斷,如對(duì)于音頻信息來說,要便于系統(tǒng)識(shí)別,需要將連續(xù)變化的音頻信息離散化處理,轉(zhuǎn)換為二進(jìn)制的數(shù)據(jù)類型,讓系統(tǒng)可以進(jìn)行處理和分析,詳細(xì)處理方法如圖2所示。
由圖2可知,對(duì)于音頻信息的離散化處理,其離散化處理得越精細(xì),其聲音還原的程度越高。
4? 結(jié)? 論
綜上所述,隨著計(jì)算機(jī)信息技術(shù)的飛速發(fā)展,其對(duì)于人類生存和生活的需求越來越大。而對(duì)于計(jì)算機(jī)算法的設(shè)計(jì)而言,要想其滿足人類生存生活的需求,不僅要在設(shè)計(jì)方法上下功夫,還需要加強(qiáng)其離散性的研究,當(dāng)前對(duì)于計(jì)算機(jī)算法及結(jié)構(gòu)的研究還存在一定的缺陷,未來還需要加強(qiáng)對(duì)該方面的研究,確保計(jì)算機(jī)應(yīng)用水平的進(jìn)一步提升。
參考文獻(xiàn):
[1] 李晉麗,孫春娟,張學(xué)波.多措并舉提升算法設(shè)計(jì)與分析課程教學(xué)質(zhì)量 [J].電腦知識(shí)與技術(shù),2019,15(10):111-113.
[2] 牛為華,程曉榮,袁和金,等.基于互動(dòng)式的“算法設(shè)計(jì)與分析”課程教學(xué)改革 [J].數(shù)學(xué)學(xué)習(xí)與研究,2019(4):14.
[3] 徐丹.淺談改進(jìn)的計(jì)算機(jī)RSA加密算法設(shè)計(jì)與實(shí)現(xiàn) [J].科學(xué)技術(shù)創(chuàng)新,2019(5):100-101.
[4] 李振江.計(jì)算機(jī)算法設(shè)計(jì)及數(shù)據(jù)結(jié)構(gòu)離散性研究 [J].計(jì)算機(jī)產(chǎn)品與流通,2019(1):24.
[5] 和樹繁.計(jì)算機(jī)算法設(shè)計(jì)及數(shù)據(jù)結(jié)構(gòu)離散性研究 [J].中國新通信,2018,20(21):146.
作者簡(jiǎn)介:李丹(1991.05-),女,漢族,山西長(zhǎng)治人,助教,碩士研究生,研究方向:計(jì)算機(jī)算法與數(shù)據(jù)結(jié)構(gòu)。