国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

計算機排序算法及其在高考成績排名中的應用

2018-12-19 18:55王承恩
科技傳播 2018年23期
關(guān)鍵詞:計算機

王承恩

摘 要 計算機排序算法是計算機軟件編程的基礎(chǔ),也是實際生產(chǎn)生活中經(jīng)常使用的算法。文章重點圍繞典型算法展開敘述,并結(jié)合高考成績排名進行程序步驟設(shè)計,以此拓展對計算機排序算法的理解和應用。

關(guān)鍵詞 計算機;排序算法;高考成績;排名

中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2018)224-0141-02

排序算法在計算機程序中具有舉足輕重的地位,是計算機程序?qū)W習的基礎(chǔ)。尤其是信息大爆炸的今天,大量的數(shù)據(jù)需要處理,而往往在處理數(shù)據(jù)的第一步是按照一定的規(guī)則對數(shù)據(jù)進行預處理,如按特定指標進行排序、或進行特定的歸一化處理等[1-2]。一個好的排序算法不僅可以降低程序?qū)τ布囊?,也會使得算法?zhí)行效率上大大提高。當然排序算法在實際日常的生產(chǎn)生活中也有很多應用,如對一些經(jīng)濟數(shù)據(jù)的統(tǒng)計、學生成績的排名等,需要排序算法具有一定的穩(wěn)定性,且能按照多指標進行一定規(guī)則的排序[ 3 ],如本文所要研究的高考成績排序問題,在總分一致的情況下會依次按照語文、數(shù)學、外語等相關(guān)科目成績進行排序。

文章基于對計算機排序算法的理解,對幾種經(jīng)典的計算機排序算法機理的闡述,詳細分析算法原理、算法過程,并以高考成績排名為例,提出了成績的排序規(guī)則,為進一步學習計算機程序奠定基礎(chǔ)。

1 常見計算機排序算法[1-4]

排序算法作為計算機程序的基礎(chǔ),所謂排序是指對一串記錄按照某個特定的關(guān)鍵字或者是規(guī)則進行遞增(遞減)排列操作,也就是要求待排序的記錄按照特定要求規(guī)則進行排列??此剖趾唵蔚膯栴},在眾多領(lǐng)域起到十分重要的作用,尤其是近些年發(fā)展而來的大數(shù)據(jù)處理技術(shù)對排序算法的要求越來越高,一個好的排序算法是可以經(jīng)受大量實例進行推理和檢驗的。

1.1 冒泡排序算法

1)冒泡法排序原理。所謂冒泡法排序其實就將小的數(shù)慢慢往上移動到數(shù)列的頂部,是一種最為基本的排序算法?;驹硎且来螌ο噜弮蓚€數(shù)字進行比較,如果不是按照特定規(guī)則,則交換兩者的位置,并直至比較結(jié)束算遍歷一次,同樣進行重復執(zhí)行,即可完成數(shù)列的排序。

2)冒泡法排序過程。如表1所示,即從上到下依次比較相鄰兩個數(shù),如果上面的比下面的大,便進行交換,否則維持順序不變,這樣便可將最大的數(shù)移動到最底部,依次重復進行即可實現(xiàn)冒泡法排序。

1.2 選擇排序算法

1)選擇法排序原理。如果說冒泡法排序相對機械,那么選擇法排序則相對直接,所以也稱為一種簡單直觀的排序算法。其基本原理是在待排序數(shù)列中直接查找最大(?。┰?,并將其排在該數(shù)列的起始位置,然后依次在剩余待排序數(shù)列中查找最大(?。┰嘏旁谝雅帕袛?shù)列位置之后,以此重復執(zhí)行,即可完成數(shù)列的特定規(guī)則排序。

2)選擇法排序過程。如表2所示,第一遍是找到1最小,然后將1與3位置互換,依次完成排序,看似比冒泡法排序簡單,實際上選擇法排序中需要依次對數(shù)據(jù)進行兩兩比較,但整體上是比冒泡法排序法更簡單。

1.3 插入排序算法

1)插入法排序原理。插入法排序也屬于直觀排序算法,其基本原理是依次從上到下構(gòu)建有序的數(shù)列,將待排序數(shù)字按照特定順序從后向前掃描,找到相應位置進行插入排序。

2)插入法排序過程。如表3所示,即首先檢查2與3,則需要將2排在最前面,接著檢查4位置不變,再繼續(xù)檢查1,則需要將其排在最前面,依次完成插入即可。

1.4 歸并排序算法

1)歸并法排序原理。歸并排序的基礎(chǔ)是歸并操作,采用分治法實現(xiàn)一個數(shù)列的各個子序列的排序,然后按照特定規(guī)則合并有序的子序列,進而得到最終的有序數(shù)列,通常都是按照兩個有序子序列合成,這就是典型的2路歸并操作。

2)歸并法排序過程。在表格上難以描述歸并的過程,本質(zhì)上是將數(shù)據(jù)分為兩個子序列,如表4中,第一步將分為2和4,1和3和5,在分為子序列的過程中就已經(jīng)按照順序進行排列,然后從兩個子序列中從小到大依次進行排序。

1.5 其他排序法

除了上述幾種典型的排序算法,在實際應用還有其他的經(jīng)典排序算法,如快速排序算法、堆排序算法,以及一些改進型排序算法,如希爾排序算法等,在實際應用中也十分廣泛。

2 排序算法在高考成績中的應用分析

2.1 應用背景介紹

