計算機(jī)問題求解:基本的數(shù)據(jù)結(jié)構(gòu)_第1頁
計算機(jī)問題求解:基本的數(shù)據(jù)結(jié)構(gòu)_第2頁
計算機(jī)問題求解:基本的數(shù)據(jù)結(jié)構(gòu)_第3頁
計算機(jī)問題求解:基本的數(shù)據(jù)結(jié)構(gòu)_第4頁
計算機(jī)問題求解:基本的數(shù)據(jù)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機(jī)問題求解

論題2-8

基本的數(shù)據(jù)結(jié)構(gòu)問題1:全校學(xué)生分布在整個操場上,怎么樣就算是有“結(jié)構(gòu)”了?問題2:你能夠說說在你用過的程序設(shè)計語言中有什么東西體現(xiàn)了數(shù)據(jù)的結(jié)構(gòu)?問題3:仍然以全校的學(xué)生為例,你能夠討論一下“結(jié)構(gòu)”和物理位置是什么關(guān)系?問題4:你認(rèn)為隊列與棧與其元素的物理位置分布有關(guān)嗎?問題5:你根據(jù)什么區(qū)分這兩個圖各自描述哪種結(jié)構(gòu)?抽象數(shù)據(jù)類型的概念–以隊列為例Queuecreate()

Precondition:none.

Postconditions:Ifq=create(),then:qreferstoanewlycreatedobjectisEmpty(q)=true;BooleanisEmpty(Queueq)

Precondition:none.

Objectfront(Queueq)

Precondition:isEmpty(q)=false;voidenqueue(Queueq,Objecte)

Precondition:none.

Postconditions:

IfisEmpty(/q/)=true,front(q)=e;

IfisEmpty(/q/)=false,

front(q)=front(/q/);

isEmpty(s)=false;voiddequere(Queueq)

Precondition:isEmpty(q)=false;

Postconditions:

(精確描述需要特殊手段)注意:整個描述中完全不設(shè)計如何“實現(xiàn)”,甚至不涉及“指針”。問題6:堆棧與隊列的本質(zhì)差別是什么?為什么我們需要這種差別?問題7:你能解釋下列情況在計算機(jī)中實現(xiàn)的關(guān)鍵嗎?1.你用鼠標(biāo)連續(xù)點擊了屏幕幾個不同的按鈕,計算機(jī)均能夠正確的一一相應(yīng)。2.你輸入計算式2+3*5,計算機(jī)會正確的算出結(jié)果17,而不是象簡單計算器上只能得到25。問題8:你覺得在我們的討論的“結(jié)構(gòu)”的背后是否有什么基本的數(shù)學(xué)概念嗎?從集合到“動態(tài)集合”問題9:“結(jié)構(gòu)”體現(xiàn)在那里?問題10:“實現(xiàn)”(implementation)數(shù)據(jù)結(jié)構(gòu)是什么意思?“指針”在數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)中有什么作用?鏈表:一切操作均圍繞指針問題11:這個結(jié)構(gòu)有什么不便之處嗎?問題12:刪除一個對象的代價是多少?進(jìn)一步的改進(jìn)監(jiān)控“邊界條件”問題13;為什么是“改進(jìn)”?“此指針”未必是“彼指針”通常我們熟悉的第一個“指針”是某種程序設(shè)計語言中提供的“語言設(shè)施”。在用“指針”方法實現(xiàn)一種數(shù)據(jù)結(jié)構(gòu)時,所謂的“指針”未必是語言中的指針,可以是實現(xiàn)其目的的其他手段。動態(tài)結(jié)構(gòu)的存儲管理基本原理:在一個數(shù)組空間維護(hù)兩個鏈表,“實際數(shù)據(jù)”和“可用空間”?!按讼碎L”問題14:你能解釋一下這幾個圖嗎?順便問一下:書上圖10.8是什么意思?根樹:如何從鏈表的角度看它?RootInnernodeBranchingnodeLeafLevel0Level1Level2Level3Height=3如何任意結(jié)點最多有兩個子結(jié)點,則該根樹成為二叉樹(binarytree),顯然用指針實現(xiàn)鏈表的方法很容易擴(kuò)展到二叉樹,但是…問題15:“但是”什么?這其實意味著:

即使問題邏輯需要多叉樹,我們也可以將其轉(zhuǎn)換為二叉樹來實現(xiàn)。注意:此轉(zhuǎn)換不可逆。課外作業(yè)TCpp.235-:ex.10.1-4;10.1-5;10.1-6TCpp.240-:ex.10.2-1;10.2-2;10.2-3;10.2-6;T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論