
浅谈数据结构
文章平均质量分 90
本专栏收藏着博主学习数据结构的心得。
Jwenen
机遇永远是准备好的人得到的!
展开
-
【数据结构】Lambda
⭐ 作者:小胡_不糊涂。原创 2023-11-10 21:57:17 · 1186 阅读 · 6 评论 -
【数据结构】反射、枚举
Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到,那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。运行时类型(RTTI)和编译时类型,例如Person p = newStudent();这句代码中p在编译时类型为Person,运行时类型为Student。程序需要在运行时发现对象和类的真实信息。原创 2023-11-10 18:41:51 · 339 阅读 · 3 评论 -
【数据结构】Map和Set
⭐ 作者:小胡_不糊涂。原创 2023-10-29 20:03:48 · 2219 阅读 · 4 评论 -
【数据结构】排序算法总结
1. 归并排序2. 排序算法复杂度及稳定性分析在总结之前我们先介绍一下归并排序!原创 2023-10-29 11:52:24 · 782 阅读 · 22 评论 -
【数据结构】交换排序
⭐ 作者:小胡_不糊涂。原创 2023-10-28 21:14:57 · 482 阅读 · 3 评论 -
【数据结构】选择排序
⭐ 作者:小胡_不糊涂。原创 2023-10-27 22:08:24 · 424 阅读 · 2 评论 -
【数据结构】插入排序
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。**内部排序:**数据元素全部放在内存中的排序。**外部排序:**数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。原创 2023-10-27 20:29:49 · 600 阅读 · 1 评论 -
【数据结构】优先级队列
首先,我们知道队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列。该中场景下,使用队列显然不合适,比如:在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来的电话。在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue)。原创 2023-10-25 23:25:47 · 593 阅读 · 5 评论 -
【数据结构】二叉树
或者为空或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成从上图可以看出:二叉树不存在度大于2的结点二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树。原创 2023-10-24 23:01:16 · 2819 阅读 · 5 评论 -
【数据结构】队列-Queue
只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头(Head/Front)原创 2023-10-18 15:04:33 · 573 阅读 · 25 评论 -
【数据结构】栈
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守**LIFO(Last In First Out)**的原则压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。原创 2023-10-17 13:33:22 · 359 阅读 · 5 评论 -
【数据结构】链表
LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。LinkedList实现了List接口LinkedList的底层使用了双向链表LinkedList没有实现RandomAccess接口,因此LinkedList不支持随机访问.LinkedList的任意位置插入和删除元素时效率比较高,时间复杂度为O(1)原创 2023-10-15 23:19:09 · 681 阅读 · 9 评论 -
【数据结构】线性表与顺序表
在集合框架中,ArrayList是一个普通的类,实现了List接口,具体框架图如下:【说明】ArrayList是以泛型方式实现的,使用时必须要先实例化ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问ArrayList实现了Cloneable接口,表明ArrayList是可以clone的ArrayList实现了Serializable接口,表明ArrayList是支持序列化的。原创 2023-10-14 22:01:14 · 973 阅读 · 9 评论 -
【数据结构】泛型
就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。首先解决这样一个问题:实现一个类,类中包含一个数组成员,使得数组中可以存放任何类型的数据,也可以根据成员方法返回数组中某个下标的值?而且所有类的父类,默认为Object类。数组是否可以创建为Object?//字符串也可以存放//编译报错上述代码中,虽然在 myArray 中任何类型的数据都可以存放,而且1号下标的元素是String类型的,但仍编译报错,此处必须进行强制类型转换。原创 2023-09-24 19:33:30 · 1143 阅读 · 41 评论 -
【数据结构】时间、空间复杂度
在计算机科学中,算法的时间复杂度是一个数学函数,它定量描述了该。原创 2023-09-21 23:06:29 · 963 阅读 · 21 评论