面经
文章平均质量分 53
iteye_20080
这个作者很懒,什么都没留下…
展开
-
逆波兰表示法
逆波兰表示法 目的:将中缀表达式(即标准形式的表达式)转换为后缀式。例子:a+b*c+(d*e+f)*g转换成abc*+de*f+g*+ 转换原则:1.当读到一个操作数时,立即将它放到输出中。操作符则不立即输出,放入栈中。遇到左圆括号也推入栈中。2.如果遇到一个右括号,那么就将栈元素弹出,将符号写出直到遇到一个对应的左括号。但是这个左括号只被弹出,并不输出。3...原创 2012-08-30 12:06:40 · 245 阅读 · 0 评论 -
自定义约瑟夫环
约瑟夫环(Josephus)问题:古代某法官要判决n个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第s个人开始数起,每数到第d个犯人,就拉出来处决,然后再数d个,数到的人再处决……直到剩下的最后一个可赦免.[code="java"]public class Josephus { private static class Node { public int no;// 编...原创 2012-09-11 10:29:39 · 137 阅读 · 0 评论 -
死锁产生的原因及四个必要条件
产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) [b]互斥条件[/b]:一个资源每次只能被一个进程使用。(2) [b...原创 2012-09-11 10:29:54 · 193 阅读 · 0 评论 -
经典算法——求最大子序列和
比较经典的算法问题,能够很好的体现动态规划的实现,以一点“画龙点睛” 大大精简了算法复杂度,且实现简单。本文中实现了4种:一般 maxSubSequenceSum0 O(n^3)简单优化过的算法 maxSubSequenceSum1 O(n^2)分治法优化的算法 maxSubSequenceSum2 O(n*log(n))动态规划的算法 maxSubSeque...原创 2012-09-11 10:30:38 · 99 阅读 · 0 评论 -
网摘-java面试笔试题大汇总
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类...原创 2012-05-22 23:10:28 · 2337 阅读 · 0 评论 -
java实现 多种排序算法
//冒泡排序(Bubble Sort):将相邻的两个数据元素按关键字进行比较,如果反序,则交换。对于一个待排序的数据元素序列,经一趟排序后最大值数据元素移到最大位置,其它值较大的数据元素向也最终位置移动,此过程为一次起泡。然后对下面的记录重复上述过程直到过程中没有交换为止,则已完成对记录的排序。 //冒泡排序算法的运作如下://比较相邻的元素。如果第一个比第二个大,就交换他们两个。//...原创 2012-05-22 23:18:15 · 112 阅读 · 0 评论