假设一动态集合S用一个长度为m的直接寻址表T来表示。请给出一个查找S中最大元素的过程。你所给的过程在最坏情况下的运行时间是多少。

(算法导论第十一章11.1-1)

#include "KeyNode.h"
template<typename T>
KeyNode<T>* direct_address_search(KeyNode<T>** array,int k)
{return array[k];
}
template<typename T>
void direct_address_insert(KeyNode<T>**array,KeyNode<T>* value)
{array[value->key] = value;
}
template<typename T>
void direct_address_delete(KeyNode<T>**array,KeyNode<T>* value)
{array[value->key] = nullptr;
}
template<typename T>
KeyNode<T>* find_maximum(KeyNode<T>**array,int size)
{KeyNode<T>* max = nullptr;for (int i = 0; i < size; ++i) {if(array[i]!= nullptr){if(max == nullptr){max = array[i];}else if(max->value<array[i]->value){max = array[i];}}}return max;
}

辅助类
1⃣️KeyNode地址
测试代码

#include "chapter11_1.h"
#include "KeyNode.h"
int main()
{int size = 10;KeyNode<int>** array = new KeyNode<int>*[size];KeyNode<int>* node0 = new KeyNode<int>(0,0);KeyNode<int>* node1 = new KeyNode<int>(1,1);KeyNode<int>* node2 = new KeyNode<int>(2,2);KeyNode<int>* node3 = new KeyNode<int>(3,3);direct_address_insert(array,node0);direct_address_insert(array,node1);direct_address_insert(array,node2);direct_address_insert(array,node3);cout<<direct_address_search(array,node3->key)->value<<endl;direct_address_delete(array,node3);cout<<direct_address_search(array,node3->key)<<endl;cout<<find_maximum(array,size)->value<<endl;delete[] array;delete node0;delete node1;delete node2;delete node3;return 0;
}

时间复杂度O(m)

假设一动态集合S用一个长度为m的直接寻址表T来表示。请给出一个查找S中最大元素的过程。(算法导论第十一章11.1-1)相关推荐

  1. 位向量(bit vector)(算法导论第十一章11.1-2)

    位向量(bit vector) 位向量(bit vector)是一个仅包含0和1的数组.长度为m的位向量所占空间要比包含m个指针的数组少得多.说明如何用一个位向量来表示一个包含不同元素(无卫星数据)的 ...

  2. 请编写出一个html页面 令其输出,javaweb程序设计案例教程_课后习题1.pdf

    第一章 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.请描述HTML .CSS. .JavaScript 分别表示的含义. 2 .请列举出HTML 常用的标记.(至少10 个 ...

  3. 算法导论第三版第十一章11.1-4

    算法导论第三版第十一章11.1-4 我们希望在一个非常大的数组上,通过利用直接寻址的方式来实现一个字典.开始时,该数组中可能包含一些无用信息,但要堆整个数组进行初始化时不太实际的,因为该数组的规模太大 ...

  4. 【数据结构】随堂练习设有一个 n 阶的下三角矩阵 A ,如果按照行的顺序将下三角 阵中的元素包括对角线上元素)存放在 n ( n +1)/2个连续的存储单元中,则 A [ i][j ]与 A [ 0]

    1.必答[单选题] 设有一个二维数组 A [m][ n ],按行优先存储在连续的单元中.假设 A [0] [0]存放位置在644, A [2][2]存放位置在676,每个元素占一个空间,问 A [3] ...

  5. 给定一个arr,里面的数字都是0~9,你可以随意使用arr中的数字,哪怕打乱顺序也行, 请拼出一个能被3整除的最大的数字,用str形式返回。

    面试刷题第一天 给定一个arr,里面的数字都是0~9, 你可以随意使用arr中的数字,哪怕打乱顺序也行, 请拼出一个能被3整除的最大的数字,用str形式返回. 来自去哪儿网. 贪心思路的解题算法如下: ...

  6. 《算法导论》学习分享——11. 散列表(哈希表)

    11. 散列表(哈希表) 文章目录 11. 散列表(哈希表) 直接寻址表 散列表 链接法散列分析 散列函数 除法散列 乘法散列 全域散列 开放寻址法 线性探查 双重探查 开放寻址法分析 完全散列 涉及 ...

  7. 蒙特卡罗算法与拉斯维加斯算法 (西瓜书第十一章11.4题补充)

    书上侧边栏给出了关于蒙特卡罗方法和拉斯维加斯方法的提示: 拉斯维加斯方法和蒙特卡罗方法是两个以著名赌城名字命名的随机化方法两者的主要区别是:若有时间限制,以拉斯维加斯方法或者给出满足要求的解,或者不给 ...

  8. 请给出一个算法,使之对于给定的介于0到k之间的n个整数进行预处理,并能在O(1)时间内,回答出输入的整数中有多少个落在区间[a..b]内,你给出的算法上预处理时间应是O(n+k)。...

    代码: #include "iostream" using namespace std;int counting_sort(int a,int b,int A[],int B[], ...

  9. 请写出一个智能排班系统的前端页面

    下面是一个简单的智能排班系统的前端页面示例: 页面顶部: 标题栏:显示系统名称 "智能排班系统" 导航栏:包括首页.员工管理.排班管理等链接 主要内容: 排班表:以日历形式显示每个 ...

最新文章

  1. 1000+ 常用 Python 库一览
  2. python那么慢为什么还有人用-为什么Python比C++慢很多?
  3. 【Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises) A】Palindrome Dance
  4. 输出apk_KT被横扫吞下五连败果 APK拿下首胜 小夫笑得十分开心
  5. 程序员财富自由了,居然会想做这些事!
  6. java名 java_Java Syncrhonisers
  7. 开源运维管理软件排名_云上自动化部署和运维的正确姿势
  8. Java中的静态方法和单例模式比较
  9. 对象可以创建数组吗_女生没房可以吗?男生有多在意结婚对象的家境?答案很现实...
  10. VMware搭建PXE无盘工作站,出现这种问题各位遇到过吗?
  11. Ext.grid.EditorGridPanel使用方法
  12. linux查看iozone安装目录,IOZone的基本使用
  13. C++打卡15-【排序模板】冒泡排序
  14. Easy Mock全解及使用
  15. 【时间序列分析】06. AR(p)序列的性质
  16. 前后端整合+Request(请求转发)+respon(重定向)+get+post+Filter过滤器
  17. 我的世界java版gamemode指令_我的世界(电脑Java版)简单又好玩指令教程
  18. 软件测试中常用的简称
  19. win7下搭建小程序服务器,重磅!微信PC端支持小程序直接开启 适配Win7及以上系统...
  20. STM32 汇编程序——串口输出 Hello world

热门文章

  1. Matlab 2016b+TimeSat 3.1中文经典安装及使用教程(附下载地址)
  2. C语言试题十九之根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)!
  3. 剑指offer之二叉树的高度
  4. 3分钟搞定 C++ if else 语句 05
  5. 如何查看文件夹里有几张图片_如何把几张图片合成一个pdf?图片合并为pdf的操作教程...
  6. makefile运行_NVDIA TX2入门 系列之三:运行Yolov3
  7. php判断秒为两位数,判“新”函数:得到今天与明天的秒数
  8. php+对象+toarray_PHP 对象、数组间的转换
  9. 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
  10. 三联竟出了这么赞的杂志!各领域佼佼者畅所欲言,为少年建立思维判断体系!