码迷,mamicode.com
首页 >  
搜索关键字:算法思路    ( 426个结果
C++算法之 用两个栈实现一个队列
算法思路: 一个栈用来入队列,一个栈用来出队列: 现有两个栈s1 和s2;s1用来入栈,比如  队列进入  1 2 3 4 5 那么s1进栈 1 2 3 4 5 ,现在要出队列,意思就是要1先出来; 那么我们把栈s1的数据取出来都压到栈s2当中,那么栈s2就是 5 4 3 2 1 ;s2再出栈,此时1出栈就模拟出出队列的效果;   编写代码: // QueueFrom2Stack.cp...
分类:编程语言   时间:2014-12-08 19:40:39    阅读次数:215
原创JavaScript Jquery特效之----多重特效折叠菜单(附带详细注释和算法思路)
折叠菜单 * { padding: 0; margin: 0; } #FoldingMenuBar { margin: 200px;; } li { list-style: none; } .left { float: left; } .TotalMenu { float: le...
分类:编程语言   时间:2014-12-01 11:27:32    阅读次数:229
KMP算法
KMP算法时间复杂度为O(m+n),直观地看,是因为在匹配过程中指针 i 没有回溯。KMP算法的核心思想是利用已经得到的部分匹配信息来进行后面的匹配过程。 KMP算法思路:从主串s的第pos个字符起和模式的第一个字符比较之,若相等,继续逐个比较后继字符。当一趟匹配过程中出现字符比较不等时,不回...
分类:编程语言   时间:2014-11-26 01:16:49    阅读次数:250
最长单调递增子序列-LIS问题
http://zju.acmclub.com/index.php?app=problem_title&id=1&problem_id=1911 最长单减子序列、最长单增子序列、相继元素之间满足某种条件(例如绝对值之差不超过d)的最长子序列等,都是一个类型的动态规划。 下面给出一个n平方级别的基本算法。 思路:定义dp[i]代表A[i:n]中,以A[i]为开头的最长单增序列的长度。 从A...
分类:其他好文   时间:2014-11-20 13:42:51    阅读次数:160
杭州电子科技大学Online Judge 之 “确定比赛名次(ID1285)”解题报告
算法分析: 本题是拓扑排序的典型应用。 由于顶点数量不多,可以采用邻接矩阵来存储图信息,这样算法比较简单,只需要搜索n次,每次把序号最小的入度为0的顶点存储到拓扑序列中就行了。算法思路比较清晰,代码也比较简洁,但时间复杂度和空间复杂度都较高。 另一种方法是采用邻接表存储图信息。由于题目要求输出时编号小的队伍在前,所以在入栈时一定要保证先让序号最小的入度为0的顶点在栈顶,这样根据后进先出的特点,可以把序号最小的顶点存储到拓扑序列中。我采用折半插入排序的方法,把入度为0的顶点按递减序排序,然后对图进行深度优先...
分类:其他好文   时间:2014-11-19 16:05:59    阅读次数:174
LeetCode Solutions : Sort List
【算法思路】时间复杂度限制在O(n log n),我们可以第一时间想到常用的二路归并排序,快速排序和堆排序,其中快排和堆排只适用于线性表,即数组,故这道编程题毫无疑问用二路归并排序; 【编程步骤】 * 1. 利用一个小技巧,可以设置慢行指针low和快行指针fast,把链表分成两部分来操作,即first和second链表 * 2. 递归排序first和second链表,即 first=sortList(head); second=sortList(second); * 3. 合并这两个链表,即:...
分类:其他好文   时间:2014-11-18 10:23:15    阅读次数:185
用循环链表解决约瑟夫问题
约瑟夫问题描述:从N个人中选出一个领导人,方法如下:所有人排除一个圆圈,按顺序数数,每数到第M的人出局,此时他两边的人靠拢重新形成圆圈,从已出局人的下一个继续进行。问题是找出哪一个人将会是最后剩下的那个人,甚至我们更希望知道出局人的顺序。算法思路:构造一个循环链表来表示排成圆圈的人。每人的链接指向圆...
分类:其他好文   时间:2014-11-18 00:11:44    阅读次数:165
[LeetCode系列] 从中序遍历和后序遍历序列构造二叉树(迭代解法)
给定中序遍历inorder和后序遍历postorder, 请构造出二叉树.算法思路: 设后序遍历为po, 中序遍历为io.首先取出po的最后一个节点作为根节点, 同时将这个节点入stn栈;随后比较io的最后一个节点和stn栈顶节点:如果不同则将此节点添加到栈顶节点的右侧并入stn栈, 同时从po中删...
分类:其他好文   时间:2014-11-04 16:39:28    阅读次数:162
Java算法——求出两个字符串的最长公共字符串
问题:有两个字符串str1和str2,求出两个字符串中最长公共字符串。例如:“acbbsdef”和"abbsced"的最长公共字符串是“bbs”算法思路:1、把两个字符串分别以行和列组成一个二维矩阵。2、比较二维矩阵中行和列对应的每个点的字符是否相同,是设置这个点为1,否设置这个点为0。3、通过查找...
分类:编程语言   时间:2014-11-02 13:39:24    阅读次数:248
【hihoCoder第十七周】最近公共祖先·三
之前就写的是离线算法。思路就是先序一遍树,记录层数,然后高效RMQ就好。ST和线段树都能过。以后有时间将之前的在线算法补上。#include using namespace std;#define MAXN 100005#define MAXM 105#define inf 0x7ffffffint...
分类:其他好文   时间:2014-10-29 01:41:39    阅读次数:269
426条   上一页 1 ... 36 37 38 39 40 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!