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
主站蜘蛛池模板: 国产在线91在线电影| 国产成人av大片在线播放| 国产精品制服| 日本精品中文字幕在线不卡| 又大又硬又爽免费视频| 亚洲精选无码久久久| 中文字幕1区2区| 亚洲无码37.| 国产呦视频免费视频在线观看| 影音先锋丝袜制服| 亚洲精品视频网| 91九色国产在线| A级全黄试看30分钟小视频| 午夜视频www| 久久黄色毛片| 又爽又大又光又色的午夜视频| 中美日韩在线网免费毛片视频| 亚洲区一区| 亚洲第一极品精品无码| 色窝窝免费一区二区三区| 999精品色在线观看| 久久久久久久蜜桃| 亚洲AV无码久久天堂| 国产女人在线| 成人91在线| 国产免费自拍视频| 日韩国产精品无码一区二区三区| 欧洲极品无码一区二区三区| 毛片手机在线看| 亚洲欧美国产五月天综合| 久久久亚洲色| 亚洲不卡影院| 高潮爽到爆的喷水女主播视频 | 久久窝窝国产精品午夜看片| 青青极品在线| 国产av剧情无码精品色午夜| 91精品国产丝袜| 色综合天天操| 97在线观看视频免费| 亚洲中文字幕97久久精品少妇| 中文无码影院| 日本一本正道综合久久dvd | 无码高潮喷水在线观看| 国产精品密蕾丝视频| 国产成人亚洲无吗淙合青草| 东京热av无码电影一区二区| 亚洲色图综合在线| 国产情侣一区| 欧美激情成人网| 欧美日韩一区二区在线免费观看| 在线免费观看AV| 久久精品无码中文字幕| 亚洲精品大秀视频| 亚洲一区免费看| 一区二区影院| 特级aaaaaaaaa毛片免费视频 | 日韩高清欧美| 狠狠ⅴ日韩v欧美v天堂| 热九九精品| 先锋资源久久| 欧美日韩高清| 日本国产在线| 国产欧美日韩va另类在线播放 | 国产欧美日韩精品综合在线| 国产激情无码一区二区APP| 国产91熟女高潮一区二区| 亚洲欧洲日韩久久狠狠爱| 精品国产一区91在线| 亚洲香蕉久久| 中文字幕乱码中文乱码51精品| 日本人又色又爽的视频| 极品尤物av美乳在线观看| 玩两个丰满老熟女久久网| 九九热免费在线视频| 五月天在线网站| 国产午夜人做人免费视频中文| 国产欧美日本在线观看| 国产91色在线| 色综合成人| 久久免费观看视频| 欧美综合一区二区三区| 无码又爽又刺激的高潮视频|