在進入高中學習以來,學校為了督促學生、班級之間的學習效果比較,以便更好地進行自我檢查,往往會對考試成績進行排序。不僅如此,其實只要在實際測試考試中,往往都會按照結(jié)果進行排序。同樣高考更是離不開對成績的排名,對高考成績的排名是十分必要的,對考生自己而言知道自己在全省處于何等水平,并按照該層次可以報考相應的學校,而對于高考招生錄取更是重要,因為目前高考志愿都屬于平行志愿,即各個志愿沒有先后關(guān)系,但是錄取投檔是按照考試成績進行投檔。本質(zhì)上就是按照高考成績投遞檔案,讓高校按照一定的先后順序進行錄取,直至錄滿為止,可見高考成績的排名十分重要,往往會因為排名問題影響到個人的錄取結(jié)果。

2.2 高考成績中的排序算法設(shè)計

從上述可知,高考成績排名十分重要,各省教育考試院也十分重視學生的排名規(guī)則制定,但各省的排名有個共同特點都是首先按照總分進行先后排名,但是一定總分相同,后續(xù)名次如何進行則各省略有不同。由于當前取消了高考加分,因此排序相對較簡單一些,否則排序還會更加復雜,以下是高考成績中典型的排序規(guī)則[ 5 ]。

1)高考成績總分相同按單科成績排名,只有總分相同且單科分數(shù)都相同時,才視為相同名次(排位分)。

2)文史類的科目順序依次為語文、外語、數(shù)學、文科綜合;即總分相同,先看語文;若語文同分,則看外語;外語同分,再看數(shù)學;若再同分,則看文科綜合。

3)理工類的科目順序依次為數(shù)學、外語、語文、理科綜合;即總分相同,先看數(shù)學;數(shù)學同分,則看外語;若外語同分,再看語文;若再同分,則看理科綜合。如果按照上述規(guī)則進行排序,在總分上排序則可以采用多種排序算法,幾乎沒有太大區(qū)別,但在總分一致情況下則在算法設(shè)計上可以選擇冒泡法排序相對更加簡單可靠。下面以高考理科成績排序進行算法設(shè)計,相應的算法步驟如圖1所示。

3 結(jié)論

排序算法是計算機程序?qū)W習的基礎(chǔ),文章主要對幾種典型的排序算法進行了闡述,對原理和過程進行了細致的分析。當然對排序算法的研究還有很多,如對算法的復雜度進行分析,復雜度又分為時間復雜度和空間復雜度,即時間消耗和內(nèi)存消耗角度進行研究,還有對算法的穩(wěn)定性分析,所謂穩(wěn)定性分析是兩個相同元素在排序前后相對位置有無變化,沒有變化說明是穩(wěn)定的排序算法,反之便是不穩(wěn)定的算法。作為基本數(shù)據(jù)處理方法,在實際應用中經(jīng)常使用,如本文重點結(jié)合自己對高考成績排名的理解,從高考排名的需求角度分析了排名的重要性和嚴謹性,同時結(jié)合對排序算法的理解,以高考理科成績的排名建立了程序設(shè)計步驟。

可以遇見,隨著高考的進一步改革[ 6 ],高考成績的排序規(guī)則也將越來越復雜,需要更精確更穩(wěn)定的排序算法來保證高考成績的嚴肅性,為高考錄取規(guī)則奠定堅實的技術(shù)基礎(chǔ)。

參考文獻

[1]霍紅衛(wèi),許進.快速排序算法研究[J].微電子學與計算機,2002,19(6):6-9.

[2]湯亞玲,秦鋒.高效快速排序算法研究[J].計算機工程,2011,37(6):77-78.

[3]楊繡丞,李彤,趙娜,等.計算排序算法設(shè)計與分析[J].計算機應用研究,2014,31(3):658-662.

[4]黃福員,聶瑞華.冒泡排序算法的改進[J].微機發(fā)展,2003,13(11):26-27.

[5]夏標泉.把高考分數(shù)轉(zhuǎn)化為名次[J].高校招生,2010(8).

[6]王剛,袁暉.新高考改革背景下地方高校面臨的挑戰(zhàn)和應對策略[J].學周刊,2018(6):7-8.

猜你喜歡
計算機
計算機操作系統(tǒng)
穿裙子的“計算機”
基于LabVIEW的計算機聯(lián)鎖仿真系統(tǒng)
信息系統(tǒng)審計中計算機審計的應用
計算機應用軟件開發(fā)技術(shù)的幾點探討
計算機網(wǎng)絡安全
iLOCK型計算機聯(lián)鎖開發(fā)中的需求開發(fā)管理
計算機聯(lián)鎖系統(tǒng)配置軟件設(shè)計與實現(xiàn)
Fresnel衍射的計算機模擬演示
鐵路計算機應用2013年征訂
洛南县| 高青县| 西充县| 天水市| 甘孜县| 潮州市| 禹城市| 秀山| 尚志市| 元谋县| 景东| 新乡市| 广安市| 龙井市| 永登县| 牙克石市| 卫辉市| 徐闻县| 吉木乃县| 咸宁市| 偃师市| 诸暨市| 达拉特旗| 调兵山市| 固阳县| 马龙县| 岳阳市| 灵璧县| 白沙| 永顺县| 抚顺县| 双牌县| 基隆市| 磐安县| 郴州市| 景泰县| 法库县| 阳谷县| 四子王旗| 河北省| 富裕县|