徐浩峰
數(shù)據(jù)結(jié)構(gòu)是計算機存儲、組織數(shù)據(jù)的方式,它是相互之間存在的一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,主要涉及數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及運算三個方面。數(shù)據(jù)結(jié)構(gòu)是信息技術(shù)學(xué)科的核心內(nèi)容之一,對培養(yǎng)學(xué)生的信息意識與計算思維、深入理解并掌握信息技術(shù)學(xué)科知識與實踐方法、形成學(xué)科核心素養(yǎng)具有非常重要的作用。通過對本單元的學(xué)習(xí),學(xué)生能在掌握常用數(shù)據(jù)結(jié)構(gòu)的概念、特點、操作、編程實現(xiàn)方法等內(nèi)容的基礎(chǔ)上,對簡單的數(shù)據(jù)結(jié)構(gòu)進行分析,選擇恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu),并用一種程序設(shè)計語言編程實現(xiàn),在問題解決過程中對數(shù)據(jù)抽象、數(shù)據(jù)結(jié)構(gòu)的思想與方法有初步的認(rèn)識。
高中學(xué)生經(jīng)過了必修模塊的學(xué)習(xí),已具備一定的信息素養(yǎng),但對數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)等概念還是模糊的。面對這樣的學(xué)情,單純講理論,不符合學(xué)生的認(rèn)知特點。因此,要通過活動、任務(wù)驅(qū)動,引導(dǎo)學(xué)生自主學(xué)習(xí),合作探究,激發(fā)學(xué)生研究性學(xué)習(xí)的熱情。
課程引入(分組討論)
學(xué)生活動:分組討論超市商品的查找方法,哪種方法更有效率?(一種是隨機排列,一種是按商品所屬類別進行分類,如圖1所示)
經(jīng)過分組討論,學(xué)生很快得出結(jié)論:合理地組織、安排商品,對查找商品的效率有非常大的影響。那么,在計算機中存放數(shù)據(jù)也一樣,當(dāng)數(shù)據(jù)的組織方式、數(shù)據(jù)之間的關(guān)系不同時,對數(shù)據(jù)的處理過程就會使用不同的方法,處理的效率也會大不相同。
由此引出數(shù)據(jù)結(jié)構(gòu)的概念:數(shù)據(jù)元素以及數(shù)據(jù)元素之間的關(guān)系構(gòu)成的集合稱為數(shù)據(jù)結(jié)構(gòu)(Data Structure)。
數(shù)據(jù)結(jié)構(gòu)的教學(xué),要得法,要根據(jù)不同的需求采用適合的方法。在引入上,設(shè)計在教學(xué)中能起到示范作用的實例,如本例中讓學(xué)生從超市商品的查找中迅速理解數(shù)據(jù)是需要用一定結(jié)構(gòu)來加以組織的,從而對如何組織數(shù)據(jù)產(chǎn)生興趣。真實的事例在生活中比比皆是,教師在教學(xué)中要善于發(fā)現(xiàn)和利用,并進行精心設(shè)計,認(rèn)真落實引導(dǎo)的環(huán)節(jié)。
課程內(nèi)容(講解講授)
授課方式:講解+演示。
1.數(shù)據(jù)的邏輯結(jié)構(gòu)
數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素相互之間的邏輯關(guān)系,邏輯結(jié)構(gòu)有四種,如下頁圖2所示。
這四種結(jié)構(gòu)的區(qū)別在于集合結(jié)構(gòu)沒有對應(yīng)關(guān)系,線性結(jié)構(gòu)是一對一,樹形結(jié)構(gòu)是一對多,圖形結(jié)構(gòu)是多對多。
2.數(shù)據(jù)的存儲結(jié)構(gòu)
數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)結(jié)構(gòu)在計算機存儲器中的存儲方式,又稱物理結(jié)構(gòu),存儲結(jié)構(gòu)有兩種,如圖3所示。
這兩種結(jié)構(gòu)的區(qū)別在于順序結(jié)構(gòu)是將數(shù)據(jù)元素存儲在連續(xù)的存儲單元里,其數(shù)據(jù)間的邏輯關(guān)系和物理關(guān)系是一致的,鏈?zhǔn)浇Y(jié)構(gòu)則是將數(shù)據(jù)元素存儲在任意的存儲單元里,可以是不連續(xù)的。
數(shù)據(jù)結(jié)構(gòu)的教學(xué),要適度,即對概念和操作的要深淺、難易適度。本環(huán)節(jié)是對新知識的介紹與講解,在教學(xué)時,要注意由易到難,要從基本的、典型的數(shù)據(jù)結(jié)構(gòu)入手,通過剖析實例,由簡到繁,從個別到一般,從具體到抽象,逐步講清數(shù)據(jù)結(jié)構(gòu)的基本概念。本環(huán)節(jié)的難點在于存儲結(jié)構(gòu)的理解,教學(xué)時一定要注意對重難點區(qū)別對待、分別要求。
互動環(huán)節(jié)(學(xué)生活動)
為使學(xué)生更好地理解鏈?zhǔn)浇Y(jié)構(gòu),設(shè)計課堂活動如下:
首先將每位學(xué)生定好坐標(biāo),如第X排第Y列,任意選取5位學(xué)生,在每位學(xué)生身上藏一個盒子代表寶藏,同時放一張寫有下一位學(xué)生坐標(biāo)的紙,在第五位學(xué)生身上藏一個獎品代表最終寶藏。游戲開始,教師先出一個字謎,謎底是兩個數(shù)字,即第一位學(xué)生的X,Y坐標(biāo),找到第一位學(xué)生后,在其身上找出寶藏及下一位學(xué)生的坐標(biāo),直至找到最終寶藏。
本單元的難點是對鏈?zhǔn)浇Y(jié)構(gòu)的理解,之所以安排這個互動環(huán)節(jié),就是為了讓學(xué)生更形象直觀地發(fā)現(xiàn),原來鏈?zhǔn)浇Y(jié)構(gòu)就是通過一個個的地址把散落在不同存儲空間的數(shù)據(jù)串聯(lián)在一起,用游戲的方式讓學(xué)生樂于接受、樂于發(fā)現(xiàn)。本環(huán)節(jié)的關(guān)鍵不在于尋找寶藏這個結(jié)果,而在于引導(dǎo)學(xué)生去理解鏈?zhǔn)酱鎯Y(jié)構(gòu)的概念。這也是對課程標(biāo)準(zhǔn)中提出的“可以通過設(shè)計范例,引導(dǎo)學(xué)生理解數(shù)據(jù)結(jié)構(gòu)、抽象數(shù)據(jù)類型等基本概念”要求的具體落實。
活動實踐(分組活動)
數(shù)據(jù)的存儲方式不同,使得對數(shù)據(jù)進行同一操作的實現(xiàn)方法也不同,如對于插入操作,順序結(jié)構(gòu)中在指定位置插入一個數(shù)據(jù),需要將插入點之后的數(shù)據(jù)全部后移一位,空出一個位置放置插入的數(shù)據(jù),如圖4所示。
本環(huán)節(jié)是為了讓學(xué)生把學(xué)到的知識落實到實踐中,做到學(xué)做合一,在實踐中更好地理解本單元知識點。學(xué)生在學(xué)習(xí)、掌握了本單元的理論知識后,對動手將理論落實到實踐中是比較積極的,這個環(huán)節(jié)中還可以舉DNA鏈條做實例,讓學(xué)生更易于理解。學(xué)生從學(xué)到做,完成了一次實踐的提升,掌握了解決問題的方法,也提高了解決問題的關(guān)鍵能力。
課后反思
數(shù)據(jù)結(jié)構(gòu)是算法與程序設(shè)計的基礎(chǔ),也是編程的重要入門知識,學(xué)生學(xué)習(xí)并熟練掌握數(shù)據(jù)結(jié)構(gòu)是學(xué)好編程的第一步。在本單元中,學(xué)習(xí)的重點是理解數(shù)據(jù)結(jié)構(gòu)幾種邏輯關(guān)系的區(qū)別,難點是存儲結(jié)構(gòu)的理解與掌握,尤其是鏈?zhǔn)浇Y(jié)構(gòu)的存儲原理。在一般情況下,學(xué)生對鏈?zhǔn)浇Y(jié)構(gòu)的存儲原理理解都不是非常好,但在課堂互動環(huán)節(jié)后,基本都能理解鏈?zhǔn)浇Y(jié)構(gòu)的存儲方法,也明白了鏈?zhǔn)酱鎯υ诳臻g利用率上的優(yōu)勢。在隨后的課堂作業(yè)中,也基本能順利完成鏈?zhǔn)浇Y(jié)構(gòu)的插入操作。
回顧本單元的教學(xué),數(shù)據(jù)結(jié)構(gòu)是一個極其重要的知識點。讓學(xué)生在教學(xué)中,教師以項目活動為載體,在問題解決的過程中逐步形成計算思維,提高學(xué)生的數(shù)字化學(xué)習(xí)與創(chuàng)新能力,并使其在今后的學(xué)習(xí)中能自行抽象特征,建立結(jié)構(gòu)模型,合理組織數(shù)據(jù),運用合理的算法形成解決問題的方案。因此,在教學(xué)中,教師應(yīng)注重給學(xué)生建立適當(dāng)、真實的數(shù)學(xué)模型,以基于生活項目的學(xué)習(xí)方式,將技能培養(yǎng)與思維發(fā)展融入解決實際任務(wù)的過程中,從而使學(xué)生體驗到信息技術(shù)的社會性建構(gòu),提高其核心素養(yǎng)。