Java-字典树 发表于 2018-10-30 | 分类于 数据结构 | 阅读次数: Trie树(字典树) 部分转载自 July coding 的GitHub July Coding ‘s article 方法介绍1.1、什么是Trie树Trie树,即字典树,又称单词查找树或键树,是一种树形结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文 ... 阅读全文 »
Chrome Plugin 发表于 2018-10-30 | 阅读次数: Chrome 作为世界知名浏览器之一,领先的技术,丝滑的用户体验,庞大的浏览器插件,让其一直领先于其他同类产品 不知道大家平常使用chrome的时候,有没有添加一些扩展程序,快来添加一些试试吧!有扩展程序的chrome和没有扩展程序的差距可大多啦! Momentum一个很漂亮的标签页,上面加了许多功 ... 阅读全文 »
Java-线段树 发表于 2018-10-17 | 分类于 数据结构 | 阅读次数: 为什么需要线段树1234题目一:10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。修改:无统计:1.编号从L到R的所有数之和为多少? 其中1<= L <= R <= 10000. 方法一:对于统计L,R ,需要求下标从L到R的所有数的和,从L到R ... 阅读全文 »
Java-堆与优先队列 发表于 2018-10-09 | 分类于 数据结构 | 阅读次数: 堆(Heap)基础表示 二叉堆是一颗完全二叉树 什么是完全二叉树? 将数据一层一层的排列成树的形状,按照树从左到右的顺序,直到放不下为止 也就是说可以如果有空缺的元素,必须是在树的右下方 性质 最大堆:堆中某个节点的值总是不大于其父节点的值(相应也有最小堆) 节点的大小与层次无关 动态数组表 ... 阅读全文 »
Java-集合与映射 发表于 2018-09-06 | 分类于 数据结构 | 阅读次数: 集合(Set) 不能添加重复元素 应用: 客户统计,词汇量统计 实现1234567public interface Set<E> { void add(E e); boolean contains(E e); void remove(E e); i ... 阅读全文 »
Java-二分搜索树 发表于 2018-09-01 | 分类于 数据结构 | 阅读次数: 二分搜索树定义 二分搜索树是一颗二叉树 二分搜索树种每个节点的值 大于左子树所有节点的值 小于右子树所有节点的值 每棵子树也是二分搜索树 存储的元素必须具备可比较性 1234567891011121314151617181920212223242526272829public class BS ... 阅读全文 »
Java-链表实现. 发表于 2018-08-26 | 分类于 数据结构 | 阅读次数: 什么是链表链表 [Linked List]:链表是由一组不必相连不必相连:可以连续也可以不连续的内存结构 节点,按特定的顺序链接在一起的抽象数据类型。 补充:抽象数据类型(Abstract Data Type [ADT]):表示数学中抽象出来的一些操作的集合。内存结构:内存中的结构,如:struc ... 阅读全文 »
Java-队列实现 发表于 2018-08-25 | 分类于 数据结构 | 阅读次数: 队列有多种实现的方式,有数组队列还有循环队列 数组队列出列的时间复杂度是O(n) 数组队列12345678910public interface Queue<E> { int getSize(); int getCapacity(); boolean is ... 阅读全文 »
Java-栈实现 发表于 2018-08-25 | 分类于 数据结构 | 阅读次数: 栈的实现比较简单,因为栈可以看作是一个动态数组或链表,许多操作都可以借用它们实现 数组栈 下面是具体实现的代码 需要使用前面的动态数组类,然后创建一个Stack接口,去实现这个接口 12345678910111213141516public interface Stack<E> ... 阅读全文 »
Java-动态数组实现 发表于 2018-08-23 | 分类于 数据结构 | 阅读次数: 该数组可动态扩容,缩容,支持泛型 缩容是等到数组大小为四分之一容量的原因?为什么不是等到二分之一立刻缩容那? 初始定义10为容量,当添加到第十个元素时,扩容为2倍,即容量为20 这时,如果重复进行删除增添的操作,就会反复扩容缩容 所以选择四分之一当前长度是为了留一个缓冲的 空间,防止这种情况的发生 ... 阅读全文 »