中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2024-2025學年高二上學期浙教版(2019)選修一2.1 數組 同步練習(含答案)

資源下載
  1. 二一教育資源

2024-2025學年高二上學期浙教版(2019)選修一2.1 數組 同步練習(含答案)

資源簡介

2023-2024學年高二上學期浙教版(2019)選修一2.1 數組
一、選擇題
1.棧和隊列的順序存儲結構通常使用哪種數據結構( )
A.鏈表 B.數組 C.樹 D.圖
2.下列數據中,不屬于列表的是( )
A.{10,15,20,25} B.[10,1.5,20,2.5]
C.[10,15,20,25] D.[a,"b",20,25]
3.鏈表和數組在存儲空間上的主要區別是什么( )
A.鏈表需要連續的內存空間,數組則不需要 B.數組需要連續的內存空間,鏈表則不需要
C.兩者都需要連續的內存空間 D.兩者都不需要連續的內存空間
4.下列關于數據結構的說法,不正確的是( )
A.數組、鏈表、隊列和棧都是常見的線性表數據結構
B.數組的存儲空間是連續的,鏈表的存儲空間可以是不連續的
C.每個鏈表必定有一個頭指針,同一鏈表中每個節點的結構均相同
D.對數組進行操作時,若某數組元素被刪除,數組占用的存儲空間會變小
5.給數組a賦值如下表,運行i=2 : i=i*i之后,讀取a(i)的值為
A.7.9
B.8.4
C.7.6
D.7.8
6.一維數組a(下標從0開始)中元素值依次為11--100之間的奇數,則數組元素a[k]的值是( )
A.2*k+10 B.2*k+11 C.2*k+12 D.2*k+13
7.數組是一種采用哪種存儲結構的數據結構( )
A.順序存儲結構 B.非順序存儲結構 C.索引存儲結構 D.散列存儲結構
8.一個數組的第一個元素的存儲位置為1000(表示在第1000個字節處),每個元素所占空間大小為8個字節,則第5個元素的位置是( )
A.1000 B.1040 C.1032 D.1256
9.語句Dim a&(1 To 20),b#(2,-1 To 1)定義兩個數組,其類型分別為: ( )
A.二維單精度實型數組和二雙精度型數組
B.二維長整型數組和二維單精度實型數組
C.一維單精度實型數組和二維整型數組
D.一維長整型數組和二維雙精度型數組
10.在一個長度為n的數組中的第i個元素(1<=i<=n)之前插入一個新元素時,需向后移動的元素個數為( )
A.i B.n-i C.n-i+1 D.n-i-1
11.定義數組 a(1 to 5,5)后,下列哪一個數組元素不存在( )。
A.a(1,1)
B.a(1,5)
C.a(0,1)
D.a(5,5)
12.下列關于數組的描述,正確的是( )
A.數組的大小是固定的,但可以有不同類型的數組元素
B.數組的大小是可變的,但所有數組元素的類型必須相同
C.數組的大小是固定的,所有數組元素的類型必須相同
D.數組的大小是可變的,可以有不同類型的數組元素
13.二維數組a的大小為n行m列,若a的存儲方式為行優先存儲,存儲a中每個元素所需的存儲空間為x,數組元素a[0][0]的存儲位置為s,則數組元素a[i][j]的存儲位置為( )
A.s+(i*n+j)*x B.s+(i*m+j)*x C.s+(i+j*n)*x D.s+(i+j*m)*x
14.鏈表相比于數組,在哪種情況下表現得更為高效( )
A.需要頻繁查找元素 B.需要隨機訪問元素
C.需要頻繁在中間插入和刪除元素 D.需要存儲大量靜態數據
15.數組是一種怎樣的數據結構( )
A.體現數據的線性關系 B.只能存儲相同類型的數據
C.不能直接通過下標訪問元素 D.不適合用于順序遍歷數據
二、填空題
16.數組 d 的初始值如表所示,則 d(d(3))+d(4)的值 ( )。
17.運行以下VB程序,結果是 。
18.在數據結構中, 是一種允許按照索引隨機訪問元素的數據結構,它提供了快速的數據訪問能力。
19.數組的特性包括: 、 、 。
三、操作題
20.某校舉行校園乒乓球循環賽,有n(假設n=2**k)名學生報名參加比賽,要求:
①每名選手都與其他n-1名選手比賽一次;
②每人每天只能賽一次;
③比賽共進行n-1天,要求每天沒有選手輪空。
以n=8(即k=3)為例,可以根據問題要求,制定出如圖a所示的一種循環比賽表:
圖a
從八名選手的循環比賽表中可以看出,這是一個具有對稱性的方陣,可以把方陣一分為四來看:
①左上角的4×4的方陣就是前四名選手的循環比賽表,而右上角的4×4的方陣就是后四名選手的循環比賽表,它們在本質上是一樣的,都是4名選手的循環比賽表,所不同的只是選手編號不同而已,將左上角方陣中的所有元素依次加上4就能得到右上角的方陣。
②下方的兩個方陣同樣具有對稱性。右下角的方陣應與左上角的方陣相同,左下角的方陣應與右上角的方陣相同。
可見,八名選手的循環比賽表可以由四名選手的循環比賽表根據對稱性生成,四名選手的循環比賽表可以由兩名選手的循環比賽表根據對稱性生成。那么,具有n名選手的情況可依此類推。八名選手的對稱性生成過程如圖b所示。
圖b 圖c
(1)在有n(假設n恰好等于2**k)名選手參賽的循環比賽表中,將左上角方陣中的所有元素依次加上 (用k表示)就能得到右上角的方陣。
(2)實現上述功能的部分python程序代碼如下,請在劃線處填入合適的代碼。
#導入參賽選手名單,并將名單存入列表nlist中,nlist=["張*","李*",…],代碼略
import math
n=len(nlist)#假設參賽人數n恰好為2的k次方
def create_table(n):
a=[[1 for i in range(n)] for j in range(n)]
k=0;half=1
while k< math.log(n,2):#函數math.log(n,2)的功能為求以2為底n的對數
for i in range(half):#構造右上方方陣
for j in range(half):
a[i][j+half]=①
for i in range(half): #對稱交換構造下半部分方陣
for j in range(half):

