自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (6)
  • 收藏
  • 关注

原创 排序之二分排序

package csu.sort;import java.util.Arrays;import java.util.Random;/** * 归并排序 * 基本思想:就是合并两个有序的数组,采用的是分治策略,把一个数组分为若干个子数组; * 子数组的长度为1的时候,则子数组有序,于是可以两两归并 * 时间复杂度最好最坏的结果都是O(n*logn) * 空间复杂度为O(n) *

2015-08-18 11:02:39 433

转载 面试大总结之二:Java搞定面试中的二叉树题目

这是本系列的第二篇,与前一篇 面试大总结之一:Java搞定面试中的链表题目 相比,二叉树的题目可以变化的就更多了。本文还是参考整合重写了《轻松搞定面试中的二叉树题目》和《算法大全(3) 二叉树》两篇大作。本文一个小亮点就是几乎每一道题都用了递归和迭代两种方法写过一遍,因为面试时往往可能会被要求写不擅长的那一种。这一千多行的记录也是我在面试摸索过程中的一个小笔记,备份与此。请大神们轻拍指正。今后

2015-03-17 10:57:47 647

转载 面试大总结之一:Java搞定面试中的链表题目

链表是面试中常出现的一类题目,本文用Java实现了面试中常见的链表相关题目。本文主要参考整合重写了《轻松搞定面试中的链表题目》和 《算法大全(1)单链表》两篇大作。两篇大神的实现分别是C和C#,因为我更喜欢用Java面试,所以用Java重写了所有实现,并附上自己的一些思考注释。算法大全(1)单链表 尚未有一些问题尚未整合进来,很快我会更新本文。接下来还会出关于二叉树的大总结和栈和队列的大总结。

2015-03-17 10:54:21 634

原创 查找之二分查找

import java.util.Arrays;/** * 二分查找:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。 * 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 * 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; * 否则利用中间位置记录将表分成前后两个

2014-04-22 21:32:28 549

原创 金山网络实习生招聘笔试题(2014-4-9)

Java方向只有android开发,就做了一下android的笔试题,

2014-04-10 11:43:57 903

原创 字符串匹配之BF算法

package csu.ds;/** * BF算法是普通的模式匹配算法,又称暴力算法,性能和效率很低 * 基本思想:目标串T的第一个字符与模板串M的第一个字符相比较,如果相同,继续比较T的第二个字符和M的第二个字符 * ,若不相同,将T的第一个字符和M的第二个字符相比较,以此类推 * * @author Ricky * */public class BruteForce {

2014-04-01 16:12:28 731

原创 排序之堆排序

package csu.sort;/** * 堆排序 * 堆的定义:堆是一个完全,或近似完全的二叉树,堆顶元素的值大于左右孩子的值,左右孩子也需要满足这个条件; * 按照堆的定义,堆可以是大顶堆(maxHeap),或小顶堆(minHeap); * 一般用数组即可模拟二叉树,对于任意元素i,左孩子为2*i+1,右孩子为2*i+2;父节点为(i-1)/2 * 时间复杂度: 平均:O(nlo

2014-03-23 20:36:33 619

原创 直接插入排序

直接插入排序的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。            1.初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=1            2.将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。            3.i

2014-03-17 19:45:09 465

原创 排序之快速排序

快速排序在内部排序方法中效率较高,一般为O(n*logn),当数组有序的时候效率达到最低O(n*n),快速排序采用分治策略。基本思想是:1、先从数组中取出一个数为基准值; 2、将数组中的比基准值大或等于的放到基准值右边,小于基准值的全部放到基准值左边; 3、再对左右区间重复2步骤,知道区间只有一个数。快速排序有递归实现和非递归实现两种方式;   一、递归实现:     pack

2014-03-17 16:15:03 574

原创 求最大子数组的和以及输出最大子数组

import java.util.Arrays;/** * 最大子序列 * @author wkp * */public class MaxSub { public static void main(String[] args) { int[] arr={2,4,-7,3,-4,5,2,-1,2,6,-4,8,3}; int[] subArr= new int[10];

2014-03-13 22:35:50 975 2

转载 2014华为上机试题

详细题库:初级题:从考试成绩中划出及格线 10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分中级题:亮着电灯的盏数 一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始

2014-03-13 10:51:32 1084

原创 排序之选择排序

/*选择排序的思想:需要经过n-1趟比较。 * 第1趟比较:程序将记录定位在第1个数据上,拿第1个数据依次和它后面的每个数据进行比较, * 如果第1个数据大于后面某个数据,就交换它们......依次类推。经过第一趟比较,这组数据中的最小的数据被选出,它被排在第1位。 *第2趟比较:程序将记录定位在第2个数据上,拿第2个数据依次和它后面的每个数据进行比较, * 如果第2个数据大于后面

2014-03-11 19:04:46 478

原创 排序之冒泡排序

/*冒泡排序的思想:需要进行n-1趟比较,每一趟比较将最大的元素排在最后一位 *第一趟比较,依次比较0和1、1和2、2和3 、.....、n-2和n-1处的索引元素,如果第一个数据大于后一个数据,则交换。经过第一趟比较,最大元素排在最后。 *第二趟比较,依次比较0和1、1和2、2和3 、.....、n-3和n-2处的索引元素,如果第一个数据大于后一个数据,则交换。经过第2趟比较,最大元素排

2014-03-11 18:43:26 403

原创 笔试随记(随时更新)

String、StringBuilder、StringBuffer之间的区别三者类都可以表示字符串,其中String类创建的值(字符串)在创建后不能更改,StringBuilder和StringBuffer都是可变字符串序列,而StringBuffer是线程安全(对多线程而言,会采用同步方法)的可变字符串序列,主要操作是append和insert方法;StringBuilder是线程不安全(不

2014-03-10 20:26:32 503

原创 多线程中的继承Thread类和实现Runnable接口的区别

多线程有两种方法来创建:1、继承Thread类,2、通过实现Runnable接口,代码如下:package test;class MyThread extends Thread {    private int ticket = 5;    @Override    public void run() {        // TODO Auto-generated me

2014-02-24 20:27:38 1234

转载 stack的理解

学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈"。  理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。  含义一:数据结构  stack的第一种含义是一组数据的存放方式,特点为LIFO,即后进先出(Last in, first out)。  在这种数据结构中,数据像积木那样一层层堆起来,后面加入的数

2013-12-10 20:43:08 777

原创 括号匹配问题

判断字符串中的字符匹配,遍历字符串运用switch将“(”、” [ " 、“ { ”的时,压入push栈中,当遇到“ )”、“ ] " 、 ” } “,比较pop弹出的的括号是否相对应“(”、” [ " 、“ { ”。遍历完成发现则匹配,否则不匹配。代码如下:package test;import java.util.Scanner;import java.util.Stack

2013-12-09 16:04:49 553

转载 编程面试的10大算法概念汇总

以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1. 字符串2. 链表3. 树4. 图5. 排序6. 递归 vs. 迭代7. 动态规划8. 位操作9. 概率问题10. 排列组合1. 字符串如果IDE没

2013-12-03 20:03:34 509

原创 递归算法-汉诺塔问题

一直以来对递归讳莫如深,总是不太懂,现在慢慢的从简单的问题开始,解决问题。大二时候刘老师的算法分析学的很烂,记得第一章就有汉诺塔问题的描述。但是似懂非懂。只懂得过程,确不会写出算法       import java.util.Scanner;public class hanoiQues {    static int count = 0;// 移动累计次数count初

2013-12-02 21:01:36 844

原创 回文数与回文字符串问题

华为2013校园招聘的上机试题,记得有两道,好忧伤的是当时被第一道试题卡壳了,印象尤深,就是回文数问题,时间过去一年多了,记得题目:给出一个字符串,判断是否是回文字符串? 刚开始的思路是将字符串转为数组n(字符串长度),再根据arr[i]!=arr[n-i-1]。反正是没做出来,可能是第一次参加招聘和上机做题(其实真正原因是基础很薄弱)      最近又碰到这样的题目,以此小记逝去的光

2013-11-30 20:59:24 665

MyEclipse10破解详解(含注册机)找到common文件

MyEclipse10.1破解工具及方法图解,以及找不到common文件的解决方法

2013-07-13

JAVA程序员面试试题精选

QUESTION NO: 1   1. public class Test {   2. static boolean foo(char c) {   3. System.out.print(c);   4. return true;   5. }   6. public static void main( String[] argv ) {   7. int i =0;   8. for ( foo('A'); foo('B')&&(i<2); foo('C')){   9. i++ ;

2011-01-09

JAVA程序员面试题集合

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方 法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特 性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它 的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 (3)封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这 个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受 保护的接口访问其他对象。 (4) 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态 性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数 同名问题。 2.String 是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean 和short。 java.lang.String 类是final 类型的,因此不可以继承这个类、不能修改这个类。为了提高效率 节省空间,我们应该用StringBuffer 类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int 是java 的原始数据类 型,Integer 是java 为int 提供的封装类。Java 为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有 不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当 引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值 为 null,而原始类型实例变量的缺省值与它们的类型有关。 4、

2011-01-09

C++程序员面试试题分析

 试题1: void test1() {  char string[10];  char* str1 = "0123456789";  strcpy( string, str1 ); }   试题2: void test2() {  char string[10], str1[10];  int i;  for(i=0; i<10; i++)  {   str1 = 'a';  }  strcpy( string, str1 ); }   

2011-01-09

算法分析与设计考试试题及答案

4、 f(n)= 6×2n+n2,f(n)的渐进性态f(n)= O( ) 5、 递归是指函数 或者 通过一些语句调用自身。 6、 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相 且与原问题相同。

2011-01-09

算法分析与设计试题及答案

1、 算法就是一组有穷的 ,它们规定了解决某一特定类型问题的 。 2、 在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。3个基本计算模型是 、 、 。 3、 算法的复杂性是 的度量,是评价算法优劣的重要依据。

2011-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除