資源簡介 2.2 鏈表的應用姓名: 班級:1. 下列關于鏈表的說法,正確的是( )A.鏈表中的各元素在存儲空間中的位置必須是連續的B.鏈表中的表頭元素一定存儲在其他元素的前面C.鏈表中的各元素在存儲空間中的位置不一定連續,且各元素存儲順序也是任意的D.鏈表一旦創建好后,它的占用空間就是固定的2. 在一個包含n(n>1)個節點的單鏈表上,沒有頭和尾兩個指針,下列操作需要遍歷多個節點的是( )A.刪除該鏈表中的第一個節點 B.刪除該鏈表中的最后一個節點C.在該鏈表第一個節點前插入一個新節點 D.在該鏈表最后一個節點后插入一個新節點3. 用python的二維列表來模擬單向鏈表,已知列表a=[[“紅”,1], [“橙”,2], [“綠”,3],[“青”,-1]],則在刪除節點“橙”之后,列表a的值為( )A. [[“紅”,1],[“綠”,3],[“青”,-1]]B. [[“紅”,1],[“綠”,2],[“青”,-1]]C. [[“紅”,1], [“橙”,2], [“綠”,3],[“青”,-1]]D. [[“紅”,2], [“橙”,2], [“綠”,3],[“青”,-1]]4. 使用python的二維列表來模擬單向鏈表,已知列表a=[[“紅”,1],[“綠”,2],[“青”,-1]],則在節點“紅”和節點“綠”之間插入節點“橙”之后,列表a的值為( )A. [[“紅”,3],[“綠”,2],[“青”,-1],[“橙”,1]]B. [[“紅”,1],[“綠”,2],[“青”,-1],[“橙”,3]]C. [[“紅”,1],[“橙”,3],[“綠”,2],[“青”,-1]]D. [[“紅”,1],[“橙”,2],[“綠”,3],[“青”,-1]]5.下列代碼創建了一個擁有4個節點的雙鏈表a:a=[[2,2,3],[8,3,-1],[0,-1,0],[4,0,1]]head=2則其頭節點和尾節點數據域的值分別為( )A.2和4 B.0和8 C.8和0 D.3和-15.有如下代碼段:a=[[2,2,5],[8,0,5],[0,- 1,0],[1,- 1,2],[5,5,- 1],[3,0,- 1]]head=2則該雙向鏈表a的節點數量為( )A.3 B.4 C.5 D.66.有如下python程序段:a=[[7,1],[8,2],[9,-1],[6,0]]head=3head=a[head][1]則程序執行后,鏈表a有幾個節點( )A.1 B.2 C.3 D.47.有如下python程序段,表示一個鏈表及操作:a=[[5,-1],[9,4],[7,3],[2,1],[6,0]]head=2p=headb=[ ]While a[p][1]!=-1:b.append(a[p][0])p=a[p][1]b.append(a[p][0])print(b)程序執行后,輸出的結果為( )A.[7,2,9,6,5,5] B.[5,9,7,2,6] C.[7,2,9,6,5] D.[2,9,6]8.有如下python程序段:a=[[1,1],[2,2],[3,3],[4,-1]]head=0cur=a[head][1]a[head][1]=-1while cur!=-1:next_=a[cur][1]a[cur][1]=headhead,cur=cur,next_則程序執行后,a的值為( )A.[[1,1],[2,2],[3,3],[4,-1]] B.[[1,-1],[2,0],[3,1],[4,2]]C.[[4,1],[3,2],[2,3],[1,-1]] D.[[4,-1],[3,0],[2,1],[1,2]]9.有如下python程序段:a=[[4,2,-1],[0,-1,2],[2,1,0]]head=1a.append([8,-1,-1])p=headwhile a[p][2]!=-1:p=a[p][2]a[p][2]=len(a)-1a[-1][1]=p上述代碼段中的二維列表a看作是一個雙向鏈表,則執行上述語句后,雙向鏈表的結構可以表示為( )A.4->0->2->8 B. 8->4->0->2C. 0->2->4->8 D. 8->0->2->410.有如下python程序段:a=[[2,2,3],[8,3,-1],[0,-1,0],[4,0,1]]head=2if a[head][2]!=-1:a[a[head][2]][1]=-1head=a[head][2]上述代碼段中的二維列表a看作是一個雙向鏈表,則執行上述語句后,雙向鏈表的結構可以表示為( )A. 0->2->4->8 B. 0->2->4 C. 0->2->8 D. 2->4->811、十二生肖,又稱屬相,是中國與十二地支相配、表示人出生年份的十二種動物,包括“鼠牛虎兔龍蛇馬羊猴雞狗豬”,小美創建了一個單向鏈表,每個節點存儲一個生肖名稱,可是他漏掉了生肖鼠、生肖馬和生肖豬。下列代碼能將漏掉的三個生肖添加到鏈表中,請在劃線處填入合適的代碼。a=[[“牛”,1],[“虎”,2],[“兔”,3],[“龍”,4],[“蛇”,5],[“羊”,6],[“猴”,7],[“雞”,8],[“豬”,9]]head=0#從鏈表頭部插入存儲生肖鼠的新節點node=[“鼠”,head]a.append(node)head=此時鏈表a=#從鏈表中部插入存儲生肖馬的新節點new="馬"p=headwhile a[p][0]!= :p=a[p][1]a.append([new, ]])a[p][1]=len(a)-1print(a)此時鏈表a=#從鏈表尾部插入存儲生肖豬的新節點node=a.append(node)p=headwhile a[p][1]!=-1:p=a[p][1]=此時鏈表a=2.2 鏈表的應用姓名: 班級:1. 下列關于鏈表的說法,正確的是( c )A.鏈表中的各元素在存儲空間中的位置必須是連續的B.鏈表中的表頭元素一定存儲在其他元素的前面C.鏈表中的各元素在存儲空間中的位置不一定連續,且各元素存儲順序也是任意的D.鏈表一旦創建好后,它的占用空間就是固定的2. 在一個包含n(n>1)個節點的單鏈表上,沒有頭和尾兩個指針,下列操作需要遍歷多個節點的是( B )A.刪除該鏈表中的第一個節點 B.刪除該鏈表中的最后一個節點C.在該鏈表第一個節點前插入一個新節點 D.在該鏈表最后一個節點后插入一個新節點3. 用python的二維列表來模擬單向鏈表,已知列表a=[[“紅”,1], [“橙”,2], [“綠”,3],[“青”,-1]],則在刪除節點“橙”之后,列表a的值為(D)A. [[“紅”,1],[“綠”,3],[“青”,-1]]B. [[“紅”,1],[“綠”,2],[“青”,-1]]C. [[“紅”,1], [“橙”,2], [“綠”,3],[“青”,-1]]D. [[“紅”,2], [“橙”,2], [“綠”,3],[“青”,-1]]4. 使用python的二維列表來模擬單向鏈表,已知列表a=[[“紅”,1],[“綠”,2],[“青”,-1]],則在節點“紅”和節點“綠”之間插入節點“橙”之后,列表a的值為(A)A. [[“紅”,3],[“綠”,2],[“青”,-1],[“橙”,1]]B. [[“紅”,1],[“綠”,2],[“青”,-1],[“橙”,3]]C. [[“紅”,1],[“橙”,3],[“綠”,2],[“青”,-1]]D. [[“紅”,1],[“橙”,2],[“綠”,3],[“青”,-1]]5.下列代碼創建了一個擁有4個節點的雙鏈表a:a=[[2,2,3],[8,3,-1],[0,-1,0],[4,0,1]]head=2則其頭節點和尾節點數據域的值分別為( B )A.2和4 B.0和8 C.8和0 D.3和-15.有如下代碼段:a=[[2,2,5],[8,0,5],[0,- 1,0],[1,- 1,2],[5,5,- 1],[3,0,- 1]]head=2則該雙向鏈表a的節點數量為( a)A.3 B.4 C.5 D.66.有如下python程序段:a=[[7,1],[8,2],[9,-1],[6,0]]head=3head=a[head][1]則程序執行后,鏈表a有幾個節點(C )A.1 B.2 C.3 D.47.有如下python程序段,表示一個鏈表及操作:a=[[5,-1],[9,4],[7,3],[2,1],[6,0]]head=2p=headb=[ ]While a[p][1]!=-1:b.append(a[p][0])p=a[p][1]b.append(a[p][0])print(b)程序執行后,輸出的結果為(c)A.[7,2,9,6,5,5] B.[5,9,7,2,6] C.[7,2,9,6,5] D.[2,9,6]8.有如下python程序段:a=[[1,1],[2,2],[3,3],[4,-1]]head=0cur=a[head][1]a[head][1]=-1while cur!=-1:next_=a[cur][1]a[cur][1]=headhead,cur=cur,next_則程序執行后,a的值為( B )A.[[1,1],[2,2],[3,3],[4,-1]] B.[[1,-1],[2,0],[3,1],[4,2]]C.[[4,1],[3,2],[2,3],[1,-1]] D.[[4,-1],[3,0],[2,1],[1,2]]9.有如下python程序段:a=[[4,2,-1],[0,-1,2],[2,1,0]]head=1a.append([8,-1,-1])p=headwhile a[p][2]!=-1:p=a[p][2]a[p][2]=len(a)-1a[-1][1]=p上述代碼段中的二維列表a看作是一個雙向鏈表,則執行上述語句后,雙向鏈表的結構可以表示為( c )A.4->0->2->8 B. 8->4->0->2C. 0->2->4->8 D. 8->0->2->410.有如下python程序段:a=[[2,2,3],[8,3,-1],[0,-1,0],[4,0,1]]head=2if a[head][2]!=-1:a[a[head][2]][1]=-1head=a[head][2]上述代碼段中的二維列表a看作是一個雙向鏈表,則執行上述語句后,雙向鏈表的結構可以表示為( d )A. 0->2->4->8 B. 0->2->4 C. 0->2->8 D. 2->4->811、十二生肖,又稱屬相,是中國與十二地支相配、表示人出生年份的十二種動物,包括“鼠牛虎兔龍蛇馬羊猴雞狗豬”,小美創建了一個單向鏈表,每個節點存儲一個生肖名稱,可是他漏掉了生肖鼠、生肖馬和生肖豬。下列代碼能將漏掉的三個生肖添加到鏈表中,請在劃線處填入合適的代碼。a=[[“牛”,1],[“虎”,2],[“兔”,3],[“龍”,4],[“蛇”,5],[“羊”,6],[“猴”,7],[“雞”,8],[“豬”,9]]head=0#從鏈表頭部插入存儲生肖鼠的新節點node=[“鼠”,head]a.append(node)head= len(a)-1此時鏈表a=#從鏈表中部插入存儲生肖馬的新節點new="馬"p=headwhile a[p][0]!= “蛇” :p=a[p][1]a.append([new, a[p][1] ]])a[p][1]=len(a)-1print(a)此時鏈表a=#從鏈表尾部插入存儲生肖豬的新節點node= [“豬”,-1]a.append(node)p=headwhile a[p][1]!=-1:p= a[p][1]a[p][1]= len(a)-1此時鏈表a= 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