自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到Super腾的世界

学习+健身+爱MQ = Super腾

  • 博客(16)
  • 问答 (2)
  • 收藏
  • 关注

原创 JAVA面试之二叉树问题

**最近刷面试题的时候发现各大公司对二叉树的算法情有独钟,所以花时间研究了一下,用JAVA实现了包括二叉树的添加节点,前序中序后序遍历,按层遍历,以及树的深度的计算。 在贴代码之前对树的原意考的基本理念复习一下。**树是属于一种非线性的数据结构存储分为顺序存储用数组和链式存储树通常研究的是二叉树二叉树又分为二叉堆和二叉查找树二叉堆一般用顺序存储来进行存储 因为二叉堆一般都是完全二叉树

2016-03-26 22:12:26 2489

原创 红黑树入门

红黑树要符合二叉查找树的基本特性: 每个节点至多只有两个孩子 左孩子的值小于父节点,右孩子的值大于父节点 扩展的一些特性: 每个节点不是红色节点就是黑色节点 根节点一定是黑色节点 叶子节点一定是黑色节点 每个红色节点的孩子都是红色节点 任意节点到叶子节点的路径上所包含的黑色节点数均相同 结构上的特点: 每个节点上的属性除了当前节点数据,左孩子以

2016-05-01 11:14:32 406

原创 定位式查找---哈希表

哈希查找 查找的三种主要形式 1. 线性查找 2. 树形查找 3. 定位式查找今天来讨论定位式查找—-哈希查找 哈希查找的主要思想: 通过一个特定的哈希函数对用户插入的内容进行计算得到一个结果,把用户输入的内容存入到这个结果所对应的地址处。当取值查找时同理,也是先进行哈希函数的计算,计算出结果去相应位置取出元素。 要讨论得问题 1. 哈希函数的构建

2016-04-30 11:13:12 1051

原创 线性查找---JAVA实现

常见的三大线性查找: 线性查找 二分查找(折半查找) 分块查找 线性查找思路: 在待查数据中进行顺序性轮询查找,当存在待查的数据时返回当前数据索引位置,如果不存在则返回不存在表示-1,技巧为了增加效率减少主要代码的操作,可以设置一个监视哨在数组的最后一位,这样就可以有效的防止数据越界的比较了只需要比较当前数据是否是所需要的数据就OK了。 平均查找长度:

2016-04-28 17:37:24 3239 1

原创 图的邻接矩阵存储---JAVA实现

摘要: 数据结构的一大特点就是用来存储数据的,作为图这种特别复杂的数据结构有三种存储方式,分别是邻接矩阵 邻接表 十字链表三种。本次来讨论邻接矩阵的存储方式。 邻接矩阵的思路: 在邻接矩阵中如果两个节点之间相连则用数字1来进行表示,如果两个节点之间没有边进行连接则用数字0来进行表示。节点初始的时候存储在一个集合或数组当中。二边则存储在一个整形的二维数组当中。 空间复杂度为:

2016-04-26 15:50:15 1335

原创 深入理解虚拟机--内存部分

之前对虚拟机的内存分配部分一直用一些困惑,研究了一下午终于搞明白了 ^-^ > 堆:堆是虚拟机内存分配最大的一个部分,存放着全部对象的实例。JAVA的垃圾回收机制也是主要对这个部分中的内容进行回收。它是线程共享的。> 方法区:方法区中主要存储的是类加载进内存时候的基本信息,比如类的说明,接口信息等等。除此之外还包含着运行时常量池。在运行时常量池中存放着常量以及静态的属性。同样它也是线程共享的。>

2016-04-18 22:00:22 358

原创 求两字符串的最大相同子串--JAVA实现

