找出最大值和最小值(算法导论第三版9.1-2)

找出最大值和最小值

(算法导论第三版9.1-2)
在最坏的情况下,比较次数下界是⌈3n/2⌉−2

void find_maximum_and_minimum_element(int *array,int length,int &max,int &min){int remainder = length % 2;int start_index = 0;if(remainder){//奇数 0次比较 剩余元素n-1max = array[0];min = array[0];start_index = 1;}else{//奇数 1 次比较 剩余元素n-2if(array[0]<array[1]){max = array[1];min = array[0];}else{max = array[0];min = array[1];}start_index = 2;}int current_max,current_min;//奇数 (n-1)*3/2次比较//偶数  (n-2)*3/2次比较for (int i = start_index; i < length; i+=2) {if(array[start_index]<array[start_index+1]){current_max = array[i + 1];current_min = array[i];}else{current_max = array[i];current_min = array[i + 1];}if(current_max>max){max = current_max;}if(current_min<min){min = current_min;}}//共计//奇数(n-1)*3/2//偶数 (n-2)*3/2 + 1
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Unit Testing》1.4. 成功的测试套件拥有哪些属性?

什么造就了成功的测试套件如果测量测试套件的质量&#xff1f;唯一可行的办法就是对测试套件里每一个测试进行单独的评估。你不需要一次性把它们都评估完。你可以逐步的进行评估成功的测试套件拥有以下属性&#xff1a;集成到开发周期中只针对代码库中最重要的部分它以最低的成…

找出数组中第i小元素(时间复杂度Θ(n)--最坏情况为线性的选择算法

找出数组中第i小元素 期望时间复杂度&#xff1a;Θ(n) 最坏情况的时间复杂度Θ(n^2) int randomized_select(int *array,int start,int end,int index){if(start end)return array[start];int middle randomized_partition(array,start,end);int position middle - start…

C# 9.0 终于来了, Top-level programs 和 Partial Methods 两大新特性探究

一&#xff1a;背景1. 讲故事.NET 5 终于在 6月25日 发布了第六个预览版&#xff0c;随之而来的是更多的新特性加入到了 C# 9 Preview 中&#xff0c;这个系列也可以继续往下写了&#xff0c;废话不多说&#xff0c;今天来看一下 Top-level programs 和 Extending Partial Meth…

4位BCD计数器设计

状态转换: 输出函数: 4位BCD计数器设计:

[Mvp.Blazor] 集成Ids4,实现统一授权认证

&#xff08;又一个客户端集成了IdentityServer4&#xff09;还是很开心的&#xff0c;目前已经有六个开源项目都集成到了Ids4认证中心了。1、Blazor系列文章回顾书接上文&#xff0c;关于Blazor学习呢&#xff0c;我也发了几篇文章了&#xff0c;我一般写东西都喜欢偏实战&…

重学ASP.NET Core 中的标记帮助程序

标记帮助程序是什么标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。 例如&#xff0c;内置的 ImageTagHelper 可以将版本号追加到图片名称。 每当图片发生变化时&#xff0c;服务器都会为图像生成一个新的唯一版本号&#xff0c;因此客户端总能获得…

小型数字系统---运动码表设计

运动码表设计中码表控制器是最难的&#xff0c;所以主要介绍如何设计码表控制器。 我们先给这个时序电路设计状态以及编码 先设计状态转换函数 首先画出状态图: (其中我们让其一到000状态就立马变为001状态&#xff0c;110状态存储完数据立马变成100状态) 根据状态图&#…

用 aforge.net 小试一下验证码识别

今天来小玩一下 aforge.net 套用官方的话就是一个专门为开发者和研究者基于C#框架设计的&#xff0c;这个框架提供了不同的类库和关于类库的资源&#xff0c;还有很多应用程序例子&#xff0c;包括计算机视觉与人工智能&#xff0c;图像处理&#xff0c;神经网络&#xff0c;遗…

国标转区位码电路设计及汉字显示

区位码国际码-2020H&#xff0c;由于采用加法器实现&#xff0c;因此用补码形式进行表示&#xff0c;区位码 国际码FFFF-2020H0001H国际码dfe0。 从网上找下机内码转化的软件&#xff0c;将一段自选文字输入该软件&#xff0c;进行十六进制的机内码转化。由于一个汉字是由四个十…

【WPF】DataGrid多表头的样式设计

需求在使用WPF开发时&#xff0c;使用DataGrid列表显示数据时&#xff0c;有些字段可以进行分组显示&#xff0c;用于更好的表达它们之间存在的某种关系&#xff0c;因此就考虑到要对DataGrid的表头进行扩展&#xff0c;可以显示多行表头&#xff0c;让这些有关联的字段内容显示…

异步清零和同步置数/清零的区别

同步&#xff0c;异步是对于时钟而言的。 同步指的是&#xff0c;状态的变化需要等待时钟有效沿来触发&#xff0c;所有动作同时跟随这个时钟变化&#xff0c;而异步时&#xff0c;状态变化不依赖与时钟。 异步清零说的是&#xff0c;你需要对一个计数器在满足某种条件时想要…

如何使用ABP进行软件开发之基础概览

ABP框架简述1&#xff09;简介在.NET众多的技术框架中&#xff0c;ABP框架&#xff08;本系列中指aspnetboilerplate项目&#xff09;以其独特的魅力吸引了一群优秀开发者广泛的使用。在该框架的赋能之下&#xff0c;开发者可根据需求通过官方网站【https://aspnetboilerplate.…

模2加法,模2减法,模2除法

十进制的除法&#xff0c;大家都会做&#xff1a;列个竖式&#xff0c;商&#xff0c;写在上面&#xff0c;上个几&#xff0c;再用被除数减去积&#xff0c;求得余数…。 二进制的除法&#xff0c;和十进制的计算方法相同&#xff0c;也要列出个竖式计算。 二进制的除法&…

《Unit Testing》2.1 伦敦学派如何做隔离

针对单元测试的定义&#xff0c;主要有两种看法&#xff1a;经典学派。经典学派之所以经典&#xff0c;是因为这原本就是人们做单元测试和测试驱动开发的方式伦敦学派。伦敦学派扎根于伦敦的编程社区。单元测试的定义单元测试有很多定义&#xff0c;但是所有的定义都有三个重要…

找出第i个小元素(算法导论第三版9.2-4题)

找出第i个小元素(算法导论第三版9.2-4题) 期望时间复杂度&#xff1a;Θ(n) 最坏情况的时间复杂度Θ(n^2) int randomized_select_based_loop(int *array,int start,int end,int index) {while (true){if(start end)return array[start];int middle randomized_partition(a…

C++实现数组模拟链表(实现链表的增删功能)

代码如下: #include <iostream> using namespace std; const int N 100;struct Node {int data;int next; };class ArrayList { private:Node node[N];int maxSize;//数组容量int idx;//接下来要插入的结点的下标int len;//链表长度public:void initList(){node[0].nex…

Gartner:容器采用将迅速增长,但不会很快有利可图

导语容器的未来可期&#xff0c;到2024年&#xff0c;所有应用程序中的15&#xff05;将在容器中运行&#xff0c;而这一数据今天仅为5&#xff05;&#xff0c;但当前变现还比较难。正文近日&#xff0c;Gartner公司发表其首次为软件容器管理软件和服务市场做的预测。Gartner说…

快速排序在最坏的情况下时间复杂度(Ω(nlgn)(算法导论第三版9.3-3))

快速排序在最坏的情况下时间复杂度Ω(nlgn) 1⃣️在元素各异时或者少量相等&#xff08;元素个数n>70) 时间复杂度Ω(nlgn) void quick_sort_by_median(int *array,int start,int end) {if(start<end){int median select(array,start,end,(end - start 1)/2 (end - …