Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

解密回文——栈

解密回文——栈

解密回文——栈2015-10-22上一节中我们学习了队列,它是一种先进先出的数据结构。还有一种是后进先出的数据结构它叫做栈。栈限定只能在一端进行插入和删除操作。比如说有一个小桶,小桶的直径只能放一个小球,我们现在向小桶内依次放入2号、1号、3号小球。假如你现在需要拿出2号小球,那就必须先将3号小球拿出,再拿出1号小球,最后才能将2号小球拿出来。在刚才取小球的过程中,我们最先放进去的小球最后才能拿出来,而最后放进去的小球却可以最先拿出来。这就是后进先出,也可...
只有五行的Floyd最短路算法

只有五行的Floyd最短路算法

只有五行的Floyd最短路算法2015-10-22暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最短路程,也就是求任意两个点之间的最短路径。这个问题这也被称为“多源最短路径”问题。现在需要一个数据结构来存储图的...
Lanczos算法概述

Lanczos算法概述

Lanczos算法概述2015-10-24Lanczos Algorithm:Lanczos算法就是被设计用来做特征分解的,和其他类似的算法一样,获得的奇异向量都是很接近的(这里的翻译可能不对,immediate翻译为很快?和其他类似算法一样,获得奇异向量很快?这样翻译?)。矩阵A的奇异向量就是A^t * A 或者 A * A^t的特征向量。(这里A^t应该是矩阵A的转置么?特征向量应该是只有N*N的矩阵才有的,只有A的转置乘以A才能达到矩阵A是一个N*N...
不用加减乘除做加法的算法

不用加减乘除做加法的算法

不用加减乘除做加法的算法2015-10-24题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包含多个测试样例。对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)。输出:对应每个测试案例,输出m+n的值。样例输入:3 47 9样例输出:716思路:1、先将各bit位相加,不计进位,这一步可以用m^n实现2、加上进位,进位如何来,用m&n可以得到m和n中都为1的bi...
求1+2+...+n的算法

求1+2+...+n的算法

求1+2+...+n的算法2015-10-24题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。输入:输入可能包含多个测试样例。对于每个测试案例,输入为一个整数n(1<= n<=100000)。输出:对应每个测试案例,输出1+2+3+…+n的值。样例输入:35样例输出:615这道题目确实很无聊,试着用java语言,构造方法来写,最...
约瑟夫环的问题

约瑟夫环的问题

约瑟夫环的问题2015-10-26题目描述:每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为JOBDU的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为1的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续1...m报数....这样下去....直到剩下最后一个小朋...
如何数组中只出现一次的数字

如何数组中只出现一次的数字

如何数组中只出现一次的数字2015-10-26题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。输入每个测试案例包括两行第一行包含一个整数n,表示数组大小。2<=n <= 10^6。第二行包含n个整数,表示数组元素,元素均为int。输出对应每个测试案例,输出数组中只出现一次的两个数。输出的数字从小到大的顺序。样例输入:82 4 3 6 3 2 5 5样例输出:4 6思路:上篇博文中已经了解到异或...
如何求扑克牌的顺子

如何求扑克牌的顺子

如何求扑克牌的顺子2015-10-26题目描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大小 王可以看成任何数字,并且A看作1,...
求和为定值的连续正数序列

求和为定值的连续正数序列

求和为定值的连续正数序列2015-10-26题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输入:输入有多组数据。每组数据仅包括1个整数S(S<=1...
水洼的数量算法 代码(C)

水洼的数量算法 代码(C)

水洼的数量算法 代码(C)2015-10-28题目: 有一个大小为N*M的园子, 雨后起了积水. 八连通的积水被认为是连接在一起的. 请求出园子里总共有多少水洼.使用深度优先搜索(DFS), 在某一处水洼, 从8个方向查找, 直到找到所有连通的积水. 再次指定下一个水洼, 直到没有水洼为止.则所有的深度优先搜索的次数, 就是水洼数. 时间复杂度O(8*M*N)=O(M*N).代码:/** main.cpp**Created on: 2014.7.12* *...
迷宫的最短路径算法 代码(C++)

迷宫的最短路径算法 代码(C++)

迷宫的最短路径算法 代码(C++)2015-10-28题目: 给定一个大小为N*M的迷宫. 迷宫由通道和墙壁组成, 每一步可以向邻接的上下左右四格的通道移动.请求出从起点到终点所需的最小步数. 请注意, 本题假定从起点一定可以移动到终点.使用宽度优先搜索算法(DFS), 依次遍历迷宫的四个方向, 当有可以走且未走过的方向时, 移动并且步数加一.时间复杂度取决于迷宫的状态数, O(4*M*N)=O(M*N).代码:/** main.cpp**Created ...
如何左旋转字符串

如何左旋转字符串

如何左旋转字符串2015-10-30题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!输入:多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度...
如何求二叉树深度

如何求二叉树深度

如何求二叉树深度2015-10-30题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。输入:第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n <= 10。接下来有n行,每行有两个个整型a和b,表示第i个节点的左右孩子孩子。a为左孩子,b为右孩子。当a为-1时,没有左孩子。当b为-1时,没有右孩子。输出:输出一个整型,表示树的深度。样例输入:32 3-1 -1...
如何翻转单词顺序

如何翻转单词顺序

如何翻转单词顺序2015-10-30题目描述:JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他...
求数字在排序数组中出现的次数

求数字在排序数组中出现的次数

求数字在排序数组中出现的次数2015-10-30题目描述:统计一个数字在排序数组中出现的次数。输入:每个测试案例包括两行:第一行有1个整数n,表示数组的大小。1<=n <= 10^6。第二行有n个整数,表示数组元素,每个元素均为int。第三行有1个整数m,表示接下来有m次查询。1<=m<=10^3。下面有m行,每行有一个整数k,表示要查询的数。输出:对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数。样例输入:81...
bs架构与cs架构的区别

bs架构与cs架构的区别

bs架构与cs架构的区别2016-08-14 本站 乖兔快跑1、b/s架构:其中,b代表browser(浏览器),s代表server(服务器),b/s架构即 浏览器/服务器架构。b/s架构的简单示意图:b/s架构中,浏览器和服务器之间使用http协议通讯。b/s架构的优点:只需要开发服务器端软件即可,工作量小,开发成本低。管理维护简单;产品升级便利;对用户的培训费用低;用户使用方便;出现故障的概率小。b/s架构的缺点:安全性不足;客户端不能随心变化,受到浏...
<< 121 122 123 124 125 126 127 128 129 130 >>