關(guān)鍵詞:計(jì)算機(jī);程序設(shè)計(jì);排序問題
中圖分類號(hào):TP311.1 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)06-0102-02
Abstract:In recent years,with the rapid development of social economy and the continuous progress of science and technology in China,computer information technology has also achieved rapid development,and has made remarkable achievements. In the process of modern social development,computer information technology plays a particularly important role,which can bring great convenience to people’s life and production. In order to ensure the application quality and efficiency of computer information technology,it is necessary to do a good job in computer programming in which sorting is an important part of the design. In computer programming,the sorting method is more diversified,so it is necessary for designers to choose the sorting method reasonably according to the actual needs. In this paper,the problem of ranking in computer programming is analyzed in depth,hoping to provide some suggestions for related computer programming work.
Keywords:computer;programming;sequencing problem
0 ?引 ?言
計(jì)算機(jī)程序設(shè)計(jì)中,排序是一項(xiàng)尤為重要的工作,排序的主要功能是將無規(guī)則序列進(jìn)行重新排列,使之成為一個(gè)參考某一關(guān)鍵字而排列的有序序列。在實(shí)際計(jì)算機(jī)程序設(shè)計(jì)中,排序是一項(xiàng)復(fù)雜、系統(tǒng)的工作,如果沒有處理好排序問題,那么會(huì)影響整個(gè)計(jì)算機(jī)程序的設(shè)計(jì)效果,進(jìn)而影響計(jì)算機(jī)整體質(zhì)量。因此,為了更好地促進(jìn)計(jì)算機(jī)程序設(shè)計(jì)工作的順利開展,保證計(jì)算機(jī)整體質(zhì)量,必須提高對(duì)排序問題的重視程度,加強(qiáng)對(duì)排序問題的分析和解讀,結(jié)合實(shí)際情況選擇適宜的排序方法。只有保證在計(jì)算機(jī)程序設(shè)計(jì)中排序問題得到妥善的處理,才能提高計(jì)算機(jī)程序設(shè)計(jì)的整體質(zhì)量和效果。
1 ?計(jì)算機(jī)程序設(shè)計(jì)排序問題的特點(diǎn)
在計(jì)算機(jī)程序設(shè)計(jì)過程中,排序問題是切實(shí)存在的,如果沒有處理好排序問題,那么會(huì)對(duì)程序設(shè)計(jì)質(zhì)量和效果造成直接影響。為了更好地對(duì)排序問題進(jìn)行處理,必須對(duì)排序問題的特點(diǎn)有所了解。在計(jì)算機(jī)程序設(shè)計(jì)過程中,排序問題具有復(fù)雜性、不確定性、多約束性的特點(diǎn),這些問題會(huì)在很大程度上增加排序工作的難度,進(jìn)而影響計(jì)算機(jī)程序設(shè)計(jì)質(zhì)量的提高[1]。就排序的復(fù)雜性而言,由于計(jì)算機(jī)程序設(shè)計(jì)是一項(xiàng)復(fù)雜、系統(tǒng)的工作,在設(shè)計(jì)過程中涉及的內(nèi)容又十分廣泛,所以排序操作的數(shù)據(jù)也十分繁雜。就排序的不確定性而言,在程序設(shè)計(jì)中會(huì)存在部分?jǐn)?shù)據(jù)或者記錄插入的情況,這會(huì)導(dǎo)致排序發(fā)生變化,進(jìn)一步增加排序問題的不確定性。就排序的多約束性而言,在程序設(shè)計(jì)中,很多數(shù)據(jù)資源之間容易存在約束和制約關(guān)系,這會(huì)在一定程度上加大排序的難度,使排序工作也產(chǎn)生多約束性。
2 ?計(jì)算機(jī)程序設(shè)計(jì)中排序方法的分析
計(jì)算機(jī)程序設(shè)計(jì)中排序方法較為多樣化,根據(jù)程序設(shè)計(jì)的具體功能需求,選擇最合理的排序方法,才能保證計(jì)算機(jī)程序設(shè)計(jì)的效果和質(zhì)量。不同的排序方法具有不同的優(yōu)缺點(diǎn),下面對(duì)幾種排序方法進(jìn)行了深入的分析。
2.1 ?冒泡排序
冒泡排序是計(jì)算機(jī)程序設(shè)計(jì)中一種常用的排序方法。冒泡排序主要是對(duì)相鄰的兩個(gè)元素進(jìn)行比較,在比較過程中,對(duì)較小的數(shù)據(jù)進(jìn)行合理的調(diào)整,使數(shù)據(jù)按照從小到大的順序進(jìn)行排序。冒泡排序方法可以根據(jù)程序中的基本數(shù)據(jù)情況展開兩兩比較,不斷對(duì)數(shù)據(jù)進(jìn)行比較,通過比較最終可以得到合理的數(shù)據(jù)排序結(jié)果[2]。冒泡排序方法操作較為簡(jiǎn)單,其中只采用了一個(gè)輔助單元,借助輔助單元可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的對(duì)比、排列和控制。在選擇冒泡排序方法時(shí),需要注意完成所有數(shù)據(jù)排序需要的時(shí)間。冒泡排序方法的空間復(fù)雜度為0(1),平均時(shí)間復(fù)雜度為O(n^2)。
2.2選擇法排序
在計(jì)算機(jī)程序設(shè)計(jì)中,對(duì)于排序問題通常會(huì)采用選擇法排序方法來解決問題,通過應(yīng)用選擇法排序,不僅可以妥善解決排序問題,同時(shí)還可以在很大程度上提高計(jì)算機(jī)程序設(shè)計(jì)的質(zhì)量和效果,所以在計(jì)算機(jī)程序設(shè)計(jì)中,選擇法排序有著廣泛的應(yīng)用。選擇法排序主要是先對(duì)一組數(shù)據(jù)進(jìn)行對(duì)比分析,在對(duì)比分析中選擇其中最小或者最大的數(shù)據(jù)放在數(shù)列的開始位置,一直到所有的數(shù)據(jù)排列完成[3]。在選擇法排序應(yīng)用過程中需要注意其中的不穩(wěn)定性,比如每次選擇最小的數(shù)據(jù)放在數(shù)列的開始位置時(shí),需要對(duì)數(shù)列所有數(shù)據(jù)進(jìn)行比較,并改變存放位置。選擇法排序空間復(fù)雜度為0(1),平均時(shí)間復(fù)雜度為O(n^2)。
2.3快速排序法
快速排序法將原始數(shù)據(jù)分為兩部分,同時(shí)要保證一部分?jǐn)?shù)據(jù)比另一部分?jǐn)?shù)據(jù)大,或者小,分別賦予兩部分?jǐn)?shù)據(jù)適當(dāng)?shù)某跏贾担鶕?jù)快速排序法的基本思想進(jìn)行有規(guī)則的掃描,通過多次交替掃描,最終使兩部分?jǐn)?shù)據(jù)相等。當(dāng)兩個(gè)數(shù)值相同,則代表數(shù)據(jù)排序工作順利完成。在計(jì)算機(jī)程序設(shè)計(jì)中,快速排序法可以有效提高設(shè)計(jì)質(zhì)量,同時(shí)降低程序設(shè)計(jì)的誤差發(fā)生率??焖倥判蚍ǖ钠骄鶗r(shí)間復(fù)雜度為0(log2n)。
3 ?計(jì)算機(jī)程序設(shè)計(jì)中排序方法的選擇及優(yōu)化
計(jì)算機(jī)程序設(shè)計(jì)中,對(duì)于排序問題需要給予高度重視,只有保證排序問題得到妥善的處理,才能提高程序設(shè)計(jì)的質(zhì)量和效果。由于程序設(shè)計(jì)中排序方法較為多樣化,因此,需要根據(jù)計(jì)算機(jī)程序設(shè)計(jì)的實(shí)際需求,加強(qiáng)對(duì)排序方法之間的對(duì)比和分析,進(jìn)而選擇最適宜的排序方法,同時(shí)為了保證排序的質(zhì)量,還需要對(duì)排序方法進(jìn)行優(yōu)化。
3.1 ?排序方法的選擇
計(jì)算機(jī)程序設(shè)計(jì)中有較多的數(shù)據(jù)排序方法,具體應(yīng)該選擇哪一種排序方法,需要綜合考慮多方面的需求,比如要考慮到各種排序方法的所需時(shí)間、最壞情況、儲(chǔ)存空間等,進(jìn)而結(jié)合設(shè)計(jì)需求選擇最適宜的排序方法[4]。不同的排序方法在計(jì)算機(jī)程序設(shè)計(jì)中發(fā)揮著不同的作用,無論是冒泡排序、選擇法排序,還是快速排序法,其平均時(shí)間復(fù)雜度都與n有著緊密的聯(lián)系,因此,排序方法的選擇也與n有直接關(guān)系。當(dāng)n較小時(shí),可以采用選擇法排序,而當(dāng)n較大時(shí),則可以采用快速排序法。在選擇排序方法時(shí),工作人員還應(yīng)該考慮數(shù)值文件的初始狀態(tài),如果數(shù)值狀態(tài)屬于正序排序,可以選擇冒泡排序方法。在計(jì)算機(jī)程序設(shè)計(jì)中,如果要實(shí)施內(nèi)部排序,可以選擇快速排序法,通過快速排序法能夠?qū)崿F(xiàn)對(duì)任意分布關(guān)鍵數(shù)據(jù)進(jìn)行有效排序,同時(shí)還可以縮短排序所用時(shí)間。為了保證排序問題得到有效處理,工作人員還可以采用配合的方式,聯(lián)合使用不同的排序方法,提高計(jì)算機(jī)程序設(shè)計(jì)的整體質(zhì)量和效果。
3.2 ?排序方法的優(yōu)化
要保證計(jì)算機(jī)設(shè)計(jì)質(zhì)量,不僅要合理選擇最適宜的排序方法,同時(shí)還需要加強(qiáng)對(duì)排序方法的優(yōu)化,通過優(yōu)化進(jìn)一步提高設(shè)計(jì)質(zhì)量和效果,比如在程序設(shè)計(jì)過程中,當(dāng)選擇冒泡排序方法時(shí),為了保證冒泡排序的質(zhì)量,可以選擇標(biāo)志設(shè)置的方法將其寫到數(shù)據(jù)交換代碼程序中,這樣可以促進(jìn)冒泡排序工作的順利開展,同時(shí)可以提高排序質(zhì)量。在選擇排序法應(yīng)用過程中,應(yīng)該去除無效操作,嚴(yán)格對(duì)各個(gè)數(shù)據(jù)的位置進(jìn)行記錄,同時(shí)按照特定的規(guī)則進(jìn)行數(shù)據(jù)查找,這樣也可以達(dá)到優(yōu)化選擇排序法的目的,進(jìn)而使排序質(zhì)量得到提高。在排序方法優(yōu)化操作過程中,尤其要注意樞紐的選用,只有保證樞紐的功能要求,才能夠提高排序質(zhì)量,這對(duì)于提高計(jì)算機(jī)程序設(shè)計(jì)的整體質(zhì)量和效果都具有重要的意義。
4 ?結(jié) ?論
計(jì)算機(jī)程序設(shè)計(jì)中,排序問題是一個(gè)需要重點(diǎn)考慮的問題,只有排序問題得到妥善的處理,才能促進(jìn)計(jì)算機(jī)程序設(shè)計(jì)工作的順利開展,進(jìn)而提高計(jì)算機(jī)整體質(zhì)量和效率。因此需要加強(qiáng)對(duì)排序問題的分析和研究,結(jié)合計(jì)算機(jī)程序設(shè)計(jì)的實(shí)際需求,科學(xué)合理地選擇排序方法。同時(shí),設(shè)計(jì)人員還需要加強(qiáng)對(duì)排序方法的優(yōu)化,并加強(qiáng)對(duì)多種排序方法的對(duì)比和總結(jié),只有這樣才能夠更好地提高計(jì)算機(jī)程序設(shè)計(jì)質(zhì)量。
參考文獻(xiàn):
[1] 朱鵬飛.基于計(jì)算機(jī)程序設(shè)計(jì)的排序問題探討 [J].電腦知識(shí)與技術(shù),2016,12(33):65-67.
[2] 李潤榮.計(jì)算機(jī)程序設(shè)計(jì)中的排序問題分析及相關(guān)闡述 [J].電腦知識(shí)與技術(shù),2016,12(27):202-203.
[3] 王燕軍.計(jì)算機(jī)程序設(shè)計(jì)中的排序問題研究 [J].電子技術(shù)與軟件工程,2016(15):255.
[4] 張健.計(jì)算機(jī)程序設(shè)計(jì)中的排序問題探討 [J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(14):169-170.
作者簡(jiǎn)介:戈?。?985.06-),女,漢族,江蘇蘇州人,教師,助理講師,本科,研究方向:計(jì)算機(jī)教學(xué)。