自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 问答 (3)
  • 收藏
  • 关注

原创 HashMap源码阅读笔记

39-45行 注释:主要介绍了HashMap和HashTable的区别,即HashMap允许null作为键、值,而且HashMap不是线程安全的。并且HashMap中的元素不是有序的,特别的,也不保证随着时间推移,这个map中存储的顺序不发生改变。 解析:hashmap是线程不安全的,键、值都允许null的存在,map中的元素不保证有序,随着时间推移可能还会发生变化。 47-54行 注

2017-12-23 23:34:07 331

原创 算法-字符串

字符串排序 一、键索引计数法 时间复杂度:线性时间,排序N个键为0-R-1需要11N+4R+1次。因为不是继续比较的排序。计数排序嘛,分配型的排序方法,以空间换时间。

2017-12-22 21:44:40 198

原创 JAVA基础API

1、String subString()方法返回的子字符串和原字符串的value[]数组一样,并且多了偏移量和字符串长度,这也是为什么substring()方法能够在常数时间完成的原因。接上,由于substring()返回的实际是原字符串,所以s==s.substring(0)---->true,因为两者引用相同,重载的方法包括从起始索引开始(如果指定结束索引,是[起始索引,结束索引)即

2017-12-22 20:45:16 248

原创 数据结构知识点总结

一、树 1、树(森林)和二叉树可以相互转化,规则是“左孩子右兄弟”,即当前节点的左孩子在由二叉树转化为树的过程中,左孩子还是当前节点的左孩子,而右节点会变成当前节点的兄弟。 2、设二叉树度为0的节点有N0个,度为2的节点为N2,则N2=N0+1 二、图 1、无向图的数据结构是邻接多重表,有向图的数据结构是十字链表。二者都可以使用邻接表 2、使得图从偏序到全序的遍历序列即拓扑排序,拓扑排序

2017-12-20 17:25:01 984

转载 JAVA的位运算符<<

作者:傻傻傻傻 链接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8 来源:牛客网 在java中,对于1

2017-12-14 11:45:00 236

原创 数据结构-图的分析

1、有向图的强连通分量的计算:Kosaraju算法 时间复杂度:O(V+E),对于有向图的强连通性查询可以在常数时间内完成。 步骤:1、对图G进行转置(反向图)得到图Gr    2、对Gr求得逆反序,即Gr的拓扑序列    3、从Gr的拓扑序列开始,进行深度优先搜索,得到的搜索树即强联通分量。 说实话,这个算法从代码量上是非常简洁的,仅仅就是从遍历所有节点(0,1....v)变成了按照拓

2017-12-13 21:00:09 345

原创 JAVA语言特性笔记

1、JAVA支持的多态性质主要是为两种:静态多分派和动态单分派。 静态多分派在JAVA中的表现形式即:重载。主要由静态方法和私有方法构成(还有实例构造方法、父类方法)。他们的引用在类加载之初就已经被确定了。一个是类级别的,一个是私有方法,private访问限定了它不能被子类访问并覆写。 动态单分派的表现形式为:覆写(Override) 两者的主要区别在于一个是编译期绑定,

2017-12-12 23:44:55 230

原创 二叉树遍历

二叉树遍历分为:深度优先遍历和广度优先遍历,在课堂上主要提及到的先序遍历,中序遍历和后序遍历属于深度优先遍历,广度优先遍历的主要实现是层级遍历。 二叉树本身属于图的一种,定义为连通的无环图,刚开始学习《算法4》这本书的时候还一直在翻目录,怎么没有提到重要的二叉树先序遍历,中序遍历和后序遍历呢?后来才拍拍脑门觉得自己太蠢了,写的深度优先和广度优先不就是为图设计的么,二叉树又本身就是图的一种。 二

2017-12-09 23:31:36 160

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除