《哈希表查找算法 哈希表查找算法课程设计任务书.doc》由会员分享,可在线阅读,更多相关《哈希表查找算法 哈希表查找算法课程设计任务书.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流哈希表查找算法 哈希表查找算法课程设计任务书.精品文档.哈希表查找算法 哈希表查找算法课程设计任务书 导读:就爱阅读网友为您分享以下“哈希表查找算法课程设计任务书”的资讯,希望对您有所帮助,感谢您对的支持! 课 程 设 计 题 目 学 院 专 业 班 级 姓 名 指导教师 哈希表查找算法的实现 计算机科学与技术学院 计算机科学与技术专业 计科1004班 郭守飞 许毅 2012 年 6 月 21 日 课程设计任务书 学生姓名: 郭守飞 专业班级: 计科1004班 指导教师: 许毅 工作单位:计算机科学与技术学院 题目: 哈希表查找算法的实现 初
2、始条件: 理论:完成了汇编语言程序设计课程,对微机系统结构和80系列指令系统有了 较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。 实践:完成了汇编语言程序设计的4个实验,熟悉了汇编语言程序的设计环境并 掌握了汇编语言程序的调试方法。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具 体要求) 进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求: 1) 输入一些整数,采用哈希表结构存储; 2) 实现对哈希表的查找; 3) 程序采用子程序结构,结构清晰; 4) 友好清晰的用户界面,能识别输入错误并控制错误的修改。
3、 在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。 阅读资料: 1)IBMPC汇编语言程序设计实验教程实验2.4 2)IBMPC汇编语言程序设计(第2版)例6.11 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试,和验收。 周5:撰写课程设计报告。 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 哈希表查找算法的实现 1. 设计内容及要求 (1)输入一些整数,采用哈希表结构存储; (2)实现对哈希表的查找; (3)程序采用子程序结构,结构清晰; (4)友好清晰的用户界面,能识别输入错误并控制错误
4、的修改。 2.设计方案说明 流程图注解: 该程序由主程序main和inputkey,hashsearch,crlf三个子程序组成,程序运行时会显示一个有好清晰的用户界面,该界面会有哈希表的相关信息。根据提示输入1时,程序会输出哈希表并提示输入要查找的数字,输入完数字后,如果存在就显示在哈希表中的位置,如果不存在就显示不存在。输入2时就退出程序。 3.程序代码 data segment hashtable db ?,12,15,68,29,51,13,24,81,75,26,19,18,?,?,? /定义一个哈希表 temp db ?,? x db 13 y db 16 menu db 0dh,
5、0ah,'* Hash table search *' db 0dh,0ah,' Declarations: ' db 0dh,0ah,' 1.the length of the list: m=16 ' db 0dh,0ah,' 2.hash function is: h(key)=key mod 13 ' db 0dh,0ah,' 3.collision management: linear rehash method ' db 0dh,0ah,' hi=( h(key)+di ) mod m '
6、; db 0dh,0ah,' i=1,2,.,k (k<=m-1) di=1,2,.,m-1 ' db 0dh,0ah,' Instructions: ' db 0dh,0ah,' Input range:0255 ' db 0dh,0ah,' Enter a number(1 or 2) ' db 0dh,0ah,' 1:CONTINUE 2:EXIT ' db 0dh,0ah,'*$' mess0 db 0dh,0ah,'The hash table is: ' db 0d
7、h,0ah,'?,12,15,68,29,51,13,24,81,75,26,19,18,?,?,?' db 0dh,0ah,'INPUT KEY:$' mess1 db 0dh,0ah,'FOUND!$'mess11 db 0dh,0ah,'The location (start with 0) is :$' mess2 db 0dh,0ah,'SORRY,NOT FOUND!$' mess3 db 0dh,0ah,'ILLEGAL KEY DETECTED! Input again!$' mes
8、s4 db 0dh,0ah,'EXIT NOW.$' mess5 db 0dh,0ah,'CONTINUE? 1.CONTINUE 2.EXIT$' data ends code segment assume cs:code,ds:data main proc far / 主程序main开始 push ds push ax start: mov ax,data mov ds,ax lable: lea dx,menu mov ah,09h int 21h call crlf mov ah,01h int 21h cmp al,31h jz func cmp al,32h jz exit