山东大学数据结构实验报告四.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山东大学 软件工程 学院 数据结构 课程实验报告 学号: 姓名: 班级:软件工程 2014 级 2 班 实验题目:矩阵和散列表 实验学时: 实验日期: 2015.11.11 实验目的: 掌握特殊矩阵和稀疏矩阵。 掌握散列表及其应用。 硬件环境: 实验室 软件环境: Vistual Studio 2013 实验步骤与内容: 实验内容: 1、创建三对角矩阵类,采用按列映射方式,提供 store 和 retrieve 方法。 2、创建下三角矩阵类,采用按列映射方式,提供 store 和 retrieve 方法。 3、创建稀疏矩阵类,采用行主顺序把稀疏矩阵映射到一维数组中,实现稀疏矩阵的转 置和两个稀疏矩阵的加法操作。 4 、使用散列表设计实现一个字典,假设关键字为整数且 D 为 961 ,在字典中插入随机产 生的 500 个不同的整数,实现字典的建立和搜索操作。分别使用线性开型寻址和链表散 列解决溢出。 代码体: ChainHashTableNode.h #pragma once #include"ChainHashTableNode.h" using namespace std; class ChainHashTable { public: ChainHashTable(int divisor); ~ChainHashTable(); bool Insert(int k); bool Search(int k); void print(); private: int d; ChainHashTableNode *ht; }; ChainHashTableNode.cpp #include "ChainHashTable.h" #include<iostream> using namespace std; ChainHashTable::ChainHashTable(int divisor) { d = divisor; ht = new ChainHashTableNode[d]; } bool ChainHashTable::Insert(int k) { int j = k%d; if (ht[j].Insert(k)) { return true; } else{ return false; } } void ChainHashTable::print() { for (int i = 0; i < d; i++) { ht[i].print(); } } ChainHashTableNode.h #pragma once #include"Node.h" class ChainHashTableNode { public: ChainHashTableNode(); bool Insert(int k); bool Search(int k); void print(); private: Node *first; }; ChainHashTableNode.cpp #include "ChainHashTableNode.h" #include <iostream> using namespace std; ChainHashTableNode::ChainHashTableNode() { first = 0; } bool ChainHashTableNode::Search(int k) { i

文档评论(0)

xina171127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档