数据结构
文章平均质量分 91
Salute-Y
这个作者很懒,什么都没留下…
展开
-
Java~数据结构(三)~栈和队列(Stack\Queue\Deque的常用方法和模拟实现一个栈和队列等)
【代码】Java~数据结构(三)~栈和队列(Stack\Queue\Deque的常用方法和模拟实现一个栈和队列等)原创 2022-10-04 22:22:11 · 1524 阅读 · 2 评论 -
Java~数据结构(四)~二叉树(什么是树&树一些概念&二叉树&二叉树的基本操作和前中后遍历)
树的基础知识二叉树两种特殊的二叉树如何储存一棵二叉树二叉树的基本操作二叉树的遍历树的基础知识什么是树?树是一种数据结构。由n个节点(n>=0)个有限节点组成一个具有层次关系的集合。树是递归定义的。原创 2022-10-05 21:37:03 · 421 阅读 · 0 评论 -
Java~数据结构(五)~优先级队列(堆的基本概念、操作及实现&优先级队列、PriorityQueue的使用、TopK问题、堆排序)
堆的删除与插入操作相反,插入是将元素从下往上调整,而删除是将元素从上往下调整。创建一个数组,初始化堆,然后调整堆中的数据,不断向上或者向下,最后调整成堆。2.按照优先顺序,将新元素与其父节点比较,根据大小进行向上或者向下调整。这只是一种,topk问题是在一组数据中求前k个最小元素或者前k个最大元素。2.比较左右节点的元素,将小的元素上调(向上或向下调整)3.不断进行步骤2,知道不需要调整或者调整到堆底。思路:将所有元素放入优先级队列,返回前k个。堆中有两个基本操作:向上调整和向下调整。原创 2022-10-06 17:24:33 · 782 阅读 · 0 评论 -
Java~数据结构(六)~Java中对象的比较(基本类型和引用类型分别是如何比较的、Comparator/Comparable接口、hashCode和equals方法等)
优先级队列要求:插入的元素不能是null或者元素之间必须能够比较。如果在优先级队列中插入自定义对象,必须是可以比较的对象。为什么?因为优先级队列底层是用堆实现的,向堆中插入元素,必然是需要上下调整的,如果插入的元素无法比较。会抛出异常。很多场景需要明确要求两个对象是可以比较的。如果是两个基本类型,可以直接进行> < 和==比较如果是两个引用类型,不可以直接进行> < 比较,但是可以进行==比较。(默认调用Object中的equals方法)对于自定义类型。原创 2022-10-07 16:49:11 · 595 阅读 · 0 评论 -
Java~数据结构(一)~集合框架学习和背后的数据结构
Set集合是一组无序不可重复的集合。包含三个常用的子类:HashSet、TreeSet、LinkedHashSet。List集合中的元素排列有序,并且可以重复。1.HashMap了解不,介绍一下,如果一个对象为Key时,hashCode和equals方法的用法要注意什么。Java集合框架又称为Java Collection Framework.可以认为是容器。本文主要是了解Java集合框架。4.ArrayList 和LinkedList 的区别是什么。2.HashMap和HashSet的区别是什么?原创 2022-10-02 19:12:53 · 861 阅读 · 0 评论 -
Java~数据结构(二)~List集合(ArrayList、LinkedList详细介绍、常用的方法有哪些)
其中Collection接口有三个常用的子接口:List(列表)、Set(集)、Queue(队列)。它继承于AbstractList,实现了List,RandomAccess,Cloneable,Serializaable四个接口。它继承了AbstractSequentialList,实现了List,Deque,Cloneable,Serializable接口。LinkedList用双向链表来实现,每一个节点都有指向前后节点的引用。ArrayList是Java集合框架中最常使用的一个类,但是。原创 2022-10-04 15:48:59 · 645 阅读 · 0 评论 -
Java~数据结构(七)~Map和Set的使用(TreeMap\TreeSet的使用、Map和Set的基础知识、二叉搜索树的常见操作及实现..)
若根节点不为空,如果根节点key==查找key,返回true。如果根节点key>查找key,则在其左子树寻找,如果根节点key小于查找key,则在其右子树寻找 否则返回false。2)如果不是空树,按照查找逻辑确定插入位置,插入新节点。:假设待删除节点为cur,其双亲节点为parent.若左子树不为空,则左子树上所有节点的值都小于根节点。若右子树不为空,则右子树上所有节点的值都小于根节点。1)如果是空树,即根==null,直接插入。),根据关键字搜索到的内容就是值(我们查找时搜索的数据就是关键字(原创 2022-10-09 20:42:12 · 661 阅读 · 1 评论