
数据结构
文章平均质量分 95
数据结构知识点和JAVA代码
study hard_day
这个作者很懒,什么都没留下…
展开
-
数据结构前言
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、 管理 manipulate ,即平时我们俗称的增删查改 CRUD。例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。原创 2024-11-16 16:14:00 · 1221 阅读 · 20 评论 -
JAVA泛型
通过对Java 泛型的深入学习,我们可以看到泛型的强大和灵活性,它不仅提高了代码的类型安全性和可读性,还减少了冗余代码,增强了程序的可维护性。从基础概念到高级特性,再到实际应用场景,泛型广泛用于集合类、通用工具类、接口设计以及动态类型处理。通过合理地利用泛型的通配符类型约束和反射结合等高级功能,开发者可以编写更高效、健壮和可扩展的代码,从而更轻松地应对复杂的开发需求。原创 2024-11-18 17:25:23 · 1154 阅读 · 2 评论 -
数据结构(ArrayList顺序表)
在插入数组时,我们需要先考虑,在我们插入这个数据时,数组是否越界,如果不越界我们就正常添加,如果越界了,我们就考虑如何让他不越界(动态扩容):在学习顺序表的过程中,我深刻体会到了数据结构设计的精妙之处。虽然顺序表的概念相对简单,但它却为我们理解更复杂的数据结构奠定了坚实的基础。通过实现顺序表的各种操作,我不仅提高了自己的编程能力,更重要的是培养了逻辑思维和解决问题的能力。在处理插入、删除操作中的边界条件和元素移动问题时,需要仔细思考各种可能的情况,这锻炼了我的严谨性和耐心。原创 2024-11-25 20:30:35 · 1292 阅读 · 0 评论 -
数据结构(Linked List链表)
1.1什么是 Java 链表?在Java中,链表(Linked List)是一种线性数据结构,由一系列节点(Node)组成。数据部分:存储实际的数据。指针部分:指向链表中的下一个节点。该指针帮助连接链表中的所有节点。链表的一个特点是,它的要素不需要在内存中是连续存储的,每个节点通过指针与下一个节点连接起来。1.2。原创 2024-12-02 23:42:18 · 1047 阅读 · 0 评论 -
数据结构(Doubly Linked List双向链表)
成员变量:用于存储节点所代表的值,这个值可以是任何你想要在链表中存放的整型数据,比如整数类型的元素值等,它是节点的关键数据部分。:是一个指向当前节点前一个节点的指针(引用),用于构建双向链表中向后的关联,使得可以从当前节点回溯到前面的节点,这也是双向链表区别于单向链表的重要特性体现。:同样是一个指针(引用),不过它指向当前节点的下一个节点,用于构建链表向前的连接顺序,通过这个指针可以依次访问后续节点。链表头和尾指针声明head和last这两个变量都是ListNode。原创 2024-12-03 22:30:45 · 1059 阅读 · 0 评论 -
数据结构(栈Stack)
在本文中,我们详细探讨了如何实现一个简单的栈数据结构,并对栈的常见操作如pushpoppeek和size进行了深入的分析。通过这些方法,我们不仅了解了栈的基本功能,还能看到如何通过调整usedSize来有效管理栈的状态,保证其操作的高效性和安全性。栈作为一种基本的数据结构,具有广泛的应用场景,尤其在算法、数据解析、函数调用栈等方面扮演着重要角色。通过本文的学习,我们可以更好地理解栈的内在机制,并能够在实际编程中灵活运用栈。原创 2024-12-04 22:55:24 · 1209 阅读 · 0 评论 -
数据结构(Queue队列)
队列(Queue)是一种线性数据结构,它遵循先进先出(FIFO,First In, First Out)原则。简单来说,队列就是一排排站着的人,最先排队的人最先得到服务每当有新的元素进入队列时,它总是从队列的尾部进入(入队),而从队列的头部(移除出队)。假设你正在排队买票。你站在队列的尾部,等待自己的顺序。第一个进入队列的人会最先被服务,这就是队列的工作方式。原创 2024-12-06 19:27:12 · 1517 阅读 · 0 评论 -
数据结构(二叉树)
二叉树(Binary Tree)每个节点最多有两个子节点(即左子节点和右子节点)。树的结构是分层的,即从根节点开始,往下逐层分布。在树结构中,节点之间的形成了层次结构。二叉树的根节点是树的起始节点,它没有父节点,而所有其他节点都是从根节点出发,逐层通过左右子节点连接起来。随着对二叉树的深入探究,我们仿佛在数据结构的神秘花园中完成了一次奇妙的漫步。原创 2024-12-11 19:09:06 · 1488 阅读 · 0 评论 -
数据结构(优先级队列 :Priority Queue)
在计算机科学中,队列是一种非常常见的数据结构,它遵循先进先出(FIFO)的原则,也就是说,先进入队列的元素会先被处理。然而,在许多实际应用中,我们不仅仅需要按顺序处理元素,还希望能根据每个元素的“优先级”来决定处理的顺序。这时,优先级队列(Priority Queue)就显得尤为重要。优先级队列是一种特殊的队列,它的每个元素都与一个优先级相关联。在优先级队列中,优先级高的元素会比优先级低的元素更早被取出处理。优先级队列常用于任务调度、事件驱动的模拟系统以及各种图算法等场景。原创 2024-12-13 22:38:23 · 1184 阅读 · 0 评论 -
数据结构(顺序表)JAVA方法的介绍
在 Java 中,集合类(Collections)是构建高效程序的核心组件之一,而List接口作为集合框架中的重要一员,是一个有序、可重复的元素集合。与Set接口不同,List保证了元素的顺序性,并允许存储重复的元素。List接口在实际开发中应用广泛,尤其适用于需要按索引访问、频繁修改和管理元素顺序的场景。无论是在处理数据集合、动态数组,还是实现类似链表的数据结构时,List都提供了灵活的解决方案。而它的丰富方法集合,可以帮助开发者高效地操作数据,包括添加、删除、查找、修改元素等常见操作。原创 2024-12-14 23:44:27 · 1049 阅读 · 0 评论 -
数据结构(链表)JAVA方法的介绍
在 Java 编程中,数据结构是编写高效、可维护代码的基础。而在众多数据结构中,链表LinkedList)作为一种重要的线性数据结构,常常在需要频繁插入和删除操作的场景中发挥重要作用。与基于数组实现的ArrayList相比,链表在执行插入和删除操作时具有明显的性能优势,尤其是在数据量较大的情况下。Java 的LinkedList类是一个常用的双向链表实现,支持ListDeque和Queue接口,提供了丰富的方法来操作链表元素。原创 2024-12-15 11:14:33 · 1209 阅读 · 0 评论 -
数据结构十大排序之(选排,希尔,插排,堆排)
排序算法是计算机科学中的基础性算法之一,广泛评估数据存储、查询优化、搜索引擎、数据库管理等多个领域。其主要任务是一个无序的元素序列遵循某种规则(如升序)或降序)重新排列,从而使得数据更加小区,随后进行后续的处理和使用。在不同的应用场景中,排序算法的选择往往受到多种因素的影响,如时间效率、空间效率、算法稳定性、输入数据的特性等。为了解决排序问题,计算机科学家提出了多种不同的排序算法,极限算法在不同的条件下都有其优点和适用场景。原创 2024-12-17 22:10:00 · 1404 阅读 · 0 评论 -
数据结构十大排序之(冒泡,快排,并归)
在计算机科学中,排序算法是最基础且最重要的算法之一。无论是大规模数据处理还是日常的小型程序开发,排序算法的效率直接影响到系统的性能表现。因此,了解和掌握常见的排序算法,对于每一个程序员来说,都具有重要的意义。本文将对三种经典的排序算法——冒泡排序快速排序和归并排序进行深入剖析。这三种算法在不同的应用场景下各有优势,分别代表了排序算法的不同发展阶段。从简单直观的冒泡排序到高效且复杂的快速排序,再到稳定且适用于大数据量的归并排序,我们将一一解析它们的工作原理、时间复杂度以及实际应用中的优缺点。原创 2024-12-18 22:38:05 · 1209 阅读 · 0 评论 -
数据结构十大排序之(基数,计数,桶排)
排序算法是计算机科学中的经典问题之一,它不仅是许多算法和数据结构的基础,也是我们日常生活中不可或缺的一部分。无论是在数据分析、数据库管理、搜索引擎,还是在操作系统的任务调度中,排序算法都扮演着至关重要的角色。随着信息量的剧增,如何高效地对数据进行排序,成为了计算机科学研究和工程实践中不断探索的重要课题。在众多的排序算法中,不同的算法各具特色,适用于不同的应用场景。对于数据量较小的情况,简单排序算法如冒泡排序、插入排序可能已经足够高效;原创 2024-12-19 11:12:02 · 1103 阅读 · 0 评论 -
数据结构(哈希表(上)纯概念版)
哈希表(Hash Table)是一种非常高效的数据结构,用于存储和管理键值对(key-value pair)。它可以在常数时间内(平均 O(1) 时间复杂度)完成查找、插入和删除操作。哈希表通过哈希函数将键(key)映射到数组的索引位置,从而在存储和访问数据时能够避免线性查找,提高了存取的速度。特性HashMapHashtable线程安全非线程安全线程安全(通过线程安全(分段锁机制)非线程安全是否允许null键值允许null键值不允许null键值不允许null键值允许null键值插入顺序。原创 2024-12-23 23:38:45 · 1127 阅读 · 0 评论 -
数据结构(哈希表(中)纯概念版)
每次查询数据库前,先在存储表中查找存储,若存储中存在对应数据,则直接返回服务器值,从而避免重复的数据库查询。:在数据库查询中,假设有两个表,其中一列分别存储A、B我们的数据,通过哈希表实现交集、并集、差集等操作,可以很大程度上提高查询效率。例如,用户验证、商品查找、推荐系统等应用中可以通过哈希表实现快速查找。:在一个网站中,用户的用户名和密码可以存储在哈希表中,查找时根据用户名找到对应的密码并进行验证。:在编程语言中,哈希表广泛用于实现变量值的映射,例如,在解释器和编译器中使用哈希表实现符号表。原创 2024-12-24 22:31:30 · 952 阅读 · 0 评论 -
数据结构(哈希表(下)方法讲解)
前言:原创 2024-12-25 23:07:03 · 438 阅读 · 1 评论