亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        選擇排序算法常見(jiàn)問(wèn)題分析

        2018-06-05 10:33:18白洪濤何麗莉孫良鳳
        科教導(dǎo)刊·電子版 2018年2期

        白洪濤 何麗莉 孫良鳳

        摘 要 針對(duì)非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生算法學(xué)習(xí)和程序?qū)崿F(xiàn)所面臨的困難,將選擇排序分解為在序列中尋找最值和元素交換兩個(gè)步驟,分析了學(xué)生在程序?qū)崿F(xiàn)上容易犯的典型錯(cuò)誤。本文對(duì)算法和程序設(shè)計(jì)類(lèi)教學(xué)有一定的借鑒意義。

        關(guān)鍵詞 選擇排序 數(shù)據(jù)結(jié)構(gòu) 常見(jiàn)錯(cuò)誤 C語(yǔ)言

        中圖分類(lèi)號(hào):O156.4 文獻(xiàn)標(biāo)識(shí)碼:A

        0引言

        《算法與數(shù)據(jù)結(jié)構(gòu)》不僅是計(jì)算機(jī)科學(xué)的重要專(zhuān)業(yè)基礎(chǔ)和核心課程,而且也越來(lái)越多地被非計(jì)算機(jī)專(zhuān)業(yè)所要求學(xué)習(xí)和掌握。排序算法是該課程的重要組成部分,在筆者所教授的地學(xué)各學(xué)院的《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》和《數(shù)據(jù)結(jié)構(gòu)》課程中均是講解的重點(diǎn)和難點(diǎn),尤其是《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》一般安排在《數(shù)據(jù)結(jié)構(gòu)》課程之前,如何在基本的程序設(shè)計(jì)都比較陌生的學(xué)生中建立算法的思維,從而將排序算法和實(shí)際的程序?qū)?yīng)起來(lái),更是一個(gè)挑戰(zhàn)。

        本文在《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》課程教學(xué)過(guò)程中,設(shè)計(jì)選擇排序教學(xué)過(guò)程,分析了學(xué)生典型的兩種實(shí)現(xiàn)錯(cuò)誤。

        1選擇排序算法教學(xué)設(shè)計(jì)

        1.1算法思想

        選擇排序是一種直觀的排序算法。它的工作原理如下(以升序?yàn)槔?。首先在未排序序列中找到最小元素,存放到該序列的第一個(gè)位置,即第一個(gè)位置的元素與該序列中最小元素交換,然后,再?gòu)氖S辔磁判蛟刂欣^續(xù)尋找最小元素,放到第二個(gè)位置(交換)。以此類(lèi)推,直到所有元素均排序完畢。

        1.2算法實(shí)現(xiàn)

        通過(guò)上述算法分析講解,可以將選擇排序過(guò)程具體化為兩個(gè)步驟:

        (1)在一個(gè)特定(未排序)序列中找出最小值(最大值)。

        (2)用該數(shù)和未排序序列中的第一個(gè)數(shù)進(jìn)行交換。

        給出選擇排序的C語(yǔ)言程序如下:

        #include

        int main()

        {

        int i, a[6];

        int min, loc;

        int j, t;

        printf("please input 6 integer numbers:\n");

        for ( i=0; i<6; i++ )

        scanf("%d", &a;[i]);

        for ( j=0; j<5; j++ ) //控制循環(huán)的趟數(shù) n-1

        {

        min = a[j];

        loc = j;

        for ( i=j+1; i<6; i++ ) //在未排序序列中選最小a[loc]

        if ( min > a[i] )

        {

        min = a[i];

        loc = i;

        }

        //a[loc]與a[j]交換

        t = a[j];

        a[j] = a[loc];

        a[loc] = t;

        }

        for ( i=0; i<6; i++ )

        printf("%d ", a[i]);

        printf("\n");

        return 0;

        }

        2常見(jiàn)錯(cuò)誤分析

        在C語(yǔ)言程序編寫(xiě)過(guò)程中,有的同學(xué)未能正確實(shí)現(xiàn)算法,典型的問(wèn)題如下:

        錯(cuò)誤實(shí)現(xiàn)1:

        for ( j=0; j<5; j++ )

        {

        min = a[j];

        loc = j;

        for ( i=j+1; i<6; i++ )

        if ( min > a[i] )

        {

        min = a[i];

        loc = i;

        }

        a[j] = a[loc];

        }

        在算法的主體程序塊,能夠正確在未排序序列中選出最小值a[loc],但是該元素只是簡(jiǎn)單地復(fù)制到了a[j]中,原有的a[j]被覆蓋,沒(méi)有保存下來(lái),錯(cuò)誤結(jié)果如下圖所示:

        錯(cuò)誤實(shí)現(xiàn)2:

        for ( j=0; j<5; j++ )

        {

        for ( i=j+1; i<6; i++ )

        if ( a[j] > a[i] )

        {

        t = a[i];

        a[i] = a[j];

        a[j] = t;

        }

        }

        本程序在未排序序列中只要找到一個(gè)“小值”,就迫不及待地進(jìn)行交換,雖然也能正確地實(shí)現(xiàn)排序,但這不是嚴(yán)格的選擇排序,產(chǎn)生了很多“無(wú)用”的交換步驟,降低了程序?qū)嶋H執(zhí)行效率。

        3結(jié)束語(yǔ)

        熟練掌握一門(mén)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言無(wú)論是對(duì)計(jì)算機(jī)還是非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生都是非常重要的。算法的學(xué)習(xí)不應(yīng)該是死記硬背,要學(xué)會(huì)分析問(wèn)題,并能夠通過(guò)從錯(cuò)誤逐步走向正確,增強(qiáng)學(xué)生獨(dú)立解決實(shí)際問(wèn)題的編程能力。

        作者簡(jiǎn)介:白洪濤(1975-),男,漢族,吉林榆樹(shù)人,博士,副教授,主要從事高性能計(jì)算研究;通信作者:何麗莉(1976-),女,漢族,吉林洮南人,博士,副教授,主要從事基于WSN的環(huán)境智能研究。

        參考文獻(xiàn)

        [1] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2004.

        [2] 譚浩強(qiáng).C 程序設(shè)計(jì)(第四版)[M].北京:清華大學(xué)出版社,2010.

        男女在线免费视频网站| 免费在线观看视频播放| 国产精品亚洲片在线观看不卡| 啪啪无码人妻丰满熟妇| 亚洲Av午夜精品a区| 在线视频一区二区观看| 久久99天堂av亚洲av| 无码字幕av一区二区三区| av无码精品一区二区三区四区| 最新在线观看精品国产福利片| 91人妻一区二区三区蜜臀| 亚洲av不卡无码国产| 精品一区二区三区无码免费视频| 在线观看av手机网址| 麻豆av在线免费观看精品| 精品福利一区二区三区蜜桃 | 亚洲欧洲国产日产国码无码| 亚洲精品一区二区三区国产 | 性饥渴艳妇性色生活片在线播放| 亚洲中出视频| 韩国一区二区三区黄色录像| 国精品人妻无码一区二区三区性色| 国产真实乱人偷精品人妻| 久久无码中文字幕东京热| 美女视频在线观看网址大全| 国产一区内射最近更新| 日韩AVAV天堂AV在线| 手机在线免费看av网站| 91超精品碰国产在线观看| a级毛片免费观看网站| 国内成人精品亚洲日本语音| 亚洲码专区亚洲码专区| 国产精品白浆在线观看免费| 97人妻熟女成人免费视频| 日韩一区二区三区中文字幕| 亚洲一区二区三区国产| 狼人香蕉香蕉在线28 - 百度| 亚洲AV综合久久九九| 国产一区二区三区不卡在线播放| 人人妻人人澡人人爽人人精品av| 亚洲有码转帖|