数据结构
文章平均质量分 90
Solitudefire
这个作者很懒,什么都没留下…
展开
-
树形结构(3)(Java语言)——二叉树(2)
树形结构(3)(Java语言)——二叉树(2)原创 2022-02-08 15:36:51 · 1171 阅读 · 12 评论 -
树形结构(2)(Java语言)——二叉树(1)
二叉树(1)原创 2022-02-07 13:41:53 · 1675 阅读 · 16 评论 -
树形结构(1)(Java语言)——树的基本概念
树的基本概念前言树形结构树的概念树的特点树的其他概念(重要)树的表现形式树的应用前言前面的学习中,我们了解了顺序表,栈,队列等。这些都属于线性结构,就像一根线一样串起来,而接下来我们要学习高阶的数据结构。首先我们接触的是树,由于树的知识相对较多,我们分成几篇博客进行介绍。树形结构树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树的特点树具有以下的特点:有一个特殊的结点原创 2022-01-24 15:43:58 · 3344 阅读 · 3 评论 -
Queue与队列(Java语言)
Queue与队列(Java语言)原创 2022-01-23 22:14:05 · 963 阅读 · 9 评论 -
Stack与栈(Java语言)
Stack与栈(Java语言)原创 2022-01-22 22:28:47 · 656 阅读 · 13 评论 -
ArrayList与顺序表(Java语言)
ArrayList顺序表,泛型,包装类原创 2022-01-10 14:40:25 · 1609 阅读 · 14 评论 -
图书管理系统(Java语言)
图书管理系统(Java语言)原创 2022-01-01 21:35:53 · 2224 阅读 · 5 评论 -
每日一题(9)——数据结构(LeetCode)
每日一题(9)——数据结构(LeetCode)题目代码题目解析题目给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例1:输入: [1,2,3,1]输出: true示例2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true代码代码1:public boolean containsDuplicate(int原创 2021-12-14 10:58:11 · 953 阅读 · 7 评论 -
每日一题(8)——数据结构(LeetCode)
每日一题(8)——数据结构(LeetCode)题目代码题目解析题目给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例2:输入:head = [0]输出:0示例3:输入:head = [1]输出:1示例4:输入:head = [1,0,0,1,0,0,1,1,原创 2021-12-13 18:08:28 · 480 阅读 · 1 评论 -
每日一题(6)——数据结构(LeetCode)
每日一题(6)——数据结构(LeetCode)题目代码解题思路题目给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例1:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]示例2:输入:head = [0,1,2], k = 4输出:[2,0,1]代码代码1: public ListNode rotateRight(ListNode head, int k) { if (head ==原创 2021-12-11 14:11:48 · 436 阅读 · 0 评论 -
每日一题(5)——数据结构(LeetCode)
每日一题(5)——数据结构(LeetCode)题目代码题目解析题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例2:输入:head = []输出:[]示例3:输入:head = [1]输出:[1]代码public ListNode swapPairs(ListNode head) { if (h原创 2021-12-10 12:40:14 · 548 阅读 · 1 评论 -
每日一题(4)——数据结构(LeetCode)
每日一题(4)——数据结构(LeetCode)题目代码题目解析题目给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例2:输入:head = [1], n = 1输出:[ ]示例3:输入:head = [1,2], n = 1输出:[1]代码解法1: public ListNode removeNthFromEnd(ListNode head, int n原创 2021-12-09 12:03:29 · 506 阅读 · 3 评论 -
每日一题(3)——数据结构(LeetCode)
每日一题(3)——数据结构(LeetCode)题目代码题目解析题目给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储 一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。示例1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807示例2:输入:l1 = [0], l2 = [0]输出:[0]示例3:输入:l1 = [9,9,9,9,9,9,9], l2 =原创 2021-12-08 11:27:29 · 538 阅读 · 0 评论 -
每日一题(2)——数据结构(LeetCode)
LeetCode每日一题(2)——数据结构题目代码题目解析题目请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例2:输入:head = [4,5,1原创 2021-12-07 11:06:30 · 269 阅读 · 1 评论 -
链表之无头双向非循环链表(Java语言)
无头双向链表(Java语言)前言介绍无头双向非循环链表节点类——ListNode链表类——MyLinkedList打印链表得到链表的长度查找是否包含关键字key插入一个元素——头插法插入一个元素——尾插法插入一个元素——任意位置插入寻找index位置的节点删除第一次出现key的节点删除所有key的节点清空链表总代码前言经过对于顺序表和单链表的熟悉我们已经对于数据结构有了简单的认识,这次我们了解无头双向链表的相关知识。介绍首先我们先看一下双向链表的结构:这就是一个非常简单的双向链表,一个节点可以找原创 2021-12-06 20:56:26 · 1076 阅读 · 0 评论 -
每日一题(1)——数据结构(LeetCode)
LeetCode每日一题(1)——数据结构题目代码解题思路题目存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。示例1:输入:head = [1,1,2]输出:[1,2]示例2:输入:head = [1,1,2,3,3]输出:[1,2,3]代码public ListNode deleteDuplicates(ListNode head) { if (head == nul原创 2021-12-06 15:22:08 · 563 阅读 · 2 评论 -
链表的提升学习Java语言(在线OJ面试题)
链表的提升学习Java语言(在线OJ面试题)第一道题二级目录三级目录第一道题二级目录三级目录原创 2021-12-05 20:04:14 · 618 阅读 · 0 评论 -
链表之无头单向非循环链表(Java语言)
链表(Java语言)前言链表的概念及结构无头单向非循环链表节点类——ListNode链表类——MyLinkedList打印链表查找是否包含关键字获取链表的长度(节点的个数)插入一个节点——头插法前言上篇博客中介绍了顺序表有关的知识,我们知道顺序表增加,删除某个元素都需要移动其他元素,增加了时间复杂度;顺序表空间不够用又需要我们进行扩容,导致可能造成空间上的浪费,增加了空间复杂度,因此有必要优化顺序表,因此我们引入链表的概念。链表的概念及结构链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是原创 2021-11-21 09:11:37 · 858 阅读 · 1 评论 -
顺序表(Java语言)
顺序表和列表(Java语言)前言线性表顺序表概念及结构前言当我们接触到顺序表与列表时,就涉及到了数据结构的知识,顺序表和列表是数据结构最为基础的部分,所谓数据结构就是存储数据的方式,有同学会问C语言数据结构和Java语言数据结构有什么不同?其实没有不同,数据结构是一门单独的学科,就好比C语言是中文,Java是英文,数据结构是数学,我们可以用英文表达数学的逻辑结构,也可以用中文表达数学的逻辑结构,所以数据结构也是如此。线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性原创 2021-11-17 00:58:11 · 2742 阅读 · 3 评论