
Java
RalfNick
做最好的自己!
展开
-
java学习笔记之转换流
java中的转换流,字符流 = 字节流 + 编码表 ,通过InputStreamReader和OutputStreamWrite,实现字节流和字符流之间的转换原创 2017-03-04 16:10:49 · 432 阅读 · 0 评论 -
数据结构与算法学习-二叉堆及堆排序
1. 二叉堆定义(1)堆是一个完全二叉树(2)堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。第一点,堆必须是一个完全二叉树。,除最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列。第二点,堆中的每个节点的值必须大于等于(或者小于等于)其子树中每个节点的值。也可以理解为,堆中每个节点的值都大于等于(或者小于等于)其左右子节点的值。这里我们借助于堆这种数...原创 2019-04-10 20:32:41 · 423 阅读 · 0 评论 -
数据结构与算法学习-二分查找及其变形
二分查找1、二分查找针对的是一个有序集合,查找思想主要采用分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素。要查找的元素比中间的元素小,则将范围缩小为集合的前半部分,如果待查找的元素比中间的元素大,则将将范围缩小为集合的后半部分,然后重复这个过程,直到找到元素的下标为止。2、二分查找的时间复杂度:O(logn)3、二分查找的局限性:(1)二分查...原创 2019-03-22 18:59:43 · 183 阅读 · 0 评论 -
数据结构与算法学习-排序算法(二)
很早之前整理过一篇**排序算法**,这次又整理了一下,增加了计数排序、归并排序和桶排序,需要的拿走不谢!各种排序算法实现public class Sort { /** * 交换数组中两个位置的数值 * * @param arr * @param i * @param j */ public static void ...原创 2019-03-22 18:39:04 · 168 阅读 · 0 评论 -
数据结构与算法学习-二叉查找树
之前整理了两篇关于二叉树的文章:征战二叉树-第一站征战二叉树-第二站这两篇都是基于二叉树,以及一些练习题,本篇主要对二叉查找树做一个实现,即增删改查,实际上二叉查找树也很容易理解,满足的条件就是左子节点的值小于根节点,右子节点的值大于根节点。代码实现public class BinarySearchTree<T extends Comparable<? super T>...原创 2019-03-21 11:20:56 · 162 阅读 · 0 评论 -
数据结构与算法学习-双向链表
双向链表在上一篇单链表中已经提到了双向链表,其实单链表实现时候,双向链表相对容易多了,只不过对每个节点多了一个前驱节点链接,遍历可以前向遍历,也可以后向遍历。在添加节点和删除节点时,需要注意,因为需要维护节点和前驱链和后继链,所以在添加时,先完成新节点的前向链和后向链,然后再修改新节点的前驱节点的后向链和后继节点的前驱链,分清顺序;同样,删除节点,顺序相反,先完成前驱节点和后继节点的链接,然后...原创 2019-01-16 23:46:04 · 213 阅读 · 0 评论 -
数据结构与算法学习-单链表
一、什么是链表?1.和数组一样,链表也是一种线性表。2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。3.链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继指针next。二、为什么使用链表1.插入、删除数据效率高O(1)级别(只需更改指针指向即可),随机访问效率低O(n)级别(需要...原创 2019-01-01 19:54:45 · 279 阅读 · 0 评论 -
数据结构与算法学习-数组练习
上一篇 数据结构与算法学习-数组 简单实现了一下 ArrayList,对 List 的增删改查有了一定的认识,这一部分,来练习一下一些简单小算法,可以使用我们自己实现的 ArrayList,顺便检查下哪里写的不好。下面就直接给出算法,具体的逻辑不讲解,都是相对比较基础的算法题,花一点时间相信大家能够看得懂!public class RArrayListUtil { /** ...原创 2018-11-29 11:28:38 · 360 阅读 · 0 评论 -
数据结构与算法学习-数组
1. 概念学习数据结构一般都是从数组开始,以为相对来说简单,而且也最常用。数组是我们在编程中最常用的数据结构,它是线性的数据结构,即在内存中是连续的,所以可以很方便的进行遍历,只要有首地址,就可以根据角标计算出所要拿到的元素的地址:arr[i] = arr[0] + K * i;K是一个元素所占的字节数,例如在java中,一个 int 元素占有 4 个字节;实际上,学到 c 语言的知道...原创 2018-11-29 11:27:20 · 206 阅读 · 0 评论 -
Android下Opengl ES实现单屏幕双眼显示
Android下利用Oengl ES 实现单屏幕的双眼模式的主要思路,阐述Opengl ES中帧缓存区对象的使用流程原创 2017-04-01 17:49:38 · 3050 阅读 · 1 评论 -
利用opengl es画立方体的简单流程
最近在学习opengl es,其中弄了一个小Demo,画了个天空盒,并在场景里加了个立方体,主要介绍在android中使用opengl es来绘制一个立方体,在android中的流程以及着色器中绘制物体的过程进行了描述。原创 2017-03-12 15:41:57 · 3619 阅读 · 0 评论 -
Serializable 和 Parcelable
1.序列化和反序列化序列化(Serialization)是将对象的状态信息转化为可以存储或者传输形式的过程,一般将一个对象存储到一个储存媒介,例如档案或记忆体缓冲等,在网络传输过程中,可以是字节或者 XML 等格式;而字节或者 XML 格式,可以还原成完全相等的对象,这个相反的过程又称为反序列化。2.序列化的作用通常完成序列化是由于以下三方面的需要:永久性保存对象,保存对象的字节序列...原创 2019-07-14 17:48:27 · 255 阅读 · 0 评论