a[i+half][j+half]=a[i][j]

k+=1
return a
def print_table(a,n):
print("循環賽對戰表:",end="\n")
s=" "
for i in range(1,n):
s=s+"第"+str(i)+"天"
print(s)
for x in a:
for y in x:
print(④ ,end=" ")
print()
print_table(create_table(n),n)#生成如圖c所示的循環賽對戰表
21.某物流公司受委托對客戶下單的大件貨品進行打包發貨。現有三種貨品A、B、C,每件貨品的打包時間均為半小時。下午12:00開始每隔1時接受一次訂單,并非每次都有新訂單產生。公司安排的打包工作時間為12:00—18:00,假設當日訂單在工作時間內就能完成。公司有甲、乙、丙三位師傅對貨品進行打包,貨品按照甲、乙、丙的順序分配給各師傅處理,每位師傅一次打包一件貨品。打包規則:若下單時間相同,優先級越高(數字越小,優先級越高)的貨品,先全部打包完成;若不同,則下單時間更早的貨品先處理完成。
訂單輸入格式示例:7A2B、4B10A(說明:4B10A指訂單中有4件B類貨品,10件A類貨品)。請編寫程序,輸出某天下午甲、乙、丙的貨品打包順序和打包報酬,甲的輸出示例:3A5B1C,200元。
貨品 優先級 打包報酬(元/件) 下單時間 貨品及數量
A 1 30 12:00 2B7A
B 2 20 14:00 7B
C 3 10 15:00 6B5C
表1 表2
(1)若某天貨品下單信息如表2所示,則甲的打包順序為3A5B1C,乙的打包報酬為 元
(2)定義如下convert(data)函數,參數data為一個訂單,包括貨品和數量,函數功能將訂單轉換成貨品名稱序列,如訂單2B1A1C轉換成ABBC。請在劃線處填上合適的代碼。
def convert(data):
num,q=0,""
qsort=["","",""]
for i in range(len(data)):
if data[i]>="0" and data[i]<"9":
num=
else:
for j in range(num):
q+=data[i]
qsort[ord(data[i])-ord("A")]=q
num,q=0,""
s=qsort[0]+qsort[1]+qsort[2]
return s
(3)實現該功能的Python主程序如下,請在劃線處填入合適的代碼。
goods=[30,20,10]
m=(18-12)*2 #12:00-18:00之間每半個小時為一個時間結點
b=[ ]
for i in range(m):
b.append("") #append()用于在列表的末尾添加一個元素
a=[["12:00","2B7A"]["14:00","7B"],["15:00","6B3C"]]
for i in range(len(a)):
que=convert(① )
x=(int(a[i][0][0:2])-12)*2#將時間轉換為對應的結點
while len(b[x])==3:
x=x+1
while len(que)>0:
t=3-len(b[x])
if len(que) t=len(que)
b[x]=②
if t==len(que):
que=""
else:
que=que[t:]
x+=1
s1,salary="",0
for i in range(m): #甲處理順序和打包報酬輸出
if b[i]!="":
s1+=b[i][0]
salary+=③
#將s1中形如“ABBCC”的格式,轉換成“1A2B2C”的格式,代碼略
print("甲處理順序和打包報酬:",s1,str(salary)+"元")
#乙、丙處理順序和打包報酬輸出略
四、簡答題
22.描述什么是數組以及數組在編程中的作用。
參考答案:
1.B
2.A
3.B
4.D
5.B
6.B
7.A
8.C
9.D
10.C
11.C
12.C
13.B
14.C
15.A
16.20
17.2
18.數組
19. 數組元素的數據類型相同 通過數組名和下標對數組元素的值進行訪問 存儲空間固定不變
20. 2**(k-1) 或 2k-1 a[i][j]+half a[i+half][j]=a[i][j+half] half*=2 或 half= half*2 nlist[y-1]
21. 180 num*10+int(data[i]) a[i][1] b[x]+que[0:t] goods[ord(b[i][0])-ord("A")] 或 goods[ord(b[i][0])-65]
22.數組是一種基本的數據結構,用于存儲一系列相同類型的元素。在編程中,數組可以方便地進行批量數據處理,提供快速的數據訪問和更新。

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 红桥区| 淄博市| 龙井市| 防城港市| 建瓯市| 广灵县| 西充县| 渑池县| 石城县| 项城市| 定襄县| 龙江县| 巴林右旗| 鹤壁市| 麟游县| 东阿县| 滕州市| 铁岭县| 健康| 吉水县| 利川市| 沙湾县| 白城市| 姚安县| 西城区| 铜陵市| 青海省| 阜平县| 肇源县| 枞阳县| 汝南县| 大余县| 巩留县| 江川县| 雷波县| 南靖县| 奎屯市| 衡东县| 古浪县| 五常市| 阳信县|