(1)根据题意,部分的单词库数据逻辑结构如图所示,查找单词“byte”的过程是“binary”→“bit”→“byte”,补充图中空白单元格的值为
列表索引 | 数据区域 | 指针区域 | |
0 | audio | 音频 | -1 |
1 | binary | 二进制数 | 6 |
2 | byte | 字节 | -1 |
3 | cursor | 光标 | -1 |
4 | access | 存取 | 1 |
5 | cache | 高速缓存 | 3 |
6 | bit | 比特 | ________ |
def wordlist(data,info):
n=len(data)
for i in range(n):
data[i].append(—1) #data[i]追加一个元素—1
for i in range(n):
d=data[i][0]
if info[k] ==-1:
info[k] = i
else:
head=info[k]
q=head
while②
p=q
q=data[q][2]
if q!=head:
data[p][2]=i
data[i][2]=q
else:
data[i][2]=head
return data,info
(3)searchword(data,info,key)函数实现单词的查找。程序如下,请在划线处填入合适的代码。
def searchword(data,info,key):
k=ord(key[0])—ord("a")
head=info[k]
p=head
while p!=-1:
if data[p][0]==key:
return
p=data[p][2]
return"没有找到该单词"
读取词汇数据库,存入列表data中,列表的每个元素包含2个数据项,分别为英文单词和中文翻译,如data=[['audio','音频'],['binary','二进制数']…],数据读取存入的代码略。
’’’
info=[-1]*26
data,info=wordlist(data,info)
key=input("请输入查找单词:").lower() #转化为小写字母
res=searchword(data,info,key)
print(key,“查找结果是:”,res)
同类型试题
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2