999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多線程排序算法教學設(shè)計
——以插入排序為例

2022-12-30 06:46:52張小丹范興國衛(wèi)澤剛
科技視界 2022年25期
關(guān)鍵詞:排序程序教學

張小丹 范興國 衛(wèi)澤剛 劉 飛 錢 郁

(寶雞文理學院物理與光電技術(shù)學院,陜西 寶雞 721016)

0 引言

現(xiàn)代計算機操作系統(tǒng)都是多任務系統(tǒng)[1],在實際程序軟件開發(fā)過程中,為了充分利用計算機資源,一般都采用多任務執(zhí)行程序,因此多線程實現(xiàn)是程序編寫中的重要部分[2]。排序是計算機數(shù)據(jù)處理中的基本操作[3,4],對排序算法進行多線程實現(xiàn),可以利用計算機多核處理器資源,顯著提高排序效率[5]。很多學生在學習編程語言和排序算法時都是順序執(zhí)行的單線程排序任務[6],對理解多線程編程有一定難度,因此,設(shè)計并實現(xiàn)多線程排序可以更好地幫助學生理解多線程實現(xiàn)方式。本文通過化整為零和逐層遞進的教學方式,讓學生初步理解C++編程語言多線程代碼實現(xiàn)方式,并結(jié)合經(jīng)典插入排序算法,完成多線程排序的教學。

1 多線程教學設(shè)計

1.1 教學目標

初步理解并掌握多線程創(chuàng)建方法,能夠設(shè)計并實現(xiàn)一個簡單的多線程排序方法。

1.2 教學重難點

對多線程的理解,以及如何設(shè)計和實現(xiàn)多線程排序程序。

1.3 教學方法

采用化整為零,逐層遞進的教學方法[2]。首先介紹不同的知識點:多線程編程、排序算法,掌握各自的原理和程序?qū)崿F(xiàn)。其次對多線程排序問題進行分解,分別詳細講解多線程和排序的原理和實現(xiàn)過程。最后將多線程和排序有效結(jié)合起來,實現(xiàn)多線程的排序。具體如下:

學生自己先編寫帶參數(shù)的插入排序算法,其中參數(shù)用來指定排序的數(shù)組和長度,復習歸并排序中如何對兩組有序數(shù)據(jù)進行合并,用來合并多線程的排序結(jié)果。然后引導學生編寫插入排序的多線程(本文以兩個線程為例)程序。插入排序的多線程實現(xiàn)具體如下:首先,將待排序數(shù)據(jù)分成(均分)兩個數(shù)據(jù)塊,記錄每個數(shù)據(jù)塊的起始位置和長度。其次,多線程調(diào)用插入排序函數(shù),對每個數(shù)據(jù)塊進行排序,在排序完成后,對兩組有序數(shù)組進行合并,具體過程如圖1 所示。

圖1 多線程排序?qū)崿F(xiàn)框架示意圖

1.4 教學步驟

采用化整為零,逐層深入的方式講解,首先單線程實現(xiàn)一個輸出“Hello”的簡單程序,作為多線程的入門例子,然后對其進行多線程調(diào)用,觀察單線程與多線程調(diào)用后的輸出結(jié)果及執(zhí)行時間的差別,直觀理解兩者的區(qū)別。

課堂任務一:單線程和多線程輸出“Hello”。單線程輸出“Hello”參考程序如下:

教學環(huán)節(jié)一:單線程小結(jié)

(1)單線程如何實現(xiàn)五次打招呼?

(2)單線程執(zhí)行,輸出的結(jié)果有何特點?

多線程輸出“Hello”參考程序如下:

教學環(huán)節(jié)二:引導

多線程創(chuàng)建過程具體如下,首先引入頭文件<thread〉,其次定義多線程需要調(diào)用的函數(shù)Greeting,最后創(chuàng)建多線程對象(t1 和t2)并執(zhí)行。主函數(shù)中的join()函數(shù)表示程序執(zhí)行到這里時,主函數(shù)暫停等待,直到線程1(t1)t 和線程2(t2)t 運行結(jié)束,主函數(shù)再繼續(xù)運行。

課堂任務二:復習插入排序過程與如何合并兩個數(shù)組,并編寫程序。插入排序方法的參考程序如下:

合并函數(shù),將兩個有序數(shù)組合并成一個有序數(shù)組,參考程序如下:

課堂任務三:編寫多線程排序函數(shù),參考程序如下:

教學環(huán)節(jié)四:小結(jié)

