码迷,mamicode.com
首页 >  
搜索关键字:java数据结构算法    ( 20个结果
二分法体会与结队感想
二分法思想是个基础但又极其重要的思想,C++,Java,数据结构,算法设计等多门课程都详细地讲述了一遍二分法。 对于一个已排序的长数组来说,二分法其O(NlogN)的时间复杂度,对于效率的提升是毋庸置疑的,而且二分法用途广泛,实用且方便。但这一切的前提是数组已排序,对于无序表与链表,二分法便无能为力 ...
分类:其他好文   时间:2018-10-15 00:39:13    阅读次数:162
数据结构 - 单源最短路径之迪杰斯特拉(Dijkstra)算法详解(Java)
数据结构, 算法, 迪杰斯特拉, Dijkstra, 最短路径查找 ...
分类:编程语言   时间:2018-08-25 16:28:19    阅读次数:216
程序员必知的8大排序
程序员必知的8大排序(一) 直接插入排序,希尔排序(java实现) 2012年05月12日 11:18:05 阅读数:56853 标签: java数据结构算法 更多 个人分类: Java 程序员必知的8大排序(一) 直接插入排序,希尔排序(java实现) 2012年05月12日 11:18:05 阅 ...
分类:编程语言   时间:2018-08-23 20:59:29    阅读次数:193
数据结构绪论
前言:在学数据结构过程中,我们都会产生这样的想法:我们为什么学习数据结构,学数据结构有什么作用?这些有关数据结构的算法不都有人封装好了,我们可以直接调用,学了数据结构还不知道它的用途,等等这样的想法。在这里我用一个不恰当的比喻:比如项目经理找你优化系统中的排序算法,而此时你会无重下手,因为该算法你是调用别人的,底层的实现一点不懂,此时只能加班看书,而如果你学了数据结构,你就会知道多种排序算法,根据
分类:其他好文   时间:2018-06-06 23:40:51    阅读次数:165
树结构的自定义及基本算法(Java数据结构学习笔记)
数据结构可以归类两大类型:线性结构与非线性结构,本文的内容关于非线性结构:树的基本定义及相关算法。关于树的一些基本概念定义可参考:维基百科 树的ADT模型: 根据树的定义,每个节点的后代均构成一棵树树,称为子树。因此从数据类型来讲,树、子树、树节点是等同地位,可将其看作为一个节点,用通类:Tree表示。如下图所示: 图:Tree ADT模型示意图 可采用“父亲-儿子-兄弟”模型来表示树的...
分类:编程语言   时间:2015-08-16 21:29:18    阅读次数:194
9.9递归和动态规划(一)——小孩上楼梯的方式的种类
/**  * 功能:有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。计算小孩上楼梯的方式有多少种。  */ 两种方法: 方法一: //递归法 /** * 思路:自上而下的方式。 * 最后一步可能是从第n-1阶往上走1阶、从第n-2阶往上走2阶或从第n-3阶往上走3阶。 * 因此,抵达最后一阶的走法,抵达这最后三阶的方式的综合。 * ...
分类:其他好文   时间:2015-08-08 18:16:50    阅读次数:2006
9.7数学与概率(四)——在二维平面上,有一些点,请找出经过点数最多的那条线
/**  * 功能:在二维平面上,有一些点,请找出经过点数最多的那条线。/** * 思路:在任意两点之间画一条无线长的直线,用散列表追踪那条直线出现的次数最多。时间复杂度O(N*N) * 注意: * 1)用斜率和y轴截距来确定是否是同一条直线。 * 2)浮点数不一定能用二进制数准确表示,因此检查两个浮点数的差值是否在某个极小值(epsilon)内。 * 3)对于散...
分类:其他好文   时间:2015-08-08 15:05:13    阅读次数:218
9.7数学与概率(二)——实现整数的乘法、减法和除法运算,只允许使用加号
/**  * 功能:实现整数的乘法、减法和除法运算。只允许使用加号。  */ //减法 public static int minus(int a,int b){ return a+negate(b); } //取反 /** * 思路:对正数k的取反,只需要将-1连续加k次;对负数k的取反,只需要将1连续加k次。 * @param a * @return */...
分类:其他好文   时间:2015-08-07 20:15:16    阅读次数:177
9.7数学与概率(一)——给定直角坐标上的两条线,确定这两条线会不会相交
/**  * 功能:给定直角坐标上的两条线,确定这两条线会不会相交。  */ public class Line { static double epsilon=0.000001; public double slope;//斜率 public double yintercept;//与y轴的截距 public static void main(String[] args)...
分类:其他好文   时间:2015-08-07 20:15:15    阅读次数:105
9.5位操作(八)——单色屏幕上画水平线
/**  * 功能:有个单色屏幕存储在一个一维字节数组中,使得8个连续像素可以存放在一个字节里。屏幕宽度位w,  * 且w可以被8整除(即一个字节不会分布在两行上),屏幕高度可由数组长度和屏幕宽度推算得出。  * 实现方法drawHorizontalLine(byte[] screen, int width,int x1,int x2,int y),绘制从点(x1,y)  * 到点...
分类:其他好文   时间:2015-08-07 13:22:59    阅读次数:122
20条   1 2 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!