- 博客(8)
- 资源 (6)
- 收藏
- 关注
原创 排序之堆排序
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 575
原创 求最大子数组的和以及输出最大子数组
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
JAVA程序员面试试题精选
2011-01-09
JAVA程序员面试题集合
2011-01-09
C++程序员面试试题分析
2011-01-09
算法分析与设计考试试题及答案
2011-01-09
算法分析与设计试题及答案
2011-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人