09 2017 档案
摘要:原文地址: http://blog.csdn.net/justloveyou_/article/details/72466105 JVM类加载机制主要包括两个问题:类加载的时机与步骤 和 类加载的方式。本文主要阐述了第一个问题,关于类加载的方式等方面的内容,包括JVM预定义的类加载器、双亲委派模型等
阅读全文
摘要:一、问题描述 在一维数组(非有序状态)中找出一个元素pivot,使得其左边的元素均小于等于它,右边的元素均大于等于它,要求线性时间复杂度的算法. 二、算法分析 首先从左往右扫描整个数组,求出非递减序列,可以用布尔数组标记。然后在从右往左扫描,记录扫描过程中的最小值rightMin,在非递减序列序列中
阅读全文
摘要:一、问题描述 给定一数组ary,元素两两组合,以min{ary[i],ary[j]}为高,以跨度(j-i)为宽可组成一个容器,求所有这样的容器的最大面积maxVolume。 二、算法分析 以数组ary为例:int[] ary = {3,2,6,8,1,7};如果从蛮力法的角度来看。相当于从以上6个元
阅读全文
摘要:问题一:求sum值 描述:给定一有序序列ary和sum值,求序列中是否存在两元素e1和e2,其和刚好为sum。 算法思想:这是典型的两指针的用法。i指针从头部开始,j指针从尾部开始,相向移动,本质向讲,在移动过程中比较ary[i]+ary[j]与sum的大小,达到逐步排除元素的过程,缩短查找范围。最
阅读全文
摘要:给定一单链表的头指针head 1、判断链表是否又环。 2、如果有环,求环长以及环的起始节点。
阅读全文
摘要:一、k-选取问题:给定任意一个可比较的序列,从中找出第k个元素(k从0开始,默认是从小到大的次序)的问题称为k-选取(k-selection)。k-选取问题有两种退化的情况:1、0-选取问题即是找出序列的最小值问题。2、(length-1)-选取问题即是找出序列的最大值问题。以上两中问题都有最优解,
阅读全文
摘要:package com.demo; import java.util.*; import java.io.*; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class ImageTra { /* * 有给定base64编码的字符串,抓化为图片 * 先经过解码生成...
阅读全文
摘要:一、二叉堆 堆有序:一颗二叉树中每个节点都大于或者等于其两个孩子时,就称为堆有序。根节点是堆有序的二叉树的最大节点。 堆有序的二叉树可以用指针来表示,堆有序的完全二叉树除了可以用指针表示外,还可以用数组表示。 二叉堆:二叉堆是一组堆有序的完全二叉树,并且在数组中按层级存储(不使用数组中0号位置的元素
阅读全文
摘要:java实现: 细节和注解都在注释在代码中了。 一些值得注意的细节问题: 1、i从low开始,j从high+1开始;i和j指针移动过程中采用++i和--j的形式。 2、if (i == high) {break;}需要检查,否则在某些情况下会出错。
阅读全文
摘要:一、merge算法 合并算法merge()总是基于这样一个事实:单个元素总是有序的。 对于原待排序列,因为单元素是最小的有序单元,因此合并算法总是从两个单元素作为待合并的子序列开始,逐步向上合并。 例如:int[] ary = {9,12,78,10,30,8,20,15,50,60};其合并轨迹为
阅读全文
摘要:一、冒泡排序 1、算法思想: 1)、两层循环,外层循环i从0开始,内层循环从j=i+1开始2)、如果ary[i] < ary[j],则交换其值3)、直到外层循环到length-1 2、主算法实现 3、稳定性: 二、选择排序 1、算法思想 1)、两层循环,外层循环i从0开始,内层循环j从i+1开始。2
阅读全文
摘要:一、算法思路:1、两个集合:openList和closeListopenList:存放每走一步后可能的搜索节点集合。closeList:存放已经走过的节点的集合。 2、估值函数:F = G + HF:起始节点startNode到终止节点endNode的距离G:起始节点startNode到当前节点的距
阅读全文
摘要:一、预处理 给定任意四则运算的字符串表达式(中缀表达式),preDeal预先转化为对应的字符串数组,其目的在于将操作数和运算符分离。 例如给定四则运算内的中缀表达式: 字符串数组化后得: 二、中缀表达式转后缀表达式 规则: 遍历中缀表达式, A、如果遇到操作数直接输出 B、如果遇到运算符,分情况:
阅读全文
摘要:一、理解next数组 1、约定next[0]=-1,同时可以假想在sub串的最前面有一个通配符“*”,能够任意匹配。对应实际的代码t<0时的处理情况。 2、next[j]可以有如下的几种理解思路:1)next[j]为sub[j]前面的字符串的前后缀字符串匹配的最大匹配长度例如sub=“ababap”
阅读全文

浙公网安备 33010602011771号