算法
文章平均质量分 85
solar一抹阳光
这个作者很懒,什么都没留下…
展开
-
算法归纳
一:《算法归纳》之排序算法1:排序归纳之插入排序原创 2014-05-29 11:55:54 · 1279 阅读 · 0 评论 -
动态规划详解
一:lilu原创 2014-06-07 21:33:10 · 2636 阅读 · 0 评论 -
动态规划之最优二叉搜索树
在看这张之前,最好看看我写的动态规划详解,里面都是讲理论基础,我下面的分析都是在此基础上进展的。原创 2014-06-09 10:46:46 · 2244 阅读 · 0 评论 -
如何在面试时写出高质量的代码
转自:http://blog.chinaunix.net/uid-21649318-id-3086561.html转载 2014-06-10 09:27:16 · 1013 阅读 · 0 评论 -
动态规划之钢条切割问题
钢条切割问题:给定一段长度为n英寸的钢条和一个价格表Pi( i=1, 2, ..., n ),求切割钢条方案,使得销售收益最大.例如:长度i12345678910价格Pi1589101717202430原创 2014-06-08 23:19:51 · 998 阅读 · 0 评论 -
交换两个变量方法
将两个变量的值互换,相当简单的问题。假设有变量a、b: int a; int b;将a、b的值互换,代码为: int tmp = a; a = b; b = tmp;然而,如果要求不用中间变量,就交换变量的值,该怎么做呢?一个比较有效率且众所周知的方法就是三次异或操作: a = a ^ b; //a ^= b;原创 2014-05-28 11:30:54 · 923 阅读 · 0 评论 -
各种内部排序方法简述以及优越性比较和选取
首先回顾下各种排序的主要思路:一. 冒泡排序冒泡排序主要思路是:通过交换使相邻的两个数变成小数在前大数在后,这样每次遍历后,最大的数就“沉”到最后面了。重复N次即可以使数组有序。冒泡排序改进1:在某次遍历中如果没有数据交换,说明整个数组已经有序。因此通过设置标志位来记录此次遍历有无数据交换就可以判断是否要继续循环。冒泡排序原创 2014-05-29 17:38:56 · 1201 阅读 · 0 评论 -
深度优先算法和广度优先算法
今天做了daoti原创 2014-07-08 00:40:12 · 8157 阅读 · 0 评论 -
排序算法之分配排序(线性时间排序)
分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。原创 2014-05-29 11:57:09 · 1587 阅读 · 0 评论 -
排序算法之交换排序
交换排序分为两类:1:冒泡排序2:快速排序原创 2014-05-27 18:04:20 · 1108 阅读 · 0 评论 -
排序归纳之插入排序
插入排序分为以下几类:1:直接插入排序2:折半插入排序3: 2-路原创 2014-05-26 17:41:56 · 1028 阅读 · 0 评论 -
排序算法之选择排序
选择排序(Selection Sort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。 常用的选择排序方法:直接选择排序和堆排序。一:直接选择排序直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排原创 2014-05-29 11:50:49 · 1007 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题
教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的转载 2014-05-26 15:27:26 · 837 阅读 · 0 评论 -
动态规划之三角形求值问题
1:三角形求值问题将一个由N行数字组成的三角形,如图所以,设计一个算法,计算出三角形的由顶至底的一条路径,使该路径经过的数字总和最大。分析:拿到这个题目以后,先考虑要求解的问题:找一条路径,使路径上的结点数字之和最大。方法一:最简单也是最复杂的方法,利用分治法来解决。通过分析,不难写出如下表达式:sum[i] = a[i] + max(left.sum[i-1],r原创 2014-06-08 22:52:35 · 1562 阅读 · 0 评论 -
贪心算法详解
贪心算法的两个重要因素:原创 2014-06-09 17:31:20 · 1340 阅读 · 0 评论 -
平衡二叉树(AVL树)
目录1. AVL树的介绍2. AVL树的C实现3. AVL树的C实现(完整源码)4. AVL树的C测试程序参考:原创 2014-06-03 16:14:57 · 1327 阅读 · 0 评论 -
二叉查找树
参考链接:原创 2014-05-30 22:58:58 · 1217 阅读 · 0 评论 -
红黑树系列之原理和算法详细介绍
目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除概述:R-B Tree,又称为“红黑树”。本文参考了《算法导论》中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树进行说明。本文的主要内容包括:红黑树的特性,红黑树的时间复杂度和它的原创 2014-06-04 21:33:32 · 2502 阅读 · 1 评论 -
选取第k个数据
可以通过原创 2014-06-26 01:08:24 · 567 阅读 · 0 评论 -
排序算法之归并排序
归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。一:原理1、算法基本思路 设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位置上:R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1(相当于输出堆)中,待合并完成后将R1复制回R[low..high]中。(1)合原创 2014-05-29 11:53:49 · 850 阅读 · 0 评论 -
B树原理及分析
B树是为磁盘或其他直接存储辅助存储设备而设计的一种平衡二叉查找树(通常说的B树是B-树,在1972年由R.Bayer和E.M.McCreight提出,B+树是B树的一种变形),B树与红黑树类似,但在降低磁盘I/O操作次数方面要更好一些,数据库就是通常用B树来进行存储信息。 B树的结点可以有许多子女,从几个到几千个不等,一个B树结点可以拥有的子女数是由磁盘页的大小所决定,这是因为一原创 2014-06-06 17:52:24 · 1311 阅读 · 0 评论 -
斐波那契堆(Fibonacci heaps)
canh原创 2014-06-07 12:12:10 · 5889 阅读 · 0 评论 -
动态规划之装配线调度
题目:装配一辆汽车,有两条装配线分别有n个装配点,每条装配线在进出所花时间为e[i],x[i] (i=0,1),每个装配点所需时间a[i][j](i=0,1;j=0,1,...,n-1),从一条装配线i的第j个装配点到另一条装配线的第j+1个装配点所需时间t[i][j]。原创 2014-06-08 13:54:30 · 2215 阅读 · 0 评论 -
动态规划之矩阵链相乘
问题描述(详见算法导论P197-P198):已知:给定n个矩阵构成的一个矩阵链(A1, A2, ..., An),矩阵Ai的维数为pi-1×pi求:决定该矩阵链的乘法结合顺序(即加括号),使得矩阵链乘法的运行时间最短原创 2014-06-09 01:32:30 · 1706 阅读 · 0 评论 -
动态规划之最长公共子序列
一、最长公共子序列(LCS) 如果Z是X的一个子序列又是Y的一个最长公共子序列。例如,如果X = {A, B, C, B, D, A, B},Y = {B, D, C, A, B, A},则{B,C, B, A}是X和Y的一个LCS, 序列{B, D, A, B}也是,因为没有长度为5的或更大公共序列里。原创 2014-06-09 10:21:05 · 943 阅读 · 0 评论 -
贪心算法之活动安排问题
问题表述:设有n个活动的集合E = {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si 。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是相容的。也就是说,当si >= fj或sj >原创 2014-06-09 17:38:57 · 994 阅读 · 0 评论 -
LeetCode 方法详解
1:两个数的和为一个定值http://blog.csdn.net/a45872055555/article/details/36675507题目描述:给一个序列,找到两个数的和为给定的值,返回这两个数的索引。题目解析:(1)暴力法:i从0...n-1;j从i+1...n。如果两个数的和等于给定值,就返回索引。时间复杂度高O(n^2)(2)排序+扫描:将数组排序,然后i指针后移,原创 2014-09-28 14:47:34 · 4285 阅读 · 0 评论