I. 第一部分:常见数据结构 首先简单说下数据结构. 什么是数据结构?数据结构就是组织数据的方式. 常见的数据结构:栈,堆,树,图,数组,队列,链表. 这里主要介绍与java集合体系相关的栈、数组和链表. 栈 队列 数组 链表 II. 第二部分:Java中的Collection(集合)体系 2.1 ...
分类:
编程语言 时间:
2019-08-26 09:48:40
阅读次数:
77
1.平衡二叉树基本介绍 1.1平衡二叉树又叫平衡二叉搜索树(Selg-balancing binary search tree),又叫AVL树,可以保证查询效率较高; 1.2 平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是平衡二叉树。 1.3 平衡二叉树的常用实 ...
分类:
编程语言 时间:
2019-08-19 15:54:50
阅读次数:
99
紧接上一篇回来了,这几天一直学js,会不自觉的和其他的编程语言联系在一起,在没有学jQuery之前,结合我所学的c,java,数据结构,数据库以及部分html感觉到JavaScript里面又很多相似的地方,JavaScript顾名思义是Java语言和script脚本组成,他的语法和Java的语法有部 ...
分类:
编程语言 时间:
2019-08-16 22:23:54
阅读次数:
186
1.快速排序(QuickSort) 1.1 快速排序是对冒泡排序的一种改进。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按照此方法对这两部分数据进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 2.归并排序(MergeS ...
分类:
编程语言 时间:
2019-08-10 15:43:18
阅读次数:
113
哈希表提供了快速的插入操作和查找操作,每一个元素是一个key-value对,其基于数组来实现。 一、Java中HashMap与Hashtable的区别: HashMap可以接受null键值和值,而Hashtable则不能。 Hashtable是线程安全的,通过synchronized实现线程同步。而 ...
分类:
编程语言 时间:
2019-08-08 23:47:01
阅读次数:
135
红黑树相比平衡二叉树(AVL)是一种弱平衡树,且具有以下特性: 1、每个节点非红即黑; 2、根节点是黑的; 3、每个叶节点(叶节点即树尾端NULL指针或NULL节点)都是黑的; 4、如图所示,如果一个节点是红的,那么它的两儿子都是黑的; 5、对于任意节点而言,其到叶子点树NULL指针的每条路径都包含 ...
分类:
编程语言 时间:
2019-08-07 19:15:55
阅读次数:
110
学习数据结构与算法是枯燥的,但只有坚持不懈的积累,才会有硕果累累的明天。 ...
分类:
编程语言 时间:
2019-08-05 19:04:07
阅读次数:
107
1.度量一个程序(算法)执行时间的两种方法 1)事后统计的方法 这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素, 这种方式,要在同一台计算机的相同状态下运行,才能比较那个算法速度更快。 2)事前估算的 ...
分类:
编程语言 时间:
2019-07-25 12:07:52
阅读次数:
101
管理单向链表的缺点分析: 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 单向链表不能自我删除,需要靠辅助节点 ,而双向链表,则可以自我删除,所以前面我们单链表删除时节点,总是找到temp,temp是待删除节点的前一个节点。 示意图 对上图的说明: 分析双向链表的遍历、添加、修 ...
分类:
编程语言 时间:
2019-07-25 00:55:07
阅读次数:
150