码迷,mamicode.com
首页 >  
搜索关键字:分治策略 大整数乘法    ( 209个结果
常见排序算法(一) MergeSort
算法思想灰常重要,常见的用到分治思想的算法包括快速排序,归并,二分搜搜,大整数乘法等(参考 http://blog.csdn.net/com_stu_zhang/article/details/7233761,归纳很到位)简单用归并对一个数组排序 思路: 简单来说对一个数组,只要他的左右两部分都是有...
分类:其他好文   时间:2014-07-31 23:35:50    阅读次数:381
【从零学习经典算法系列】分治策略实例——快速排序(QuickSort)
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要O(nlogn)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 此种排序的思路是:如果在分开的时候,不是从中间位置上分界,二是按照元素的大小分开为两个一大一小的子序列(一个子序列的所有元素大于另一个子序列里的所有元素),这样的话,因为两个子序列之间的相对次序已经正确,所有在合并的时候...
分类:其他好文   时间:2014-07-31 16:58:07    阅读次数:299
【从零学习经典算法系列】分治策略实例——二分查找
二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组 为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn)。...
分类:其他好文   时间:2014-07-27 23:52:09    阅读次数:270
[笔记]一道C语言面试题:大整数乘法
题目:输入两个数字字符串,如“1234567890”和“987654321”,返回二者相乘的结果字符串,如本例返回为“1219326311126352690”。来源:某500强企业面试题目思路:从尾部到头部,对两个字串的每个数字分别相乘,并放入结果字符串相应的位置。#include "stdio.h...
分类:编程语言   时间:2014-07-27 22:03:29    阅读次数:245
算法导论专题一--排序算法(2)
上节分析了O(n^2)的算法,这节就分析O(nlgn)的算法-归并,快速和堆排序。一:综述 O(nlgn) 的算法可以分为两大类,两者所用的技术差别较大。归并和快速排序采用的是分治策略,这两者相当于一个对称的过程,一个是自顶向上合并子问题,另一个则自上向下分解子问题。而堆排序利用堆这一数据结构元素间...
分类:其他好文   时间:2014-07-22 22:36:14    阅读次数:282
分治——合并排序
分治策略中有一个经典的算法就是合并排序,这个算法的精髓也是分治二字,分而治之。将一个大规模的问题分割成若干个同样的小问题,小问题的规模很小,很容易解决,解决了小的问题后再对这些小问题的结果进行合并得到大规模问题的解答。 合并排序便是分治策略中比较经典的算法,首先是合并,两个排列有序的数列经过合并后成为有序的数组:代码如下: void _merge(int *A,int left,int mid...
分类:其他好文   时间:2014-07-18 18:00:11    阅读次数:225
大整数乘法 python实现
def recursive_multiply(x, y, n): if n==1: return x*y else: a = x/pow(10, n/2) b = x-a*pow(10, n/2) c = y/pow(10, n/2) d = y-c*pow(10, n/2) ac = re...
分类:编程语言   时间:2014-07-01 12:20:43    阅读次数:273
分治策略结合递归思想求最大子序列和
对于 《数据结构与算法分析——C语言描述》 一书第 20 页所描述的算法 3,相信会有很多人表示不怎么理解,下面我由具体问题的求解过程出发,谈谈我自己的理解: 首先,什么是分治法呢?所谓 分治法,就是 将一个问题的求解过程分解为两个大小相等的子问题进行求解,如果分解后的子问题本身也可以分解的话,则将这个分解的过程进行下去,直至最后得到的子问题不能再分解为止,最后将子问题的解逐步合并并可能...
分类:其他好文   时间:2014-07-01 11:03:52    阅读次数:169
分治法(一)
这篇文章将讨论:1) 分治策略的思想和理论2) 几个分治策略的例子:合并排序,快速排序,折半查找,二叉遍历树及其相关特性。说明:这几个例子在前面都写过了,这里又拿出来,从算法设计的策略的角度把它们放在一起来比较,看看分治是如何实现滴。由于内容太多,我将再花一篇文章来写4个之前没有写过的分治算法:.....
分类:其他好文   时间:2014-06-18 21:06:23    阅读次数:289
交换排序:快速排序
快速排序(Quick Sort)也是一种交换排序,它在排序中采取了分治策略。 快速排序的主要思想是: 从待排序列中选取一元素作为轴值(也叫主元)。 将序列中的剩余元素以该轴值为基准,分为左右两部分。左部分元素不大于轴值,右部分元素不小于轴值。轴值最终位于两部分的分割处。 对左右两部分重复进行这样的分割,直至无可分割。...
分类:其他好文   时间:2014-06-15 15:28:14    阅读次数:301
209条   上一页 1 ... 18 19 20 21 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!