数据结构
文章平均质量分 50
WH_Deng
跑起来的程序似懂非懂!
展开
-
数据结构之自平衡二叉树(AVL)
自平衡二叉树特点:任意一个结点,左右子树的高度差不能超过1。原创 2023-02-01 08:54:40 · 188 阅读 · 0 评论 -
数据结构之哈希表
“键”通过哈希函数得到的“索引”分布越均匀越好(对于不同数据可以通过转换、技巧和方法等转换为int类型的索引)。原创 2023-02-01 08:55:15 · 66 阅读 · 0 评论 -
数据结构之Trie(前缀树或字典树)
Trie(前缀树或字典树)特点:与二叉查找树不同,值不是直接保存在结点中,而是由结点在树中的位置决定,时间复杂度为O(W),W为字符长度。一个节点的所有子孙都有相同的前缀,也就是这个结点对应的字符串,而根结点对应空字符串。应用:常用于统计,利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。原创 2023-01-31 07:55:41 · 71 阅读 · 0 评论 -
数据结构之线段树
线段树特点:平衡二叉树,使用数组表示数的结构。通过给定的数组对象,获取需要生成线段树的高度(2的h-1次方大于数组长度,取h的最小值);从而得到线段树所需数组的长度(2的h次方减1);通过数组索引构建线段树。原创 2023-01-31 07:54:37 · 60 阅读 · 0 评论 -
数据结构之大根堆
最大堆:即优先级最高的元素是索引为0的元素。特点:即可以被看成由数组对象构成的树a、堆中的父亲节点总大于或等于其左右孩子节点的值;b、总是一颗完全二叉树(空的用0或null补充)。原创 2023-01-30 12:45:20 · 723 阅读 · 0 评论 -
数据结构之链表下的Map
Map是一个以键值对存储的接口。Map下有两个具体的实现,分别是HashMap和HashTable.Hashtable:底层是数组+链表,线程安全,效率低。不允许null键和null值HashMap:底层是数组+红黑树,线程不安全,效率高。允许null键和null值原创 2023-01-30 11:32:03 · 203 阅读 · 0 评论 -
数据结构之链表下的Set
set集合的特点是:无序(自己有顺序,但是不一定和输入的顺序一致),不重复。原创 2023-01-29 08:12:18 · 152 阅读 · 0 评论 -
数据结构之二分搜索树
数据结构之二分搜索树特点:①存储的元素必须具有可比性;②每个节点的值大于其左子树的所有节点的值;小于其右子树的所有节点的值。原创 2023-01-29 08:11:49 · 61 阅读 · 0 评论 -
数据结构之链表
特点:物理存储单元非连续,非顺序,最简单的动态数据结构。便于后面理解引用、递归以及树结构。优点:不需要处理固定容量的问题,真正的动态。缺点:丧失了随机访问的能力。原创 2023-01-28 19:46:15 · 77 阅读 · 0 评论 -
数据结构之数组下的循环队列
由于自定义的队列在出队操作时,需要将所有元素向前移动,时间复杂度为O(n),比较浪费时间,所以优化为O(1)。我们就需要用到循环队列。正所谓:"用空间换时间”。解决方法:声明两个变量,分别指向队头和队尾。原创 2023-01-28 17:51:15 · 59 阅读 · 0 评论 -
数据结构之数组下的队列
数组下的队列 特点:只能从一端添加元素,从另一端删除元素(先进先出)。优先队列:出队顺序和入队顺序无关,只和优先级有关(堆)。原创 2023-01-28 17:41:01 · 39 阅读 · 0 评论 -
数据结构之数组下的栈
数组下的栈:只能从栈顶添加元素,也只能从栈顶取出元素(后进先出)。原创 2023-01-27 20:14:04 · 46 阅读 · 0 评论 -
数据结构之概述数组
连续的内存空间,即就有了索引。注意索引从0开始。通过索引可以对数组进行增删改查。特点:有索引,可以赋予语义也可以没有语义,快速查询,长度初始化后就不能改变,即长度固定。使用泛型(”任意“类型的数组)->不可以是基本数据类型,只能是类对象。原创 2023-01-27 19:55:54 · 159 阅读 · 0 评论