数据结构
文章平均质量分 86
小新在学习
努力学习编程ing
展开
-
反射、枚举以及lambda表达式
1、枚举本身就是一个类,其构造方法默认为私有的,且都是默认继承与 java.lang.Enum2、枚举可以避免反射和序列化问题3、枚举的优点和缺点Lambda表达式的优点很明显,在代码层次上来说,使代码变得非常的简洁。缺点也很明显,代码不易读。代码简洁,开发迅速方便函数式编程非常容易进行并行计算Java 引入 Lambda,改善了集合操作代码可读性变差在非并行计算中,很多计算未必有传统的 for 性能要高不容易进行调试。原创 2024-04-12 17:03:17 · 638 阅读 · 0 评论 -
String常量池&泛型进阶
【1】字符串的分配,和其他的对象分配一样,耗费高昂的时间与空间代价,作为最基础的数据类型,大量频繁的创建字符串,极大程度地影响程序的性能,JVM为了提高性能和减少内存开销,在实例化字符串常量的时候进行了一些优化,为字符串开辟一个字符串常量池,类似于缓存区【2】原创 2024-03-22 15:13:52 · 927 阅读 · 2 评论 -
Map&Set【全面解析!!】
总而言之,选择Set还是Map取决于你的具体需求【1】如果你关心的。原创 2024-03-22 13:03:07 · 774 阅读 · 3 评论 -
排序算法全面解析!!
在本章学习中,我们默认为从小到大的排序,如果想要从大到小的排序,我们改变符号即可(1)排序的稳定性谁先在系统中先提交,谁就应该在排序中排在前面;像上图中的12,要达到稳定的排序就应该把红色的12放在前面(2)内部排序:数据元素全都放在内存中的排序(3)外部排序:就是当我们的数据元素非常多的时候,内存上放不下,我们就放在磁盘上,然后在磁盘上进行排序。原创 2024-03-16 20:08:37 · 929 阅读 · 3 评论 -
优先级队列PriorityQueue详细解析
优先级队列其背后就是一个堆,也就是完全二叉树,堆通常使用顺序表存储在做堆的题的时候,我们通常反着进行考虑。原创 2024-03-11 13:24:20 · 1892 阅读 · 2 评论 -
【全面解析!】二叉树及其应用
1.在用树表示的目录结构中,从根目录到任何数据文件只有唯一一条通道,因为树的特点是不相交2.3.(1)根据中序遍历和后序遍历顺序构建二叉树(2)根据前序遍历和中序遍历顺序构建二叉树Q1:为什么后序+中序构建二叉树是先root.left再root.right;而前序+中序构建二叉树是先root.right再root.left?A1:根据上面的图片我们可以看到,根据后序遍历的顺序,我们先在中序中找到根节点,下一步找到的是右树,所以我们在写代码的时候要先写root,再right,最后left;原创 2024-03-06 15:57:50 · 2154 阅读 · 1 评论 -
顺序表及其应用
///原创 2023-09-19 17:14:58 · 50 阅读 · 1 评论 -
集合 复杂度 包装类
大纲图片梳理。原创 2023-09-18 20:12:33 · 38 阅读 · 0 评论 -
链表(单向链表 双向链表)
相当于数组遍历,这个是让链表打印完全部值,往后走但是这样写有一个非常严重的问题,如果你要让head走的话,那你最后就不知道head的到底指向哪一个;了,所以我们不行这么写,我们要让cur走,而不是让head走这样走完我们head指向的永远是第一个节点,一定要这样写!!!!原创 2023-10-13 19:13:51 · 44 阅读 · 0 评论 -
栈和队列及应用
1.queue表示的是普通队列,而deque表示的是双端队列;通过了解我们知道linkedlist的使用范围很广,我们可以用它来表示队列,栈等2.队列的方法:(1)offer表示添加元素进去,切记队头进,队尾出(add也表示添加元素)(2)poll表示拿出元素(remove同理)(3)peek方法与栈同理,表示瞄一眼,看到的是队头元素(element同理)上面peek运行得到的是“2”原创 2024-02-28 10:37:51 · 1939 阅读 · 2 评论