资源简介
这个是哈尔滨工业大学计科专业数据库实验四的源码。实验要求是模拟数据库的物理实现。在使用前请先参考我的博客,里面有使用说明。

代码片段和文件信息
# coding=utf8
from Memory import Memory
path_select1 = ‘result/select1.txt‘
path_select2 = ‘result/select2.txt‘
path_project = ‘result/project.txt‘
path_join1 = ‘result/join1.txt‘
path_join2 = ‘result/join2.txt‘
path_join3 = ‘result/join3.txt‘
path_bing = ‘result/bing.txt‘
path_jiao = ‘result/jiao.txt‘
path_cha = ‘result/cha.txt‘
##线性查找
def linear_search():
output = open(path_select1 ‘w‘)
output.write(‘R: \n‘)
for i in range(100):
mr.load(0 i)
for t in mr.buffer[0]:
if t[0] == 40:
output.write(str(t[0]) + ‘ ‘ + str(t[1]) + ‘\n‘)
output.write(‘S: \n‘)
for i in range(200):
ms.load(0 i)
for t in ms.buffer[0]:
if t[0] == 60:
output.write(str(t[0]) + ‘ ‘ + str(t[1]) + ‘\n‘)
output.close()
##二分查找
def binary_search():
m = []
output = open(path_select2 ‘w‘)
for i in range(100):
mr.load(0 i)
m.extend(mr.buffer[0])
sort_r = sorted(m key=lambda t: t[0])
low = 0
high = len(sort_r) - 1
output.write(‘R: \n‘)
while low <= high:
mid = (low + high) / 2
if sort_r[mid][0] == 40:
output.write(str(sort_r[mid][0]) + ‘ ‘ + str(sort_r[mid][1]) + ‘\n‘)
tail = mid + 1
while tail < len(sort_r) and sort_r[tail][0] == 40:
output.write(str(sort_r[tail][0]) + ‘ ‘ + str(sort_r[tail][1]) + ‘\n‘)
tail += 1
head = mid - 1
while head > 0 and sort_r[head][0] == 40:
output.write(str(sort_r[head][0]) + ‘ ‘ + str(sort_r[head][1]) + ‘\n‘)
head -= 1
break
elif sort_r[mid][0] < 40:
low = mid + 1
else:
high = mid - 1
m = []
for i in range(200):
ms.load(0 i)
m.extend(ms.buffer[0])
sort_s = sorted(m key=lambda t: t[0])
low = 0
high = len(sort_s) - 1
output.write(‘S: \n‘)
while low <= high:
mid = (low + high) / 2
if sort_s[mid][0] == 60:
output.write(str(sort_s[mid][0]) + ‘ ‘ + str(sort_s[mid][1]) + ‘\n‘)
tail = mid + 1
while tail < len(sort_s) and sort_s[tail][0] == 60:
output.write(str(sort_s[tail][0]) + ‘ ‘ + str(sort_s[tail][1]) + ‘\n‘)
tail += 1
head = mid - 1
while head > 0 and sort_s[head][0] == 60:
output.write(str(sort_s[head][0]) + ‘ ‘ + str(sort_s[head][1]) + ‘\n‘)
head -= 1
break
elif sort_s[mid][0] < 60:
low = mid + 1
else:
high = mid - 1
output.close()
##投影操作
def project():
output = open(path_project ‘w‘)
output.write(‘R: \n‘)
m=[]
for i in range(100):
mr.load(0 i)
for t in mr.buffer[0]:
m.append(t[0])
m
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7496 2018-07-03 13:34 实验四\lab4.py
文件 3114 2018-07-01 16:17 实验四\Memory.py
目录 0 2018-07-03 22:05 实验四
----------- --------- ---------- ----- ----
10610 3
- 上一篇:opengl实现的光线跟踪
- 下一篇:ADS1256原理与特点
相关资源
- 哈工大的高等电磁学电磁场课件
- Linux操作系统课件PPT
- 超详细课件哈工大第七版理论力学
- 哈工大威海-嵌入式实验报告答案
- 卫星通信知识点总结不包含计算题
- 哈工大单片机教材课后答案张毅刚编
- 哈工大深圳NLP考试参考
- 哈工大威海编译原理实验报告和源代
- 哈工大威海-编译原理实验报告和源码
- 哈工大自然语言处理课件及实验
- 哈工大五个校区校园导航
- 哈工大计算机考研内部辅导班笔记
- 哈工大软件学院算法分析与设计考试
- 哈工大计网mooc答案,包含测验和期末
- 哈工大秋季学期人工智能3学分前两个
- 哈工大概率论与数理统计2008-2017试卷
- DSP原理与应用_哈工大(13-总复习)
- 哈工大王春宇形式语言PPT
- 哈工大计算机854考研真题计算机组成
- AM发射接收系统设计与仿真
- 哈工大计算机设计与实践 CPU
- 哈工大复试资料-随机信号分析总结笔
- 嵌入式系统哈工大
- 北邮《下一代Internet技术》 官方2017计
- 哈工大丁振良老师的仪器精度理论教
- 哈工大操作系统试验二:系统调用
- 哈尔滨工业大学人工智能课程课件赵
- 哈工大计算机网络试题
- EDA四路抢答器
- 哈工大集合论与图论课件
评论
共有 条评论