数据结构
渴望成长的一个小白
test
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构之Trie的相关
Trie的相关情况适用于字符串的相关查询,查询只与字符串的长度相关。Trie的结构情况里面有一个内部的节点,如下,考录到用map主要是子节点的个数不是很确定。 private class Node{ boolean isWord; Map<Character,Node> next; public Node(boolean isW...原创 2020-05-03 16:22:56 · 105 阅读 · 0 评论 -
数据结构之线段树
定义线段树是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。不一定是满二叉树,也不一定是完全二叉树,但是一定是平衡二叉树,堆也是平衡二叉树可以用数组表示,将线段是看作满二叉树。如果有n个需要表示,需要数组的长度为2*n...原创 2020-05-03 14:59:19 · 146 阅读 · 0 评论 -
优先级队列
和普通队列的区别主要就是出队和看下队首元素这两个方法。主要是使用堆来进行优先级队列的实现。性质:二叉堆是一个完全二叉树堆中某个节点的值总是不大于其父节点的值。此时这时候的堆叫做最大堆。可以用数组来描述二叉堆,这是由于第一个性质此时会有很多的性质。一个节点的父亲节点和子节点通过关系来进行描述。从1开始标会比较方便。...原创 2020-05-02 22:52:02 · 148 阅读 · 0 评论 -
映射(map)
基本概念存储(键,值)数据对的数据结构(Key, Value)。根据键(Key)寻找值,(Value)。此时node中需要存储key和value两个数值 class Node { K key; V value; Node left; Node right; public Node(K key ,V value...原创 2020-05-02 17:13:45 · 254 阅读 · 0 评论 -
树结构之二分搜索树
二叉树里面有有一个节点,和链表不同的是有两个节点引用 class Node{ int e; Node left; Node right; }二叉树和链表都具有天然的递归结构,但是由于链表具有线性,使用循环也能处理,但是二叉树是非线性,使用递归进行处理会更加方便二分搜索树二分搜索树首先是一个二叉树。二分搜索树的节点值大于其左子树...原创 2020-05-02 13:46:56 · 578 阅读 · 0 评论 -
数据结构之链表学习
链表数据存储在节点中另一部分存引用定义链表的内部节点public class Node { private E e; private Node next;}最后一个节点的next存储的为空,丧失了随机访问的能力,适应索引没有语义的情况。链表的添加元素链表的增加节点(不带头节点)public class LinkList<E> { //...原创 2020-05-01 21:31:58 · 217 阅读 · 0 评论 -
数据结构之栈和队列
目录栈的相关知识数组实现栈队列的相关知识数组实现队列栈的相关知识是一种后进先出的数据。LIFO栈的相关应用撤销功能程序调用的系统栈数组实现栈常用的操作void push(E e)E pop()//看一下栈顶的元素E peek()int getSize()boolean isEmpty()数组实现的方式package array;public class A...原创 2020-05-01 16:53:31 · 140 阅读 · 0 评论 -
数据结构相关学习(数组)
数组数组中有一个很重要的概念就是索引,注意索引是从0开始。根据索引可以很快的访问到需要访问的数据。数组的声明 int[] array = new int[10]; int[] array1 = {1,2,3};数组的二次封装数组的最大优点就是快速查询,使用数组的时候最好的就是有语义的情况。并非所有的语义都适合数字的索引,如身份证号就是太大的例子,类似于arraylist。数据结构常...原创 2020-05-01 11:07:42 · 292 阅读 · 1 评论
分享