Algorithms
文章平均质量分 80
码到sucess
这个作者很懒,什么都没留下…
展开
-
算法基础——算法优劣的衡量
针对一个问题可以有多种的算法方法来解决问题,当然我们最喜欢的还是简单的、高效的方法。如何衡量算法的好坏,是学习算法的重要基础。最初,用所需要的计算时间来衡量一个算法的好坏但不同的机器相互之间无法比较 需要用独立于具体计算机的客观衡量标准 1.问题的规模 2.基本运算 3.算法的计算量函数问题的规模输入数据量的测度(一般是n来表示)基本运算解决给定问题时占支...原创 2018-09-13 13:25:33 · 7823 阅读 · 0 评论 -
经典排序算法——快速排序、归并排序、堆排序
之前两篇关于排序算法的综述以及平方阶复杂度的3种具体类型的排序算法,这一篇将具体介绍其中平均时间复杂度在平方阶O(nlog2n)O(nlog_2n)O(nlog2n)的三个排序算法,以及各种算法的代码实现(亲测正确)。快速排序快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 O(nlogn)O(nlogn)O(nlogn)次比较。在最坏状况下则需要O(n2)O(n...原创 2018-09-18 19:39:13 · 3142 阅读 · 0 评论 -
经典排序算法
概述排序算法是算法中最基本的算法。其包含了多种具体的排序方法,其作用是将给定的一个序列按照某种顺序进行序列的排序。其包括:冒泡排序、插入排序、选择排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序这些常见的排序算法,以及一些衍生的其他排序算法,如:鸡尾酒排序、二叉排序树排序、侏儒排序、块排序、图书馆排序等等。分类 根据排序需要的存储位置分为内部排序、外部排序。内部排...原创 2018-09-13 20:36:05 · 175 阅读 · 0 评论 -
经典排序算法——冒泡、选择、插入排序
之前总体介绍了经典算法的分类、各类排序算法的比较特点,这一篇将具体介绍其中基础的、时间复杂度在平方阶O(n2)O(n2)O(n^2)的三个排序算法,以及各种算法的代码实现(亲测正确)。冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访...原创 2018-09-14 14:49:01 · 262 阅读 · 0 评论 -
分治——不无聊序列
问题描述一个序列为不无聊序列,则必须满足划分任意长度的连续子序列(包括其本身),其中至少存在一个元素仅仅出现一次,即至少有一个元素不重复。例子:123321 ——无聊序列,子序列33中没有独特元素。12321 ——不无聊序列,任意子序列都有独特元素。分析分治方法适用条件:问题规模缩小到一定程度很容易求解。问题可以分解为若干规模较小的相同问题,具有最优子结构性质。基于子问题的...原创 2018-09-27 15:46:12 · 1143 阅读 · 1 评论 -
分治——最近点对问题
利用分治方法的经典问题——最近点对问题(Closest pair of points problem)问题描述n个点在公共空间中,求出所有点对的欧几里得距离最小的点对。问题分析该题直观的解决方法便是Brute Force(暴力求解)。时间复杂度为O(n2)O(n^2)O(n2)。minDist = infinityfor i = 1 to length(P) - 1 for j...原创 2018-09-28 15:55:04 · 42507 阅读 · 10 评论 -
Timsort——自适应、稳定、高效排序算法
当在使用python中自带的排序算法、或者Java中的排序算法时,产生了一些好奇,他们本身运用的是什么高端的排序算法,深究、探索、查阅资料后得到了如下的认识。Timsort介绍Timsort是一种混合、稳定高效的排序算法,源自合并排序和插入排序,旨在很好地处理多种真实数据。它由Tim Peters于2002年实施使用在Python编程语言中。该算法查找已经排序的数据的子序列,并使用该知识更有效...原创 2018-10-08 22:10:12 · 32338 阅读 · 7 评论 -
模拟退火(Simulate Anneal)算法
算法介绍模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的最优解。美国物理学家 N.Metropolis 和同仁在1953年发表研究复杂系统、计算其中能量分布的文章,他们使用蒙特卡罗模拟法计算多分子系统中分子的能量分布。模拟退火的出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法是一种通用的优化算法,其物理...原创 2019-04-17 22:24:51 · 1714 阅读 · 0 评论