2020計算機考研,易錯題分析與常考點總結

2020計算機考研易錯題分析與常考點總結,今天就以電子科技大學的計算機爲例講解數據結構的知識點。
1.棧和隊列
以“存儲位置相鄰”來表示線性表中元素間的邏輯關係;
若已知表中首元素在存儲器中的位置,則其他元素存放位置亦可求出(利用數組下標)。計算方法是:
設首元素a1的存放地址爲LOC(a1)(稱爲首地址),設每個元素佔用存儲空間(地址長度)爲L字節,則表中任一數據元素的存放地址爲:
LOC(ai) = LOC(a1) + L *(i-1)
LOC(ai+1) = LOC(ai)+L
注意,這裏是一維數組,比較好理解。無論是一維的還是二維,都要記住:計算某個元素的地址,始終要求該元素前面有多少個元素。
常考點
對於一維數組而言,ai前面應該有i-1個元素,每個長度爲L,所以地址很好計算。
對於二維數組而言,無論是按行,還是按列進行存儲,其方法都是一樣的,都是求該元素之前有多少個元素。如果是按行存儲,就求前面有幾行乘以列數得到前幾行元素的個數,加上本行該元素前元素的個數,即得到了該元素前面有幾個元素;
對於按照列進行存儲的二維數組而言,同理是求前面有多少個元素,只是前面的元素是指按照列存的時候的元素,應該看該元素前面有幾列,再乘以行數,再加上當前列中該元素前面有幾個元素,即得到前面有多少個元素,剩下的步驟和一維數組的計算方式類似,只要乘以每個元素長度再加上首元素的地址即可。
2.循環隊列
循環隊列存在隊空隊滿的判斷問題:
由於入隊時尾指針向前追趕頭指針,出隊時頭指針向前追趕尾指針,故隊空和隊滿時頭尾指針均相等。因此,我們無法通Q.front=Q.rear來判斷隊列“空”還是“滿”。
解決此問題的方法有三種:
其一是另設一個變量以區別隊列的空和滿;
其二是少用一個元素的空間,約定入隊前,測試尾指針在循環意義下加1後是否等於頭指針,若相等則認爲隊滿(注意:rear所指的單元始終爲空)。
另一種是設置計數器法。
以上就是海文考研爲大家整理的關於“2020計算機考研易錯題分析與常考點總結”的全部內容,希望對大吉有所幫助,更多考研備考指南盡在海文考研。
原文地址:成都海文考研
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章