啥也不说了 都在代码里了 ^-^package 面试小算法.相同子串;import java.util.ArrayList;import java.util.List;import 面试小算法.Test04;public class Test { /* * 总体思路为:先找出小字符串 外层循环遍历小字符串 内层循环遍历小字符串索引+1的字符串 * 从小字符串中截取(外层

2016-04-13 21:21:17 510

原创 Linux 基础--D1

Linux概述 是一个在服务器方面应用十分广泛的操作系统,是一个开源的操作系统。现在主要的版本有red hat 和 ubuntu 它稳定性极高很少会出现像Windows黑屏 死机 蓝屏等现象,并且由于其良好的安全性以及没有图形界面导致系统资源占据极少且不容易产生BUG让其在服务器方面占据了巨大的比例,所以学习这个操作系统十分重要。与Windows的区别 Linux中不区分大小写的 大

2016-04-12 13:04:53 310

原创 基数排序---JAVA实现

基数排序: 基数排序通常用作多关键字排序,比如一副扑克牌既要通过花色进行排序也要通过点数对其进行排序。基数排序分类: 分为高位优先排序和低位优先排序两种时间复杂度 O(d(n+rd))空间复杂度 O(d(n+rd))实现思路: 通过链表的形式来进行实现,原数组存储到主链表中去,每个基数的范围创建一个新的链表,对当前所要比较的位数进行循环比较然后在放入到相应的子链表中去,最

2016-04-10 11:22:20 491

原创 归并排序---JAVA实现

归并排序思路: 把数组中的每一个元素看做是一个有序表,把相邻的两个表进行归并,组成一个新的有序表并不断以此类推直到最后变成一个有序表。时间复杂度: O(NlogN)空间复杂度: O(N) 因为需要一个临时数组来存储当前归并后的表并最后赋值回来实现思路: 递归实现把当前的数组分割成若一个个单个的元素通过递归的方式想,相当于二分法,分割完之后再对分割完的两个进行归并操作。

2016-04-09 17:23:09 321

原创 堆排序--Java实现

堆排序思路: 堆排序可以算是直接选择排序的一种优化的算法,采用了一种独有的堆数据结构对元素进行存储。然后通过这种数据结构的特点不断交换根节点元素与最后一个元素在对剩下的节点进行堆数据结构的重新构建。堆数据结构: 类似于二叉堆的一种数据结构,把元素存储到数组当中以一种完全二叉树的形式进行存储,每个索引为N的父节点N*2为其左孩子N*2+1为其右孩子。并且父节点的值要大于左孩子以及右孩子。堆

2016-04-07 11:54:48 398 1

原创 直接选择排序---JAVA实现

直接选择排序思路:1. 对当前数组进行N-1次轮询2. 每次轮询找出这次轮询中的最小元素3. 让最小元素与当前轮询次数最前面的数进行交换4. 得出排序后的数组时间复杂度: F(N)为 (n*(n-1))/2 f(N)为 n^2 时间复杂度为O(N^2)稳定性: 不稳定的排序 比如 初始数组为 5 4 5 2 6 第一次轮询会交换2与第一个

2016-04-06 21:00:39 534

原创 大数运算之加法乘法---JAVA实现

常考的算法题 大数加法以及乘法的JAVA版本实现 加法思路: 1. 大数存到数组里 2. 数组进行逆置存储 3. 对位进行加法 判断是否进位 乘法思路: 1. 大数存到数组里 2. 数组进行逆置存储 3. 对位进行相乘 具体看代码 result[i+j]处要思考一下 4. 对相乘后的结果进行进位处理 5.

2016-04-05 11:18:40 882

原创 约瑟夫环生者死者游戏(JAVA)

上周日参加一个比赛,在线编程里面有一道就是约瑟夫环的问题,当时脑子转不过来弯集合用的arraylist重复的元素不进行覆盖导致循环一直跳不出来。。。。尼玛当时看了将近2个点好生郁闷。其实这个解决思路很简单,就是构建一个循环链表的数据结构,然后判断要杀死的人中间的间隔,while不断判断就OK了 内容要求: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39

2016-03-29 11:42:30 3938

原创 打印二叉树所有路径---JAVA实现

思路:把当前结点存储到数组当中,如果当前结点为叶子结点就打印当前数组,采取递归的方式来进行操作。技巧一:就是数组的问题,所有路径结点都存到一个数组当中,由于数组传递是传址,改变数组指向内容的时候其他传递当前数组的方法也会受到影响,所以在参数当中还需要一个整形的变量来控制当前这个数组长度,打印的时候只是打印这个长度的数组这样就可以进行区别了。技巧二:能进行这样的修改操作是因为程序是线性执行的不会产生数

2016-03-27 12:07:48 3859 1

原创 JAVA基础之原始类型变量

原始类型1.整数类型·byte:8位 1个字节  无符号大小为-2^8~2^8-1 有符号大小为-2^7~2^7-1·short:16位 2个字节 无符号大小为-2^16~2^16-1 有符号大小为-2^15~2^15-1·int:32位4个字节 无符号大小为-2^32~2^32-1 有符号大小为-2^31~2^31-1·long:64位8个字节 无符号大小为-2^64~2

2015-12-27 15:53:25 805 1

空空如也

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

TA关注的人

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