![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 97
如果我是枫
练习时长两年半的技术爱好者
展开
-
数据结构与算法5-队列(内含LeedCode练习)
泛型是JDK5后引入的特性,本质是参数化类型。它提供了编译时类型安全检测机制,只支持引用数据类型。定义类、方法、接口的时候,如果类型不确定,就可以定义泛型如果类型不确定,但能知道是哪个继承体系中的,可以使用泛型的通配符。类型安全,编译时检查和约束类型。提高代码可读性和可维护性避免类型转换和重复代码允许设计者在实现时限制类型如果想深入了解泛型请访问此文章—(2条消息) 面试题——深入理解Java泛型机制_如果我是枫的博客-CSDN博客。原创 2023-06-25 11:29:48 · 148 阅读 · 1 评论 -
数据结构与算法4-递归(内含LeedCode练习)
思考:1、什么是递归?有什么优缺点? 递归就像剥洋葱,将复杂问题拆分为更小、相似的子问题,并通过递归调用来解决这些子问题。递归通常包括两个部分:基本情况(递归的终止条件)和递归情况(问题规模缩小并调用自身)。优点是简洁、可读、问题分解。缺点是可能会增加额外的性能开销,栈溢出,因终止条件未正确设置或递归调用没有正确控制造成无限递归。2、使用递归思想解题的思路是什么?哪些问题需要用到递归? 先判断是否需要递归求解,然后推导出递推关系,以及递归的结束条件。常用到递归的问题:求阶乘、反向打印字原创 2023-06-24 09:29:35 · 557 阅读 · 0 评论 -
数据结构与算法3-链表(内含LeedCode练习)
1.1定义链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续首先定义一个存储 value 和 next 指针的类 Node,和一个头指针//头指针 private Node head = null;//结点类 private static class Node {int value;Node next;} } }Node 定义为内部类,是为了对外隐藏实现细节,没必要让类的使用者关心 Node 结构定义为 static 内部类,是因为 Node不需要。原创 2023-06-23 11:43:27 · 173 阅读 · 2 评论 -
数据结构与算法-数组(内含LeedCode练习)
动态数组实现步骤:1.首先定义三个成员变量size,capacity,array数组。数组的容量为8,ArrayList的容量为10。直接给数组容量存在一个问题,如果这个数组一直没有用到,这种初始化方式就会一直占用一个容量为8的数组。此时 我们这里可以使用懒汉模式的设计思想,给个空数组。即一开始不给你那么大的数组,真正用到的时候我再给你那么大的数组。在数组尾部添加在数组头部或中间添加。原创 2023-06-13 19:34:36 · 179 阅读 · 1 评论 -
数据结构与算法-初识算法(内含LeedCode题)
定义 在计算机科学领域,数据结构是一种数据组织、管理和存储格式,通常被选择用来高效访问数据 说白了,数据结构是一种存储和组织数据的方式,旨在便于访问和修改接下来我们通过对一个非常著名的二分查找算法的讲解来认识一下算法。原创 2023-06-13 08:59:29 · 128 阅读 · 4 评论