- 博客(22)
- 资源 (13)
- 收藏
- 关注
转载 HashCode和equal
HashCode和equal方法equals()反映的是对象或变量具体的值,即两个对象里面包含的值–可能是对象的引用,也可能是值类型的值。而hashCode()是对象或变量通过哈希算法计算出的哈希值。之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很多集合都用到了hashCode,比如HashTable。两个obj,如果equals()相等,hashC
2016-07-23 13:14:37
307
原创 完全二叉树
完全二叉树是指除了最后一层以外,其它每一层节点都是慢的,如果最后一层也是满的,则它为完全二叉树,如果不是全满,缺少的节点都在右边,则也为完全二叉树采用按层遍历方式,依次从每层的左边到右边遍历每个节点如果当前结点有右孩子,没有左孩子,则直接返回false如果当前结点并不是左右孩子都有,则往后的节点必须为叶节点(没有左右孩子的节点)如果遍历过程中不返回false,则最终返回true
2016-07-19 20:49:15
656
原创 平衡二叉树
设计一个算法判断一棵树是否为平衡 平衡二叉树:一棵树左右子树高度差不超过1,则为平衡二叉树public class CheckBalance { public boolean check(TreeNode root) { // write code here return m(root)>=0; } public int m(TreeNode
2016-07-19 20:18:58
338
原创 二叉树遍历
常见的二叉树遍历是递归方式,我这里把递归和非递归的都写下,有啥错的,请指点出来 //先序遍历 public void preOrderRecur(TreeNode head,List<TreeNode> pList){ //递归终止条件 if(null == head){ return; } pList.
2016-07-19 17:11:23
343
转载 java内存区域和GC机制
Java 内存区域和GC机制 目录Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需
2016-07-19 10:37:55
425
原创 java基础
抽象类和接口 抽象类 特点: 抽象类中可以构造方法 抽象类中可以存在普通属性,方法,静态属性和方法。 抽象类中可以存在抽象方法。 如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。 抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。 接口 特点: 在接口中只有方法的声明,没有方法体。 在接口中只有常量,因为定义的变量,在编
2016-07-16 14:36:43
278
原创 数据库索引
数据库创建索引能够大大提高系统的性能。 第一,通过创建唯一性的索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也使创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序子句进行数据检索时,同样可以显著的减少查询中查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中,使用优化
2016-07-16 13:28:39
295
原创 数据库事务
什么是事务 事务的概念来自于两个独立的需求:并发数据库访问,系统错误恢复。 一个事务是可以被看作一个单元的一系列SQL语句的集合。事务的特性(ACID) A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统
2016-07-16 11:23:00
278
原创 liunx文件操作
文件权限概述:Linux文件采用10个标志位来表示文件权限,如下所示:-rw-r–r– 1 skyline staff 20B 1 27 10:34 1.txt 第一个字符一般用来区分文件和目录,其中:d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。 -:表示这是一个普通的文件。 l: 表示这是一个符号链接文件,实际上它指向另一个文件。 b、c:分别表示区块设备
2016-07-16 10:24:47
256
转载 Socket编程--c语言
Socket 基本概念Socket 是对 TCP/IP 协议族的一种封装,是应用层与TCP/IP协议族通信的中间软件抽象层。从设计模式的角度看来,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。Socket 还可以认为是一种网络间不同计算机上的进程通信的一种方法,利用三元组(ip
2016-07-16 09:32:33
474
转载 IP协议
TCP的特性TCP提供一种面向连接的、可靠的字节流服务 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP TCP使用校验和,确认和重传机制来保证可靠传输 TCP使用累积确认 TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制 三次握手与四次挥手所谓三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共
2016-07-16 09:30:49
324
转载 TCP协议(三次握手和四次握手)
TCP的特性TCP提供一种面向连接的、可靠的字节流服务 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP TCP使用校验和,确认和重传机制来保证可靠传输 TCP使用累积确认 TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制 三次握手与四次挥手所谓三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共
2016-07-16 09:30:18
322
转载 HTTP协议
HTTP的特性HTTP构建于TCP/IP协议之上,默认端口号是80 HTTP是无连接无状态的 HTTP报文请求报文HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而 HTTP 中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个
2016-07-16 09:29:14
254
原创 链表相交判断
给定两个单链表的头节点head1和head2,如何判断两个链表是否相交?相交的话返回true,不想交的话返回false。先判断是否为单链表还是环形链表,之后再比较import java.util.*;/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this
2016-07-15 12:37:09
209
原创 链表判环
如何判断一个单链表是否有环?有环的话返回进入环的第一个节点的值,无环的话返回-1。从链表头节点开始遍历,一个快速每次2个单位,一个慢每次一个单位,如果过程中出现相等就代表有环,此时慢遍历依然照常遍历,另从头节点开始另一个慢遍历,前后两次慢遍历出现相等时,就是入环的第一个/*public class ListNode { int val; ListNode next = null;
2016-07-15 11:25:51
255
原创 链表分化
对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保证两类结点内部的位置关系不变。如特定值val,把链表遍历,小于等于val的生成一个链表,大于的生成一个链表/*public class ListNode { int val; ListNode next = null; ListNode(int val) {
2016-07-15 11:17:58
320
原创 链表插入
**有一个整数val,如何在节点值有序的环形链表中插入一个节点值为val的节点,并且保证这个环形单链表依然有序。 **即从头节点遍历,到末节点中如果出现可以插入的位置即返回,若没有,这比较是插入到末节点之后再指向头节点,还是在头节点之前,即插入的为新的头节点public class InsertValue { public static ListNode insert(int[] A, in
2016-07-15 11:06:17
314
原创 得到一个字符串最大无重复子串长度
以下是我自己见解,写的不好多多包涵如“abcdb”,两个变量,一个保存目前所遍历字符的下标位置(pre),一个保存当前这个字符最大的无重复长度(cur),而length则取(length,cur)最大长度import java.util.*;public class DistinctSubstring { public int longestSubstring(String A, int n
2016-07-14 15:52:53
648
1
原创 java常用知识
java标识符 [1]Java标识符只能由数字、字母、下划线“_”或“”符号以及Unicode字符集组成[2]Java标识符必须以字母、下划线“”或“”符号以及Unicode字符集组成 [2]Java标识符必须以字母、下划线“_”或“”符号以及Unicode字符集开头 [3]Java标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null) [4
2016-07-14 10:28:52
287
原创 java中哈希表,Map,HashCode,Equals等介绍
关于哈希表的原理,及java中hashmap等哈希表 在java中如hashtable实现了哈希表等,如put(K,Vlaue)是先计算出K的hashcode值,再通过hashcode计算出 hashtable中Entry[]数组 table的下标,在table[next]中进行遍历Entry链表进行key和value的比较,相同的key 及hashcode,用新值取代旧值,不同的直
2016-07-02 21:47:23
382
原创 字符串变形词
对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算法,检查两给定串是否互为变形词。解题思路:通过哈希表将字符串A放入map中,记录出现的字母和次数,本题中使用数组代替,key–数组下标,value–数组数值。public class Transform { public boolean chkTransform(String A
2016-07-02 21:33:21
455
原创 求一个二叉树是否为另一个二叉树的子树
求一个二叉树是否为另一个二叉树的子树**对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同。 给定两棵二叉树的头结点A和B,请返回一个bool值,代表A中是否存在一棵同构于B的子树。**直接把两个二叉树通过前序遍历形成字符串,在判断字符串A是否包含字符串B,主要用到的是KMP算法(http://blog.youkuaiyun.com/maotianwang/a
2016-07-02 21:19:22
410
jdk8-liunx64位
2018-04-19
图解HTTP协议(中文版)
2018-01-25
曼昆经济学原理中文版_高清pdf
2018-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人