
【数据结构和算法】
NullPoints
努力的人,运气总不会太差
展开
-
[数据结构]--图(图的遍历,最小生成树,最短路径算法)
前言在这里,如果大家对图或者数据结构还不太熟悉,想找一个动态的生成过程来参考,这是一个不错的网站.知识框架图的定义在线性结构中,数据元素之间满足唯一的线性关系,每个数据元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继;在树形结构中,数据元素之间有着明显的层次关系,并且每个数据元素只与上一层中的一个元素(双亲节点)及下一层的多个元素(孩子节点)相关;而在图形结构中,节点之间的关系是任意的,图原创 2016-10-31 14:27:19 · 12888 阅读 · 1 评论 -
加密解密算法【RSA、AES、DES、MD5】介绍和使用
为了防止我们的数据泄露,我们往往会对数据进行加密,特别是敏感数据,我们要求的安全性更高。下面将介绍几种常用的加密算法使用。这些算法的加密对象都是基于二进制数据,如果要加密字符串就使用统一编码(如:utf8)进行编码后加密。1.摘要算法常用的摘要算法有MD5,SHA1。摘要算法是一个不可逆过程,就是无论多大数据,经过算法运算后都是生成固定长度的数据,一般结果使用16进制进行显示。转载 2018-03-01 14:00:34 · 1826 阅读 · 1 评论 -
java程序加载过程
未完待续注意:Android虚拟机和我们常见JVM虚拟机是不同的加载过程1当遇到Main方法的时候会自动压栈2 .class字节码 文件首先被加载到方法区,占用一个空间, 在常量池,创建一个.class的符号变量.3当调用方法的时候,会将方法压入栈中(),形成栈帧(栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息).4 当再次调用方法时,会在方法区检查有无.class文件.原创 2017-02-28 21:08:52 · 649 阅读 · 0 评论 -
[java数据结构]--java双向链表LinkedList的简单实现
前言数据结构在java中的集合中,有很多数据结构的实现. 例如:线性结构中的:线性表(LinkedList),栈(Stack),队列(Queue)代码实现和解析1.LinkList自定义实现/** * 双向链表 的增删改查 * @author ccj * */public class DoubleLinkList<E> { //头结点 private Node<E> fi原创 2017-02-28 20:54:35 · 511 阅读 · 0 评论 -
设计模式--[2]原型模式
原型模式原型模式中,谁涉及到对象的克隆,对象的引用和hashcode,以及原型的思想和创建. 在这里,自己将自己的理解和实践记录下来,和大家一起学习.接口Cloneable Note that this interface does <i>not</i> contain the <tt>clone</tt> method. * Therefore, it is not possible to c原创 2016-12-26 16:27:44 · 373 阅读 · 0 评论 -
[数据结构]--jdk1.8中HashMap源码解析
HashMapHashmap是java集合中,比较重要的一种集合框架. 特点:键值对存储,key可以为null,查找速度快.但是线程不安全. hashMap的类关系public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {MaphashMap的数据结构原创 2016-10-12 15:38:55 · 942 阅读 · 0 评论 -
[数据结构]--深入浅出红黑二叉树
什么是红-黑二叉树? 红-黑二叉树首先是一颗二叉树,它具有二叉树的所有性质,是一种平衡二叉树。普通二叉树在生成过程中,容易出现不平衡的现象,即使是使用随机算法生成二叉树,也是有一定概率生成不平衡的二叉树. 如下图所示 : 为了解决二叉树的不平衡问题,“大牛”转载 2016-10-08 17:32:54 · 1107 阅读 · 0 评论 -
[算法]--八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2016-10-27 16:59:06 · 424 阅读 · 0 评论 -
[数据结构]--二叉树以及Java实现
二叉树树的定义树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点,或称为树根。 树的关键字节点的度:一个节点含有的子树的个数称为该节点的度;叶节点或终端节点:度为0的节点称为叶节点;非终端节点或分支节点原创 2016-10-28 11:21:39 · 427 阅读 · 0 评论 -
JAVA中list.contains()方法,要重写equals(),hashcode()方法
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true; 注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下: (1)当obj1.equals(obj2)为true时...转载 2018-05-29 13:59:12 · 8329 阅读 · 0 评论