上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 119 下一页
摘要: 今天学桶排序,因为需要随机产生[0,1)的等长小数,于是随手谷歌之,翻了些资料,与诸君共享……一.java.lang.Math 该类下边有random()方法,产生[0,1)的double值,注意1.0取不到;所以int p = (int)(Math.random()*10) 会产生[0,9]的整数值,没有10。 补充:Math.round(11.5) = 12,Math.round(-11.5) = -11,其实round函数相当于floor(x+0.5)。ps:这是一道真实的面试题,大公司的。 PI:Math.PI,自然对数是Math.E,还有log、log10、hypot、floor、. 阅读全文
posted @ 2013-07-25 13:52 加拿大小哥哥 阅读(1198) 评论(0) 推荐(0)
摘要: 一.准备知识 Java中变量分为基本数据类型和引用类型,前者分配在栈内,出了作用域就自动释放,后者分配在堆内或者常量池(比如字符串常量和基本数据类型常量),需要new出来。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。堆内存用于存放由new创建的对象和数组。数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉。这个也是java比较占内存的主要原因,实际上,栈中的变量指向堆内存中的变量,这就是 Java 中的指针。 这里我们主要关心栈,堆和常量池,对于栈和常量池中的对象可以共享,对于堆中的对象不. 阅读全文
posted @ 2013-07-25 10:22 加拿大小哥哥 阅读(2048) 评论(0) 推荐(0)
摘要: 一.概念 基数排序也不是基于比较和元素移位的,又称桶子法;数据结构课本上首先由扑克牌的排序引入,继而引出多关键字比较。 本文是基于计数排序的基数排序,只介绍最低位优先(Least Significant Digit First),谷歌之发现就几乎没有介绍MSD的,所谓LSD就是从数字的最低位逐个比较,比较的趟数就是最大数字的位数digit,因此需要先用countDigit方法求出位数digit。 局限性:本算法是稳定的,LSD需要使用稳定的算法,由于按位比较,因此需要整数,和计数排序不同的是,整数可以是负数(各种排序都可以正负混合),也可以很大,为什么呢? 数值较大:由于是按比较,统计数字出现 阅读全文
posted @ 2013-07-24 14:45 加拿大小哥哥 阅读(3602) 评论(5) 推荐(7)
摘要: 暑假没事在宿舍看了看《大宅门》,老版;为什么看这个呢?以前没上大学就在家看了几集,印象深刻,特别是张丰毅演的季宗布。这不又看了一遍,看到他离开白府发的那番宏论,不禁感触良多,随手谷歌之,发现了这篇,与读者共享…… 看过陈宝国演的冯骥才小说改编的《神鞭》,记忆犹新。 下面是原文。 四十集电连续剧刚一开幕,出生后只笑不哭的白景琦便给人留下“不凡”的印象。稍大,他又用“安公牛黄”喂金鱼,向老师的鼻烟壶里掺臭豆腐,在门顶放墨汁戏弄老师等一系列恶作剧,显示了他的确不凡. 就是这个气走了四位先生,又接连找了二十几位教师都不敢教的主儿,在季宗布面前竟然服服贴贴、言听计从。季宗布究竟有那些高招?概括起... 阅读全文
posted @ 2013-07-24 12:23 加拿大小哥哥 阅读(3595) 评论(0) 推荐(1)
摘要: 一.算法简介 通过统计元素出现的次数进而排序,需要一个辅助数组,大小是最大元素值(想想计数的过程),为了更好的理解计数排序,我们先来想象一下如果一个数组里所有元素都是非负整数(数组下标是整数),而且都在0-max(由于内存的原因,这个值要小一些)以内,那对于数组里每个元素来说,如果我能知道数组里有多少项小于或等于该元素,就能准确地给出该元素在排序后的数组的位置。 局限性:通过上面的描述可以看出需要整数(若有负数,则正负数分别排序),而且最大值要在能开数组范围内。 算法是稳定的,算法第五步从后往前保证了稳定性,希望读者细细体会……二.算法描述求得元素最大值max(看算法实现过程,体会这个方法需要 阅读全文
posted @ 2013-07-23 23:49 加拿大小哥哥 阅读(1650) 评论(12) 推荐(6)
摘要: //-----------------------String a = "abcde";char[] b = a.toCharArray();char temp;for(int i=0;i=0;i--) { char chr = str.charAt(i); System.out.print (chr);} System.out.print("]"); String是线... 阅读全文
posted @ 2013-07-23 22:29 加拿大小哥哥 阅读(399) 评论(0) 推荐(0)
摘要: 现在时间: 转译后生成的servlet,对应的body中,有以下代码: out.write("现在时间:\n");out.print( new Date());(java中)有这个方法:print(Object),没有这个方法:write(Object) 但是却有这个方法:write(String) 查找javaAPI,你便会发现。 ... 阅读全文
posted @ 2013-07-23 10:19 加拿大小哥哥 阅读(1981) 评论(0) 推荐(0)
摘要: 科长说下午可以不去,我吃完午饭就回到宿舍了…… 我几乎从不听歌,可是今天下午听了华仔的男人哭吧哭吧不是罪,还是有些感触。 辗转反侧,难以入眠,看小说,对于未来既期待又迷茫,期待的是不用在学校学那些过时的知识,听老师说正确的废话还要花着家里的RMB,迷茫的是见了太多不公平的事情;希望以后会遇到一个好老板。 不过还是要相信努力会战胜潜规则。 打羽毛球去,充满斗志继续努力…... 阅读全文
posted @ 2013-07-22 22:08 加拿大小哥哥 阅读(360) 评论(4) 推荐(0)
摘要: 一.问题引入 说到这两个方法就不得不说多线程,说到多线程就不得不提实现多线程的两种方式继承Thread类和实现Runable接口,下面先看这两种方式的区别。 二. Java中实现多线程的两种方式 继承Thread类 /** * 使用Thread类模拟4个售票窗口共同卖100张火车票的程序,实际上是各卖100张 */publi... 阅读全文
posted @ 2013-07-21 16:58 加拿大小哥哥 阅读(12788) 评论(2) 推荐(8)
摘要: 一.问题引入 谈到hashCode就不得不说equals方法,二者均在Object类里,由于Object类是所有类的基类,所以一切类里都可以重写这两个方法。要想较清晰的理解,需要先知道容器Collection,Set,list,Map(key值不可重复),Set元素无序不重复,list元素有序可重复,那么JVM是如何确定不同的元素的呢? 难道是逐个比较么,那样效率就太低了,JVM采用hash的方法(hash地址不一定是实际的物理地址),看看这个地址上是否有内容,没的话就认为不存在相同对象……且看下面分解……二.问题分析首先equals()和hashcode()这两个方法都是从object类中继 阅读全文
posted @ 2013-07-21 10:30 加拿大小哥哥 阅读(3059) 评论(30) 推荐(9)
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 119 下一页