
算法
文章平均质量分 51
kai8wei
这个作者很懒,什么都没留下…
展开
-
五大算法之一--分治法
一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其转载 2015-03-28 11:18:50 · 608 阅读 · 0 评论 -
输出 0----N 的全排列
对于这种全排列我们首先思考是将其中的一个固定住后边的进行变化,再将其中的两个定住后边的变化直接到没有数据,之后再将第二个和第一个交换第二个作为第一个,再重复这个变化,直到所有的数据都成为过第一个来点实际的例子 比如 对于“abc”这三个字母的全排列: 首先将a固定住 bc进行变化 就是 abc acb 之后恢复原来的abc 再将a和b交换 就是 bac bca 之后原创 2016-04-18 22:15:34 · 1031 阅读 · 0 评论 -
优秀博客推荐
欢迎自荐和推荐链接。请于留言处告知。基本算法贪心算法:贪心算法 作者:独酌逸醉 贪心算法精讲 作者:3522021224递归和分治:递归与分治策略 作者:zhoudaxia图论图的遍历(DFS和BFS): 图的遍历 作者:jefferent最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉D原创 2016-01-07 17:01:03 · 429 阅读 · 0 评论 -
基本的排序算法之——插入排序法(稳定)(对于固定的空间数组或者顺序表)
/********************************************************************** * Copyright (c)2015,WK Studios* Filename: * Compiler: GCC,VS,VC6.0 win32 * Author:WK * Time: 2015 4 20*************原创 2015-04-21 19:28:50 · 833 阅读 · 0 评论 -
基本的排序算法之—— 冒泡排序(稳定)(对于固定的内存空间数组或顺序表,对于单链表也可以)
/********************************************************************** * Copyright (c)2015,WK Studios* Filename: * Compiler: GCC,VS,VC6.0 win32 * Author:WK * Time: 2015 4 18*************原创 2015-04-18 23:51:00 · 1046 阅读 · 0 评论 -
基本的排序算法之——选择排序法(对于固定的空间数组或者顺序表)
/********************************************************************** * Copyright (c)2015,WK Studios* Filename: * Compiler: GCC,VS,VC6.0 win32 * Author:WK * Time: 2015 4 20*************原创 2015-04-20 09:39:27 · 1282 阅读 · 0 评论 -
真正统治世界的十大算法
算法对于我们今天生活十分重要,怎样宣扬也不会夸张。它们在虚拟世界中无处不在,从金融机构到交友网站。但是,相比于其他算法,其中有一些算法更大程度上改变并控制着我们的世界——本文列举了其中十种最为重要的算法。在正式介绍算法内容之前,让我们来迅速复习一些基本内容。虽然,没有明确的定义,但是计算机科学家将算法描述为一个定义了操作顺序的规则集合。它们是一组顺序指令,用来告诉计算机怎样解决一个问题或者达到转载 2015-04-17 07:56:41 · 1839 阅读 · 0 评论 -
算法1 —统计数字问题
问题描述: 一本书的页码从自然数1开始书序编码直到自然数 n 。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第六页 用数字表示是6,而不是06或者006等,数字计数问题要求给定的总页码n,计算出书的全部页码中分别用到多少次数字 0,1,2,...........9。编程任务:给定书的总页码的十进制整数n (1/*******************原创 2015-04-02 14:17:51 · 2460 阅读 · 1 评论 -
五大算法之四--回溯法
1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的转载 2015-03-28 11:24:27 · 547 阅读 · 0 评论 -
五大算法之二--动态规划
动态规划--简单的理解 这个算法简单的来讲就是采用自底向上的方式递推求值,将待求解的问题分解成若干个子问题,先求解子问题,并把子问题的解存储起来以便以后用来计算所需要求的解。简言之,动态规划的基本思想就是把全局的问题化为局部的问题,为了全局最优必须局部最优。 多阶段决策问题是根据问题本身的特点,将其求解的过程划分为若干个相互独立又相互联系的阶段,在每一个阶段都需要做出决策转载 2015-03-28 11:21:15 · 631 阅读 · 0 评论 -
五大算法之五--分支限界法
一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 (1)分支搜索算法 所谓“分支”就是采用广度优先的策略,依转载 2015-03-28 11:24:35 · 542 阅读 · 0 评论 -
五大算法之三--贪心算法
一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。转载 2015-03-28 11:22:03 · 437 阅读 · 0 评论 -
算法的本质
1.算法,不止于刷题提到算法,不管是科班出身还是半路出家的程序员可能都会说上几句,算法谁没学过谁不知道啊?对于走工业界路线而非学术路线的同学来说,算法学习的最大作用也许是找工作…… 毕竟工作后,绝大多数时候都用各种成熟的类库,少有自己实现高级数据结构和算法的时候。但刚结束一学期修的算法课,上得我还真跟没学过算法似的,让我大开眼界,虽然每次课上我都听的不是很懂,但每节都期盼着老师又能带来什么转载 2017-10-21 10:57:10 · 5306 阅读 · 0 评论