使用兩個線程對數(shù)組排序,首先將待排序數(shù)組分成(均分)兩個數(shù)據(jù)塊,記錄每個數(shù)據(jù)塊的長度與在原來待排序數(shù)組中的起始位置,然后創(chuàng)建線程,每個線程均調(diào)用排序函數(shù)對相應的數(shù)據(jù)塊進行排序。在多線程排序完成后,即每個數(shù)據(jù)塊排序完成后,合并為有序數(shù)據(jù),最終實現(xiàn)整個數(shù)據(jù)的排序。

教學環(huán)節(jié)五:拓展練習,讓學生思考并實現(xiàn)以下兩個問題:

(1)能否用上述方式實現(xiàn)4 線程、8 線程的排序過程?對于n(n 為任意整數(shù))線程,如何設(shè)計出相應的排序算法?

(2)如果數(shù)據(jù)分塊較多,在合并過程中,能否采用多線程的方式進行合并?

2 結(jié)語

對排序算法進行多線程實現(xiàn),可以充分利用計算機多核處理器資源,顯著提高排序效率。本文以排序算法中簡單直觀的插入排序算法入手,對其進行多線程實現(xiàn),采用先分后合、循序漸進、拓展練習的思路對插入排序方法的多線程實現(xiàn)進行了詳細介紹,由淺入深、環(huán)環(huán)相扣,降低了學生用C++對插入排序進行多線程實現(xiàn)的難度。最后用兩個拓展練習,強化學生對多線程實現(xiàn)的理解,同時提高學生根據(jù)問題需求,編寫代碼解決問題的能力。

猜你喜歡
排序程序教學
排序不等式
微課讓高中數(shù)學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
恐怖排序
試論我國未決羈押程序的立法完善
節(jié)日排序
刻舟求劍
兒童繪本(2018年5期)2018-04-12 16:45:32
“程序猿”的生活什么樣
“自我診斷表”在高中數(shù)學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
英國與歐盟正式啟動“離婚”程序程序
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
主站蜘蛛池模板: 青青操视频在线| 精品乱码久久久久久久| 2021国产精品自拍| 亚洲成人播放| 日韩在线中文| 国产综合精品日本亚洲777| 毛片最新网址| 亚洲AV永久无码精品古装片| 精品少妇人妻无码久久| 91精品视频播放| 久久久波多野结衣av一区二区| 欧美激情首页| 91精品视频网站| 亚洲区第一页| 亚州AV秘 一区二区三区| 午夜日韩久久影院| 久久综合色视频| 好吊色国产欧美日韩免费观看| 色男人的天堂久久综合| 国产精品.com| 久久99久久无码毛片一区二区| 久久99国产综合精品1| 精品国产99久久| 一级毛片免费观看久| 国产成人一区二区| 亚洲区欧美区| 国产爽歪歪免费视频在线观看| 亚洲无码精彩视频在线观看| 亚洲,国产,日韩,综合一区| 高清不卡一区二区三区香蕉| 国产成人乱无码视频| 亚洲第一天堂无码专区| 91啪在线| 国产精品xxx| 国产美女91呻吟求| 日韩123欧美字幕| 亚洲91精品视频| 欧美精品伊人久久| 91成人在线免费视频| 麻豆精品久久久久久久99蜜桃| 国产69精品久久久久孕妇大杂乱 | 国产人人射| 99精品热视频这里只有精品7| 日韩不卡免费视频| 91久久精品日日躁夜夜躁欧美| 国产又大又粗又猛又爽的视频| 亚洲欧美综合在线观看| 欧美视频在线观看第一页| 91无码人妻精品一区| 久久无码高潮喷水| 日本人妻丰满熟妇区| 99热这里只有免费国产精品| 国产福利小视频在线播放观看| 黄片一区二区三区| 久久亚洲黄色视频| 黄色国产在线| 久久国产精品无码hdav| 欧美三级日韩三级| 美女视频黄又黄又免费高清| 九色在线视频导航91| 国产精品开放后亚洲| 久久久国产精品免费视频| 亚洲水蜜桃久久综合网站| 97视频精品全国免费观看| 99精品福利视频| 国产乱子精品一区二区在线观看| 免费高清自慰一区二区三区| 深夜福利视频一区二区| 亚洲一区二区三区在线视频| 国产成人综合亚洲欧美在| 91在线激情在线观看| 欧美日韩精品综合在线一区| 国产呦视频免费视频在线观看| 综合色在线| 欧美在线中文字幕| 国精品91人妻无码一区二区三区| 欧美黄色a| 9丨情侣偷在线精品国产| 99热精品久久| 久久精品视频亚洲| 伊人欧美在线| 无码啪啪精品天堂浪潮av|