数据结构与算法书面作业

发布 2023-05-20 21:45:28 阅读 4573

1. 简要说明顺序查找、二分(折半)查找和分块(索引)查找法对查找表中元素的要求。

顺序查找:表中元素可以任意次序存放。

二分查找:表中元素必须有序。

分块查找:表中每块内元素可任意次序存放,但块与块之间必须有序。

2. 写出在序列中二分查找“82”和“35”的过程及结果。

3. 已知散列表地址区间为0~10,哈希函数为h(k)=k%ll,给定关键字序列(16,13,20,18,23,15,31,45,56)。分别采用线性探查法和链地址法解决冲突,将以上关键字依次存储到哈希表中。

请描述出散列地址的计算过程和最后得到的散列表,然后在每个散列表中查找数据“12”,写出进行比较数据的次数和查找结果。

1)用线性探查法解决冲突建立散列表:

h(16)=16%ll=5;

h(13)=13%ll=2;

h(20)=20%ll=9;

h(18)=18%ll=7;

h(23)=23%ll=1;

h(15)=15%ll=4;

h(31)=31%ll=9,冲突;

h1 =(h(31)+1)%11=10;

h(45)=45%ll=1,冲突;

h1 =(h(45)+1)%11=2,冲突;

h2 =(h(45)+2)%11=3;

h(56)=56%ll=1,冲突;

h1 =(h(56)+1)%11=2,冲突;

h2 =(h(56)+2)%11=3,冲突;

h3 =(h(56)+3)%11=4,冲突;

h4 =(h(56)+4)%11=5,冲突;

h5 =(h(56)+5)%11=6;

查找数据“12”:h(12)=12%11=1,要比较数据8次的数,查找失败。

2)用链地址法解决冲突建立散列表:

h(16)=16%ll=5;

h(13)=13%ll=2;

h(20)=20%ll=9;

h(18)=18%ll=7;

h(23)=23%ll=1;

h(15)=15%ll=4;

h(31)=31%ll=9;

h(45)=45%ll=1;

h(56)=56%ll=1;

查找数据“12”: h(12)=12%11=1,要比较数据3次的数,查找失败。

4. 已知一组数据的排序码为,请分别写出利用直接插入排序和直接选择排序的过程,要求标示出有序表的范围。

数据结构 数据结构与算法大作业二

电子工程系无23班邓创 021372 算法分析。首先把本问题抽象为一个带权图的问题。如图,由6个地点组成的销售网络。其中的路径上的权值已标注。题目要求在每一个点设置一种主销产品,两种辅销产品。对下图来说,不妨设节点n主销第n种产品。这样确定主销产品后,对辅销产品的确定也很方便。即对节点n 1 n 6...

数据结构与算法

本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...

算法与数据结构

学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...