- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 排序算法大全之基数排序
排序算法大全之——基数排序基数排序是一种分配式排序,又成为桶子法排序LSD(我们以最低位优先)第一步:假设原有一串数字如下: 23,45,12,32,43 遍历这些数的个位数字,将他们分别装进编号为0到9的桶中 桶 0:为空,因为这些数中没有个位数为0的 桶 1:空 桶 2:12,32 桶 3:23,43 桶 4:空
2014-05-04 20:08:56
1572
原创 排序算法大全之计数排序
计数排序是一个比较简单的排序算法计数排序基本思想:计数排序首先有一个大的前提,假设n个输入元素中每一个介于0到k之间的整数,此处k为某个整数1.就是对每一个输入元素x,确定小于x元素的个数。例如,如果有17个元素小于x,则将x插入在第18位。2.当有几个相同元素时,这个方案要略做修改,因为不能把它们放在同一个输出位置上。计数排序不是就地排序,也不是比较排序,所以他的时间复杂度可
2014-04-18 12:44:55
1803
原创 面试题三:设计包含 min 函数的栈。
3.设计包含 min 函数的栈。定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。思路分析:a.要想一个在栈中找出栈的最小值,且时间复杂度为1,我们可能回想到每次向栈插入push()一个值都对其进行排序操作,将最小值放在栈顶,但是我们很快会发现这种方式破坏了栈的结构,不再满足栈的先进先出
2014-04-17 22:32:46
1757
原创 面试题五:求子数组的最大和
5.求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。a[] = {-2,3,-1,4,-7,-3,4,5,-2}像这个数组的最大子数组是{4,5}思路一:这种情况时间复杂度大于0(n); -2,3,-1,4,-7,-3,4,5,-2
2014-04-17 13:49:13
2366
原创 一.排序算法大全之堆排序
一.排序算法大全之堆排序先从伪代码的角度分析:二叉堆数据结构是一种数组对象,用堆对数组A(数组下标用i表示)进行排序,需要了解这些性质。堆的基本性质:1.堆是一个完全二叉树 2.二叉堆有两种:a.最大堆 A[parent(i)]>=a[i] b.最小堆 A[parent(i)] 3.通过下标i,求父节点,左子节点,右子节点
2014-04-17 13:26:29
1427
原创 各大IT公司算法和数据结构面试题整理Java实现
1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下: struct BS
2014-04-06 16:52:13
2416
原创 正则表达式在java中的简单运用
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)
2014-04-05 21:28:00
1372
原创 我的大学生活
2011.9.149月13日晚上8点,从南昌做z68次列车(从南昌——到北京),火车疾驰了一夜,终于到了帝都。下了火车第一件事,我和爸就去中关村买电脑(在之后很长的一段时间我都认为这是我上大学以来做的最正确的一件事)当然我买电脑不是为了打游戏,当初很单纯,只是想我的专业是计算机科学与技术应该整天用电脑,所以去学校必须得先配电脑,同样我也是用这个理由说服我爸给我买电脑,然而去了学校才发现,班上4
2014-04-01 20:49:43
1029
原创 用Java实现不用加减乘除做加法操作
面试题1:不用加减乘除,求两个整数的和。import java.util.Scanner;public class GetSum { /** * 不用加减乘除做加法; * 十进制中的18和7相加;可以分成这样三步来计算:一.无进位的各个位相加得18+7=15;二.18加7的进位是10 * 三.用一和二的结果相加15+10=25 * 对数字运算除了使用四则运算,
2014-03-28 10:30:58
5629
原创 java关于继承中构造函数的调用顺序
public class Constraction_Test { /** * 在java中用子类去创建一个对象的时候会首先调用父类的无参构造函数 * 然后再去调用自己的构造函数 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new
2014-03-27 23:00:10
1910
原创 快速排序一种易于理解的方式实现
看来网上的一些快速排序的例子,发现好多都是代码比较多且不好理解,所以想自己总结一遍这样的博文来分析快速排序,贴出了java实现的代码,用其他语言实现只要稍作修改就行。s[]={48,89,34,55,11,56,89,96,10};以数组s[]为实例来剖析快速排序代码的原理:数组的初始太:选48做基准数,对数组进行填坑挖数操作X=s[0],i=0,j=8
2014-03-26 23:11:02
1510
1
原创 约瑟夫环:用java解决的一种办法
约瑟夫环的编程解决原理:问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。那七个人做事例分析:定义一个数组:大小为 7 ,初始值都设置为0,a[0]=0,a[1]=0,...,a[6]=0;然后从数组下标为0开始报数,等报到3时将a[i]的值设置为1,报到a[6]时在回到a[0]开始循环,直到大小为n的数
2014-03-25 20:59:35
1711
1
原创 java求100以内的素数
方法一:(用筛选法)public class ScreeningTest { /** * 某知名公司面试题:利用筛选法求100以内的素数? * (所谓的筛选法:是指从小到大筛去已知的一个素数的所有倍数,根据2我们可以筛去“4,6,8,...,100”等数, * 然后根据3可以筛去“9,15,...,99”等数,注意此时的6,12早就被作为2的倍数给筛去了,由于4已经被筛去了 *
2014-03-22 15:26:02
8216
2
转载 52句《职来职往》经典语句,震惊大学生!
1、学历代表你的过去,财力代表现在的努力,学习能力代表将来的成就。大多数人都想要改造这个世界,但却罕有人想改造自己。无论你在好单位还是一时不得志,都请你保持学习,这是你未来立足之本。——申晨2、你很细节,其实第一份工作是要找一个平台,要在这个平台上修好自己的管道,做出自己的特色,最终是要指点江山的,最终达到“不想做什么,就不做什么”的状态。3、无论是工作还是做人,傻子才
2014-03-17 22:34:32
2166
原创 屌丝不哭!!!
习惯了大学乌托邦式的生活......我们是否还有勇气独自走向社会,去面对形形色色,带着各种生活压力的人,至少现在我还没有,我们都需要成长,需要在这个温暖的乌托邦里构建自己的王国,理想很美好,现实很残酷......革命的路上需要勇气和策略,还有两年,该好好准备了......大学给我们构建的保护伞,那就好好利用这把伞,在没有能力去和社会竞争对抗时,给
2014-03-15 22:28:51
2285
转载 java中的取整函数
舍掉小数取整:Math.floor(2.0)=2舍掉小数取整:Math.floor(2.1)=2舍掉小数取整:Math.floor(2.5)=2舍掉小数取整:Math.floor(2.9)=2舍掉小数取整:Math.floor(-2.0)=-2舍掉小数取整:Math.floor(-2.1)=-3舍掉小数取整:Math.floor(-2.5)=-3舍掉小数
2014-03-15 21:54:54
2029
转载 java中的IO整理
java中的IO整理写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。最后欢迎大家提出意见和建议。【案例1】创建一个新文件?
2014-03-12 20:40:12
1036
转载 腾讯2014校园招聘软件开发类笔试试题
腾讯2014校园招聘软件开发类笔试试题考试时长:120分钟一 不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分)1 已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:(D)A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA2 下列哪两个数据结构,同时具
2014-03-09 22:21:57
1444
原创 关于JAVA运算符的优先级
java运算符优先级可以分16个级: 1级 —— . ()2级 —— ++ --3级 —— new4级 —— * / %5级 —— + -6级 —— >> 7级 —— > = 8级 —— == !=9级 —— &10级 —— ^11级 —— !
2014-03-09 22:13:11
1193
原创 一道JAVA面试题所引出的知识点
当我看到这道面试题时有点晕,由于平时没关注ClassLoader下面给出的JAVA中ClassLoader的描述正确的是?()A.ClassLoader没有层次关系B.所有类中的ClassLoader都市AppClassLoaderC.通过Class.forName(String className),能够动态加载一个类D.不同的ClassLoader加载同一个文件,所得的类是
2014-03-08 22:46:48
1577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人