
算法之道
文章平均质量分 90
夜尽丶天明
这个作者很懒,什么都没留下…
展开
-
线性时间选择算法
1.求第K小的数2..查找两个有序数组的中位数3.求解最接近中位数的数原创 2014-10-29 15:55:48 · 5873 阅读 · 1 评论 -
指针和对象的数组实现
多数组的链表表示单数组的链表表示对象的分配与释放原创 2014-11-01 11:24:43 · 1189 阅读 · 0 评论 -
JAVA链表实现与链表的逆序
1.链表2.链表逆序原创 2014-11-01 10:10:28 · 2427 阅读 · 0 评论 -
很特别的动态规划教程
对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢! ----第一节----初识动态规转载 2014-11-26 19:03:38 · 612 阅读 · 0 评论 -
树、二叉树、二叉搜索树(完整版)
1.树2二叉树3二叉搜索树 4遍历5插入6删除7查找78前驱后继原创 2014-11-03 19:56:13 · 2174 阅读 · 0 评论 -
算法基础
1.插入排序2.选择排序3.归并排序4.二分查找5.冒泡排序及优化6霍纳多项式原创 2014-10-19 15:27:21 · 672 阅读 · 0 评论 -
K-Mean聚类算法
1.C++实现#include #include #include #include #include #include #include #include #include using namespace std;typedef vector StrVec; //字符串向量typedef vector IntVec; //整数向量typedef vector > I原创 2014-11-24 19:10:01 · 1032 阅读 · 2 评论 -
分治问题集锦
自从学习《算法导论》以来已经有一段时间了,这段时间真可谓心酸,感觉web比算法简单多了,都是一些重复性的配置,但是看算法也是为了秋招的时候能去个好公司啊,所以一定要坚持下去。目前为止,基本的算法思想数据结构等都看完了,剩下的那些,真的不大容易看,总结来说《算法导论》真是经典,每一个理论都讲得很细,让人理解的很透彻,但是本科生读这本书也是很难的,所以最好能在上研究生的时候研究完,鄙人因为不大喜欢考研原创 2014-11-26 17:36:07 · 828 阅读 · 0 评论 -
计算机几何 凸包 线段相交 最接近点对
package Algorithms;import java.util.Arrays;import java.util.Comparator;import java.util.Stack;/** * 算法导论 ,计算几何学,主要包括 线段的方向关系,沿着线段前进向某一个点拐弯时 左转还是右转,以及 两条线段(注意不是直线)是否相交。 以及 * 凸包(最小封闭凸多边形) 最接近点对等原创 2014-12-13 22:56:49 · 1381 阅读 · 0 评论 -
KMP算法详解
KMP算法详解原创 2015-04-05 16:11:13 · 1111 阅读 · 0 评论 -
最小优先队列实现赫夫曼树 贪心策略
使用 最小优先队列存放要编码的key,和合并之后内部节点,注意最小优先队列,获得最小值时会把最小是删掉,下面是java实现。package Algorithms;class MinQueue>{ int heapSize; T[] heap; int capacity; public MinQueue(int capaticty) { this.capacity=capatic原创 2014-11-16 17:10:37 · 1032 阅读 · 0 评论 -
贪心策略 活动安排 会场安排
会场安排问题: 假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定哪一个活动应使用哪一个教室。(这个问题也被成为区间图着色(interval-graph coloring)问题。我们可作出一个区间图,其顶点为已知的活动,其边连接着不兼容的活动。为使任两个相邻结点的颜色均不相同,所需的最少颜色对应于找出调度给定的所有活动所需的最少教原创 2014-11-13 22:05:40 · 1296 阅读 · 0 评论 -
线性时间排序
1.计数排序2.基数排序链式基数排序3.桶排序原创 2014-10-28 16:02:51 · 624 阅读 · 0 评论 -
排序和顺序统计量与堆排序
的原创 2014-10-23 11:12:24 · 916 阅读 · 0 评论 -
分治策略
第一次在优快云原创 2014-10-19 14:43:44 · 1058 阅读 · 0 评论 -
快速排序
1.快速排序的描述2.快排的改进原创 2014-10-26 11:12:25 · 629 阅读 · 0 评论 -
两个栈实现队列与两个队列实现栈
用两个栈实现一个队列 ,原创 2014-10-30 21:49:40 · 841 阅读 · 0 评论 -
杨氏矩阵
如果一个矩阵每一行每一列都严格单调递增,我们称该矩阵为杨氏矩阵(Young Tableau)。对于杨氏矩阵(a[m][ n]),通常会涉及两个问题:(1) 怎样在杨氏矩阵中查找某个元素X?(2) 怎样在杨氏矩阵找第k大的数? 解决方案杨氏矩阵是一种非常巧妙的数据结构,它既可以用来当堆,又可以用来当做平衡树。原创 2014-10-24 22:26:52 · 793 阅读 · 0 评论 -
动态规划 钢条分割 矩阵链乘 最长公共子序列 最优二叉树
1.动态规划 动态规划的方法与方法类似,英文“dynamic programming”,这里的programming不是程序的意思,而是一种表格法。都是通过组合子问题的解来解决原问题,分治方法将划分为互不相交的子问题,递归的求解子问题,再将它们的解组合起来求出原问题的解。与之相反动态规划应用于子问题的重叠情况,即不同的子问题具有公共的子问题,子问题的求解是递归进行原创 2014-11-06 21:06:01 · 1348 阅读 · 0 评论 -
最长回文子序列
动态规划最关键的就是构造数组或者矩阵,找出递归式,怎么由子问题最优解求出原问题最优解,注意要找出所有的子问题(知道子问题求解方法),自底向上。/**最长回文子序列:算法类似于最长公共子序列 * 求解关键:构造递归式和找出所有的最优子结构 * * @param s:输入的字符串 * @param i,j:查找回文的子串原创 2014-11-12 17:55:29 · 925 阅读 · 0 评论 -
浅谈动规贪心 与0-1背包和分数背包问题
首先介绍一下动态规划...设计一个动态规划算法,通常可按照以下几个步骤进行:(1) 找出最优解的性质,并刻画其结构特征。(2) 递归地定义最优解的值(3) 以自底而上的方式计算出最优值(4) 根据计算最优值时得到的信息,构造一个最优解。对于一个给定的问题,若具有以下两个性质,则可以考虑用动态规划法来求解。(1) 最优子结构。如果一个问题的最优解中包含了其子问题的最优解,原创 2014-11-14 19:05:32 · 2593 阅读 · 0 评论