栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据结构与算法A实验七查找(PYTHON)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构与算法A实验七查找(PYTHON)

7-1 电话聊天狂人 (25 分)
n=int(input())
lis={}
for i in range(n):
    a,b=input().split(" ");
    if a not in lis:
        lis[a]=1
    else:
        lis[a]+=1
    if b not in lis:
        lis[b]=1
    else:
        lis[b]+=1
mx=-1
num=0
for i in lis.keys():
    if lis[i]==mx:
        num+=1
        if ans>i:
            ans=i
    elif lis[i]>mx:
        num=1
        ans= i
        mx=lis[i]
if num==1:
    print(ans,mx)
else:
    print(ans,mx,num)


7-2 两个有序序列的中位数 (25 分)
n=int(input())
lis=list(map(int,input().split(" ")))+list(map(int,input().split(" ")))
lis.sort()
print(lis[n-1])
7-3 词频统计 (30 分)
import sys
s = sys.stdin.read()
s = s[:s.find("#")]
for k in set([i for i in s if i.isalnum()==False and i!='_']):
    s = s.replace(k,' ')#除字母数字和_外都看作空格
t = s.rstrip().lower().split()#去除末尾空格#.split()生成单词列表
d = {}
for i in t:
    d[i[:15]] = d.get(i[:15],0)+1
res = sorted(d.items(),key=lambda x:(-x[1],x[0]))#value降序key升序#转为相反数即升序
print(len(res))
for i in range(int(len(res)/10)):
    print(str(res[i][1])+":"+res[i][0])

7-4 集合相似度 (25 分)
n=int(input())
a=[]
i=0
while i 
7-5 悄悄关注 (25 分) 
l=input().split()
n=int(input())
del l[0]
dic={}
sum=0
for i in range(n):
    a,b=input().split()
    b=int(b)
    sum+=b
    dic[a]=b

sum/=n
res=[]
for i in l:
    dic[i]=-1
for i in dic:
    if  dic[i]>sum:
        res.append(i)
res.sort()
for i in res:
    print(i)
if len(res)==0:
    print("Bing Mei You")
7-6 单身狗 (25 分)
a=int(input())
l=[input().split() for i in range(a)]
ll={}
for i in l:
    ll[i[0]]=i[1]
    ll[i[1]]=i[0]
m,l2=input(),set(input().split())
l3=list(sorted([i for i in l2 if ll.get(i,"0") not in l2]))
print(len(l3))
if len(l3):
    print(*l3)

7-7 词典 (15 分)
n,m=map(int,input().split())
dic={}
for i in range(n):
    a,b=input().split()
    dic[b]=a
for i in range(m):
    a=input();
    if a not in dic.keys():
        print("eh")
    else:
        print(dic[a])



7-8 中序遍历树并判断是否为二叉搜索树 (20 分)

lis=[]
def solve( x):
    if x in lt.keys():
        solve(lt[x])
    print(x)
    lis.append(x)
    if x in rt.keys():
        solve(rt[x])
n=int(input())
lt,rt={},{}
if n==0:
    print("Yes")
else:
    k=int(input())
    flag=True
    for i in range(n-1):
        r,d,e=map(int,input().split())
        if d==0:
            lt[r]=e
        else:
            rt[r]=e
solve(k)
if lis==sorted(lis):
    print("Yes")
else:
    print("No")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号