归并算法详解

2023-10-26

        归并算法的本质是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。接下来对待排序列A[0],A[1],A[2],...,A[n-1],用归并排序思想进行排序。

算法实现:

1.将序列分为两部分,其中一部分对应的索引区间为[start1,end1];另一部分的对应的索引区间为[start2,end2]。其中,start1 = 0,end1 = (n - 1)/ 2 (向下取整);

start2 = (n - 1)/ 2 + 1,end2 = n - 1;

2.将上面两个序列按照步骤1再次进行分成四了序列,将四个序列分成八个序列,依次按同样的方法进行下去,知道序列中的元素个数为1时,停止划分序列;

3.将上面所有的序列进行归并排序,排序方法为对所分的n个子序列进行两两合并,得到n/2或n/2+l个含有两个元素的子序列,再对得到的子序列进行合并,直至得到一个长度为n的有序序列为止。

具体流程如下图所示:<

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

归并算法详解 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • [语录]足球解说员贺炜语录

    贺炜语录 1 夜幕之下的马拉卡纳 迎来了它的第二次世界杯决赛 科克瓦多山顶的救世基督 在俯瞰着红尘 俯瞰着众生 在他的眼前 可能所有的悲欢离合都没有什么大不了 但是我们毕竟身处红尘 每一次的世界杯都将为我们带来巨大的情感波动 2014年巴西
  • 10.9 图像分割

    3 9 图像分割 学习目标 了解图像分割的类型 知道阈值分割的内容 全阈值分割 自适应阈值分割 熟悉大津法 知道分水岭算法的原理 了解GrabCut算法 1 图像分割 所谓图像分割指的是根据灰度 颜色 纹理和形状等特征把图像划分成若干互不交
  • 时序数据库 TimescaleDB 基础概念

    时序数据在许多领域中具有广泛的应用 例如金融市场分析 气象预测 交通流量监测 生产过程监控等 时序数据通常是大规模的 高维度的 需要实时计算和分析 针对时序数据的特点与其所带来的挑战 针对时序数据处理所面临的挑战 通用数据库处理大规模数据效
  • Editors(Vim)

    文章目录 Editors Vim 学哪一个编辑器 Vim Philosophy of Vim Modal editing 模态编辑 Basics 基础知识 Inserting text 插入文本 Buffers tabs and windo
  • livox_mapping 特征提取代码解析

    代码来自于 livox mapping 先简单说结论 异常点提取 与左右点的距离大于深度值的十分之一 平面点提取 主要通过左边或者右边四个点的曲率小于 0 001 计算得到 角点提取 主要有几个来源 平面角点 左右都是平面且平面夹角 60
  • Tensorboard不加载所有数据点的解决方案

    使用下面代码读取tensorboard保存文件中的数据 部分数据点未加载出来 导入tensorboard的事件解析器 from tensorboard backend event processing import event accumu
  • 目录下的文件

    1 先帖一个 ArrayList循环的使用方式 region 显示表格
  • 逢泽莉娜2

    http www topit me item 3734409 albums http www incoto net read php tid 714474 fpage 44 html
  • 总论:认识大数据挖掘

    数据挖掘 有人说 大数据是新时代的黄金和石油 掌握了它 就掌握了新经济的命脉 用好了它 就拥有了新战略型资源 数据挖掘 就是从大量的 不完全的 有噪声的 模糊的 随机的实际应用数据中 提取隐含在其中的 人们实事先不知道的 但又是潜在有用的信
  • HTML绝对路径问题

    绝对路径 是指目录下的绝对位置 zhi 直接到达的目标位置 通常是从盘符开始的路径 我在使用这个绝对路径时 发现谷歌浏览器或其他的浏览器都不能加载图片 图片在路径中是真实存在的 在使用相对路径时 图片可以正常的加载出来 但是 这个绝对路径可
  • selenium定位弹框元素

    selenium定位弹窗元素 一 弹出框是alert类型 selenium提供switch to alert方法 捕获弹出对话框 可以定位alert confirm prompt对话框 alert switch to alert alter
  • Prompt是什么意思?

    1 Prompt是什么意思 Prompt是 PRedictive OPTimization with Machine Learning 的缩写 翻译成中文为 机器学习预测优化 它是一种自然语言处理技术 能够自动生成人类语言式的文本 例如问题
  • 毕业论文参考文献格式-工科

    问题描述 参考文献是我们毕业论文中重要的组成部分 其格式有和严格的要求 我国毕业论文现行使用的是国标7714 2005 手动的调整参考文献格式不仅会耗费很多的时间和精力 当我们的论文内容有所改动时 参考文献会有所变动 格式也会随机发生变化
  • Mac格式化移动硬盘DiskUtil

    可以使用如下命令 diskutil list dev disk4 external physical TYPE NAME SIZE IDENTIFIER 0 GUID partition scheme 4 0 TB disk4 1 EFI
  • django开发电子商城(三)django内置分页

    1 更新数据库表 修改models py中的Product类 运行命令 完成数据库更新 2 在admin界面增加相关数据 3 编辑列表函数 views py 增加分页功能 4 增加路由 编辑urls py
  • .net5 不支持winform_深度探秘.NET 5.0

    2020 中国 NET 开发者峰会正式启动 欢迎大家提交演讲主题或者购买超级早鸟票 今年11月10号 NET 5 0 如约而至 这是 NET All in one后的第一个版本 虽然不是LTS Long term support 版本 但是
  • 递推与递归

    递推 例一 仅展示核心代码 int main cin gt gt N Bigint f 5010 f 1 Bigint 1 f 2 Bigint 2 for int i 3 i lt N i f i f i 2 f i 1 f N prin
  • JSON.parse()与JSON.stringify()的区别

    json stringfy 将对象 数组转换成字符串 json parse 将字符串转成json对象 json stringfy 语法 JSON stringify value replacer space 参数 value 是必选字段 就
  • vue项目3-通过与拒绝审核

    这样的需求 点击拒绝审核状态变为审核不通过 反之为审核通过 首先进行数据处理 显示当前内容特别注意 给每一项添加 examine 属性 让其随着status改变而改变 这也为之后调用接口改变status进而改变examine埋下了伏笔 上面
  • 归并算法详解

    归并算法的本质是将待排序序列分为两部分 依次对分得的两个部分再次使用归并排序 之后再对其进行合并 接下来对待排序列A 0 A 1 A 2 A n 1 用归并排序思想进行排序 算法实现 1 将序列分为两部分 其中一部分对应的索引区间为 sta