以下为《算法与线性结构学案》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
线性数据结构应用讲义
一、知识回顾
代码一:
s=0
a=[0]*7
for i in range(6):
a[i]=i+1
s+=a[i]
for i in range(3,6):
a[i]=a[i+1]
print(a,s)
数据结构类型:______________
基本存储形式:
/
代码二:
head=0
tail=0
que=[“”]*5
s="ABCD"
for i in range(len(s)):
que[tail]=s[i]
tail+=1
while head!=tail:
print(que[head],end=" ")
head+=1
数据结构类型:______________
基本存储形式:
/
代码三:
s=[""]*10
top=-1
for i in range(5):
top+=1
s[top]=i+1
while top!=-1
print(st[top])
top-=1
数据结构类型:______________
基本存储形式:
/
代码四:
lb=[]
head=0
lb.append([1,-1])
for i in range(1,4):
lb.append([i+1,-1])
lb[i-1][1]=i
p=1 #在p后插入一项值为5
lb.append([5,lb[p 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 #k表示从1开始的报数
#输出语句提示:print(sz[i],end=",")
#约瑟夫环问题-队列
n=int(input("输入人数n:"))
m=int(input("输入报数m:"))
que=[0]*200
head=0
tail=0
for i in range(n):
que[tail]=i+1
tail+=1
k=1 #k表示从1开始的报数,head和tail控制圈内人数
#输出语句提示:print(que[head],end=",")
#约瑟夫环问题-循环链表
n=int(input("输入人数n:"))
m=int(input("输入报数m:"))
lb=[]
for i in range(n-1): #创建循环链表
lb.append([i+1,i+1])
lb.append([n,0])
head=0
p=n #p表示圈内人数
k=1 #k表示从1开始的报数
#输出语句提示:print(lb[t][0],end=",")
4.拓展实践
开始时输入整数m作为第一次出局的报数,接下来报数时每个人出列后下次报数的m都会随机变化,m的范围在[1,5],请修改自己的程序,实现随机报数出列的顺序。
5.思考
能否用字符串和栈来实现约瑟夫环的问题
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《算法与线性结构学案》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。