使用列表["+",5]表示申請(qǐng)連續(xù)5B的內(nèi)存,使用列表[2,2]表示回收位置2開(kāi)始連續(xù)2B的內(nèi)存。若指令集表示為:order=[["+",5],[2,2],["+",8],[8,3]]。隨著指令集被執(zhí)行,1024B連續(xù)的內(nèi)存塊會(huì)被分割成若干個(gè)占用內(nèi)存和空閑內(nèi)存。為方便起見(jiàn),“占用內(nèi)存”用1表示,“空閑內(nèi)存”用0表示,故執(zhí)行上述指令集后,內(nèi)存占用情況如2圖所示:
若將空閑塊用鏈表組織起來(lái),就可以快速查找空閑塊和刪除空閑塊。把連續(xù)的空閑塊定義為一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)由[空閑塊起點(diǎn), 空閑塊長(zhǎng)度, 下一個(gè)空閑塊位置]三部分內(nèi)容構(gòu)成。根據(jù)2圖內(nèi)存占用情況,創(chuàng)建的空閑塊鏈表如3圖所示:
def linkList(allot): #linkList函數(shù)功能:根據(jù)內(nèi)存占用0/1列表allot,創(chuàng)建空閑塊鏈表link
link = [ [-1,-1,-1] ] #鏈表包含一個(gè)空頭節(jié)點(diǎn)
head = tail = 0 ; n = len( allot ) ; i = 0
while i < n :
if allot[ i ] == 0 :
j = i + 1
while j<n and allot[ j ] == 0:
j = j + 1
link.append( [ i , j – i , -1 ] )
link[ tail ][ 2 ] = ▲
tail = len( link ) - 1
else:
i += 1
return head , link
請(qǐng)?jiān)凇幪钊牒线m的代碼。
若將加框處的代碼修改為i = j,是否影響程序的執(zhí)行結(jié)果(選填:是/否)。
#通過(guò)文件讀入內(nèi)存分配表allot和指令集order,其代碼略。
head , link = linkList ( allot )
for i in range( len( order ) ):
if order[ i ][ 0 ] == " + ": #必須分配連續(xù)的空閑塊,且由第一個(gè)滿足空間大小的節(jié)點(diǎn)分配
p = head ; q = link[ head ][ 2 ]
while :
p = q ; q = link[ q ][ 2 ]
if q == -1:
print( "內(nèi)存不足!" )
else:
if link[q][1] == order[i][1]:
else:
link[ q ][ 0 ] = link[ q ][ 0 ] + order[ i ][ 1 ]
link[ q ][ 1 ] = link[ q ][ 1 ] - order[ i ][ 1 ]
else:
p = head ; q = link[ head ][ 2 ]
while q != -1 and link[ q ][ 0 ]<order[ i ][ 0 ]:
p = q ; q = link[ q ][ 2 ]
if link[ p ][ 0 ] + link[ p ][ 1 ] == order[ i ][ 0 ]: #前面節(jié)點(diǎn)合并
link[ p ][ 1 ] = link[ p ][ 1 ] + order[ i ][ 1 ]
else:
link.append([ order[ i ][ 0 ] , order[ i ][ 1 ] , q]) #添加節(jié)點(diǎn)
link[ p ][ 2 ] = len( link ) - 1
p = link[ p ][ 2 ]
if q != -1 and : #后面節(jié)點(diǎn)合并
link[ p ][ 1 ] = link[ p ][ 1 ] + link[ q ][ 1 ]
link[ p ][ 2 ] = link[ q ][ 2 ]
1圖 | 2圖 |
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi','SimHei','FangSong'] #設(shè)置中文字體
df = pd.read_excel( "student.xlsx" )
df_err = df[ ▲ ]
請(qǐng)?jiān)凇幪钊牒线m的代碼。
km = ["語(yǔ)文","數(shù)學(xué)","英語(yǔ)","物理","化學(xué)","生物","政治","歷史","地理","技術(shù)"]
df1 = df . groupby( "班級(jí)" ) .
print( df1 ) #2圖所示
#刪除“姓名”和“科目數(shù)”列
df2 = df1 . drop(["姓名","科目數(shù)"] , axis = 1)
g = df2 . sum() #g為Series對(duì)象
#統(tǒng)計(jì)各科目的人數(shù)占總?cè)藬?shù)的比例
for k in km:
per = / len( df ) * 100
print(k , "比例為:" , round(per,2) , "%")
x =
y = g . values
plt.bar( x , y ) #3圖所示
plt.title("各科補(bǔ)弱比例對(duì)比")
plt.show()
n = int(input())
a,b,num = 2,1,2
for i in range(n-1):
print(num)
方框中的代碼由以下三部分組成:①num += a / b ②a = a + b ③b = a - b代碼順序正確的選項(xiàng)是( )
某景區(qū)為提升景區(qū)管理與游客體驗(yàn),設(shè)計(jì)了游客管理信息系統(tǒng)。該系統(tǒng)集成了游客信息管理、網(wǎng)上票務(wù)預(yù)訂、數(shù)據(jù)分析等功能,旨在實(shí)現(xiàn)游客流量監(jiān)控與資源優(yōu)化分配。系統(tǒng)收集游客的活動(dòng)數(shù)據(jù)并上傳至服務(wù)器,結(jié)合人工智能、大數(shù)據(jù)和云計(jì)算技術(shù),精準(zhǔn)分析游客行為,為景區(qū)決策提供有力支持。同時(shí),游客利用移動(dòng)終端APP與景區(qū)客服機(jī)器人互動(dòng),享受個(gè)性化服務(wù)。
⑴手機(jī)橫豎智能切換
⑵智能手環(huán)具有計(jì)步功能
⑶手機(jī)根據(jù)環(huán)境亮度自動(dòng)調(diào)節(jié)屏幕背光的亮度