码迷,mamicode.com
首页 >  
搜索关键字:java算法    ( 446个结果
二叉搜索树(搜索、添加、遍历)——Java
栈、队列、链表都有他们各自的好处,同样的也有弊端的存在。 如果我想要一个有序的数组和链表这个当然很好实现。现在我要在这几个数据结构中查找一个值。先说数组,因为是有序的通过二分查找很快的就可以找到。查找的效率还是很高的,但如果要是插入呢,为了保证有序,我要先找到插入位置,然后再将比插入数字大的数字依次向后移动;这时的第一反应就是链表!他打插入速度很快,只要改变指针的指向就可以了。但是链表大查找要从头开始找啊。只有知道了前一个元素的地址才能知道下一个地址。所以链表查找起来又费劲了。这时候就有人引进了...
分类:编程语言   时间:2015-08-20 13:12:44    阅读次数:132
二分法查找——Java
首先介绍一下什么是二分法查找。 顾名思义二分法即多次将待查数组的长度折半,但前提条件时待查找数组中的数据需要是已经排序好了的数据。 主要思想: 对于待查找数组arr[low,high],其中high=arr.length-1,待查找元素des (1)确定数组中间位置mid=(low+high)/2 (2)将查找值des与arr[mid]进行比较,若相等,则直接返回该位置;否则确定新的查找位置,继续二分查找。区域确定如下:如果arr[mid]>des由数组的有序性可知 arr[mid,mid+1..........
分类:编程语言   时间:2015-08-20 13:09:32    阅读次数:118
JAVA的六大经典算法,代码案例简化分析
java八大经典算法:冒泡、选择、快速、插入、希尔、堆、归并、基数 1.算法实现类 package com.algorithm; /** * * @Title: BubbleSort.java * @Copyright: Copyright (c) 2005 * @Description: * * JAVA六大经典算法 * ...
分类:编程语言   时间:2015-08-19 16:44:21    阅读次数:210
求一个数组的最大k个数(java)
问题描述:求一个数组的最大k个数,如,{1,5,8,9,11,2,3}的最大三个数应该是,8,9,11 问题分析:     1.解法一:最直观的做法是将数组从大到小排序,然后选出其中最大的K个数,但是这样的解法,复杂度是O(logn*n),但是有时候并不需要排序,用简单的选择排序,或者是冒泡排序,那么就K轮的交换或者是选择,就可以得出结论,复杂度是O(n*k),当K很大的时候排序可能是更好的解...
分类:编程语言   时间:2015-08-18 19:35:18    阅读次数:155
LeetCode解题报告--3 Sum
题目: 3 个数和问题 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: Elements in a triplet (a,b...
分类:其他好文   时间:2015-08-16 18:25:29    阅读次数:173
LeetCode解题报告--3Sum Closest
题目:与3数和最接近的和 Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would...
分类:其他好文   时间:2015-08-16 18:25:25    阅读次数:126
9.10扩展性与存储限制(二)——给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB
/**  * 功能:给定一个输入文件,包含40亿个非负整数。产生一个不在该文件中的整数。内存限制:1GB  * 进阶:内存限制10MB。  */ /** * 思路: * * 1)创建包含40个亿个比特的位向量。 * 位向量(BV,bit vector)其实就是数组,利用整数(或另一种数据类型)数组紧凑地储存布尔值。每个整数可存储一串32比特或布尔值。...
分类:其他好文   时间:2015-08-15 13:37:29    阅读次数:213
9.10扩展性与存储限制(三)——若只有4KB内存可用,该如何打印数组中所有重复的元素
/**  * 功能:给定一个数组,包含1到N的整数,N最大为32000,数组可能含有重复的值,且N的取值不定。  * 若只有4KB内存可用,该如何打印数组中所有重复的元素。  */ /** * 思路:4KB最多殉职8*4*2^10个比特。比32000大。创建含有32000个比特的位向量,其中每个比特代表一个整数。 * 遇到重复元素,打印出来。 * @param array ...
分类:编程语言   时间:2015-08-15 13:36:29    阅读次数:201
9.9递归和动态规划(十二)——小鸡吃米
/**  * 功能:小鸡吃米。  * 小鸡一次可以吃n颗米(n>0),总共有m颗米(m>0),在不考虑小鸡最大能力的情况下,小鸡共有多少种吃法。(m与n之间无大小限定)  */ /** * 思路:自上而下的方式。 * 小鸡最后一次吃米,可能吃1颗米,2颗米,……,n颗米。因此,最后一次吃米的吃法,就是之前的总和。 * @param m * @param n ...
分类:其他好文   时间:2015-08-14 19:21:21    阅读次数:125
9.9递归和动态规划(九)——N皇后
/**  * 功能:打印八皇后在8*8棋盘上的各种摆法,其中每个皇后都不同行、不同列,也不在对角线上。  * 这里的“对角线”指的是所有的对角线,不只是平分整个棋盘的那两条对角线。  */ static int GRID_SIZE=8; /** * 思路:每一行只能摆放一个皇后,因此不需要将棋盘存储为完整的8*8矩阵,只需一维数组,其中columns[r]=c表示有个皇后...
分类:其他好文   时间:2015-08-14 15:49:11    阅读次数:112
446条   上一页 1 ... 18 19 20 21 22 ... 45 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!