srcmini - 专业IT技术分析博客srcmini

个性化阅读
专注于IT技术分析

最新文章 第2175页

算法之下界理论-srcmini
算法设计与分析

算法之下界理论

半瓶木阅读(1621)评论(0)赞(0)

下界理论概念基于执行算法所需的最短时间的计算, 被称为下界理论或基础界理论。 下界理论使用多种方法/技术来找出下界。 概念/目标:主要目标是计算执行算法所需的最小比较数。 技术技巧 下界理论使用的技术是: 比较树。 甲骨文和对手的争论 状态...

稳定排序算法-srcmini
算法设计与分析

稳定排序算法

半瓶木阅读(859)评论(0)赞(0)

如果两个具有相等关键字的对象在输入未排序数组中出现的顺序相同, 则排序算法被认为是稳定的。 一些排序算法本质上是稳定的, 例如插入排序, 合并排序和冒泡排序等。 排序算法不稳定, 例如快速排序, 堆排序等。 稳定排序的另一个定义: 稳定排序...

算法设计与分析

快速排序算法

半瓶木阅读(1073)评论(0)赞(0)

本文概述 算法 分割算法 它是分而治之类型的算法。 除法:重新排列元素并将数组拆分为两个子数组, 并在两次搜索之间的一个元素中, 左子数组中的每个元素小于或等于平均元素, 右子数组中的每个元素大于中间元素。 征服:递归地, 对两个子数组进行...

堆排序算法详解-srcmini
算法设计与分析

堆排序算法详解

半瓶木阅读(1282)评论(0)赞(0)

本文概述 二进制堆 堆属性 堆砌方法 建立一个堆 堆排序算法 优先队列 最大堆(A) 堆删除 二进制堆 Binary Heap是一个数组对象, 可以视为Complete Binary Tree。二叉树的每个节点对应于数组中的一个元素。 长度...

汉诺塔问题-srcmini
算法设计与分析

汉诺塔问题

半瓶木阅读(1374)评论(0)赞(1)

1.这是一个经典问题, 你尝试仅使用三个销将所有磁盘从一个销移动到另一个销。 2.最初, 所有磁盘都堆叠在一起, 较大的磁盘位于较小的磁盘下面。 3.尝试重新放置所有磁盘时, 可以将磁盘移动到三个销钉中的任何一个, 但是不能将较大的磁盘放在...

算法设计与分析

合并排序算法

半瓶木阅读(953)评论(0)赞(0)

它紧密遵循分而治之范式。 从概念上讲, 它的工作方式如下: 划分:将未排序的列表划分为两个大小约为一半的子列表。 征服:递归地对两个子列表中的每个列表进行排序, 直到列表大小为1, 在这种情况下, 将返回列表项。 合并:将两个已排序的“子”...

算法设计与分析

二分法搜索算法

半瓶木阅读(877)评论(0)赞(0)

1.在Binary Search技术中, 我们通过将间隔递归地分成两半来搜索排序数组中的元素。 2.首先, 我们将整个数组作为一个间隔。 3.如果Pivot元素(要搜索的项目)小于间隔中间的项目, 我们将丢弃列表的后半部分, 并通过计算新的...

算法设计与分析

最大-最小问题

半瓶木阅读(942)评论(0)赞(0)

问题:分析算法以从数组中找到最大和最小元素。 分析: 方法1:如果将通用方法应用于大小为n的数组, 则需要的比较次数为2n-2。 方法2:在另一种方法中, 我们将问题分为子问题, 并找到每个组的最大值和最小值, 即现在的最大值。每个组中的一...

算法设计与分析

分治算法简介

半瓶木阅读(932)评论(0)赞(1)

分而治之是一种算法模式。在算法方法中, 设计是对巨大输入进行争议, 将输入分成小块, 在每个小块上确定问题, 然后将分段解决方案合并为全局解决方案。解决问题的这种机制称为分而治之策略。 分而治之算法由使用以下三个步骤的争议组成。 将原始问题...

算法设计与分析

插入排序算法

半瓶木阅读(944)评论(0)赞(0)

以递增或递减的顺序对数字进行排序是一种非常简单的方法。 它具有各种优点: 实现起来很简单。 它对小型数据集有效。 它是稳定的(不更改具有相同键的元素的相对顺序) 它就位(仅需要恒定数量的O(1)的额外存储空间)。 这是一种在线算法, 因为它...