随笔分类 -  数据结构

摘要:一、定义: 将键映射到值的对象。 地图不能包含重复的键; 每个键可以映射到最多一个值。 请注意!!!, Map 没有继承 Collection 接口, Map 提供 key 到 value 的映射,你可以通过“键”查找“值”。一个 Map 中不能包含相同的 key ,每个 key 只能映射一个 va 阅读全文
posted @ 2019-05-14 12:11 DongTian 阅读(293) 评论(0) 推荐(0)
摘要:java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。 一、集合和数组的区别 二、Collection集合和Map集合 三、Collection接口 1、定义 它是一个接口,是高度抽象 阅读全文
posted @ 2019-05-14 11:42 DongTian 阅读(5924) 评论(0) 推荐(1)
摘要:借鉴文章:https://my.oschina.net/husthang/blog/852982 阅读全文
posted @ 2019-04-27 17:53 DongTian 阅读(261) 评论(0) 推荐(0)
摘要:一、采用存储结构 1、顺序存储:采用数组,顺序存储适配于完全二叉树,对于非完全二叉树并不合适,主要体现在空间上的浪费,所以我们需要用到另一种存储方式——链式存储。 2、链式存储:数据data用键值对的形式表示 二、建立二叉树 三、二叉查找树的查、插、删、遍历 阅读全文
posted @ 2019-04-27 16:25 DongTian 阅读(2958) 评论(0) 推荐(1)
摘要:一、树的基本概念:树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。 (1)每个元素称为结点(node); (2)有一个特定的结点被称为根结点或树根(root); (3)相关术语: 结点的度:一个结点含有的子树的个数 叶子结点或终端结点:度为0的结点 节点的层数: 树 阅读全文
posted @ 2019-04-25 14:51 DongTian 阅读(4490) 评论(0) 推荐(2)
摘要:1、算法思想: 二分查找又称折半查找,它是一种效率较高的查找方法。 时间复杂度:O(nlogn) 二分算法步骤描述: ① 首先在有序序列中确定整个查找区间的中间位置 mid = ( low + high )/ 2 ② 用待查关键字值与中间位置的关键字值进行比较; 若相等,则查找成功 若大于,则在后( 阅读全文
posted @ 2019-04-25 12:35 DongTian 阅读(289) 评论(0) 推荐(0)
摘要:public interface Queue<E> extends Collection<E> :队列通常是以FIFO(先进先出)方式排序元素。 boolean add(E e) :将指定的元素插入到此队列中如果当前没有可用空间,则抛出IllegalStateException。 E element 阅读全文
posted @ 2019-04-25 10:53 DongTian 阅读(691) 评论(0) 推荐(0)
摘要:public class Stack<E> extends Vector<E> : Stack类代表后进先出(LIFO)堆栈的对象。 它扩展了类别Vector与五个操作,允许一个向量被视为堆栈。 设置在通常的push和pop操作,以及作为一种方法来peek在堆栈,以测试堆栈是否为empty的方pub 阅读全文
posted @ 2019-04-25 10:37 DongTian 阅读(1735) 评论(0) 推荐(0)
摘要:一、术语了解 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度: 一个算法执 阅读全文
posted @ 2019-04-24 21:44 DongTian 阅读(216) 评论(0) 推荐(0)