自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 数据结构:单向环形链表(约瑟夫问题)Java

单向环形链表是一种特殊的数据结构,它结合了链表的线性存储特点与环形结构的循环特性。这种结构特别适用于需要模拟循环行为且元素间关系非连续存储的应用场景。约瑟夫问题(Josephus Problem)是一个经典的数学和计算机科学问题,巧妙地运用单向环形链表可以简洁高效地解决这个问题。下面我们将详细阐述单向环形链表的构造方法,并展示如何使用Java语言来解决约瑟夫问题。单向环形链表为约瑟夫问题提供了一个直观且高效的解决方案。

2024-04-21 07:45:00 330 1

原创 数据结构:双向链表(Java)

双向链表(Double-Linked List)是一种重要的线性数据结构,它在单链表的基础上引入了“前驱指针”,使得每个节点不仅能指向其后续节点,还能回溯到其前一个节点。这一特性赋予了双向链表更灵活的遍历方式和更高效的插入、删除操作。双向链表作为一种链式数据结构,结合了单链表的优点(动态分配内存、支持灵活插入删除)并克服了其在某些操作上的局限性(如逆序遍历困难)。通过在节点中增加前驱指针,双向链表实现了高效插入、删除和双向遍历功能。

2024-04-19 09:30:00 374 1

原创 数据结构:链表(Java)

单链表是一种基本且广泛应用的数据结构,属于链式存储的线性表。它的核心特点是通过指针将一系列动态分配的内存单元(称为节点或结点)串联起来,每个节点包含两个主要部分:数据域和指针域。

2024-04-17 21:36:08 558 1

原创 数据结构:队列(下)【Java】

前一篇我们用数组进行模拟队列的入队和出队,最后我们发现出队列并不是真正意义上的出队列,只是遍历方法没有进行打印。

2024-04-11 14:21:03 615 1

原创 数据结构:队列(上)【Java】

队列是一种基础的线性数据结构,遵循“先进先出”(First In, First Out,简称FIFO)原则。• 由于队列的输出、输入分别是从前后端来处理,因此需要两个指针进行指向数组的前后端:front指向队列的前端的下标,rear指向队列后端的下表。• 出队(Dequeue): 从队列的头部移除元素,并返回该元素。• 头(Front): 指向队列中最早进入且尚未出队的元素。• 长度(Size): 表示队列中当前元素的数量。• 尾(Rear): 指向队列中最后加入的元素。

2024-04-04 19:43:45 207 1

原创 数据结构:稀疏数组详讲【Java】

先看一下场景:• 游戏开发:如存储大型游戏地图,如五子棋棋盘的状态,只需记录已落子位置;• 图像处理:在图像矩阵中,大量像素可能为黑色(值为0)或其他单一颜色;• 数据压缩:在科学计算、信号处理等领域,遇到大量接近零的浮点数矩阵时。我们发现在使用数组记录数据的时候,会出现零的数据居多,非零数据较少的情况。进而导致直接存储整个数组会导致大量的空间浪费。由此我们稀疏数组就可以解决这类问题。

2024-04-04 18:40:30 415 1

原创 探索未来:人工智能技术创业的前沿机遇与创新趋势

总结而言,未来AI技术的创业机会遍布医疗、企业服务、智能化与服务、教育与培训等多个维度,创业者应紧跟技术前沿,洞悉市场需求,积极投身于这场变革浪潮中,以创新驱动发展,为构建智慧、绿色、公正的未来社会贡献力量。针对特定行业的定制化AI解决方法能够直击行业的特有痛点,入医疗行业的诊断效率、金融行业的风险控制、制造业的质量管理等,提供针对性强、效果显著的智能解决办法;涵盖机器学习、深度学习、自然语言处理、计算机视觉、强化学习等AI核心领域的基础知识讲解,帮助学员建立系统的AI知识体系;方向二:智能产品和服务。

2024-04-01 19:15:00 701

原创 为什么重写equals方法也要重写hashcode方法

如果没有同时重写hashCode(),可能导致以下问题:• 当两个“相等”(根据equals()定义)的对象拥有不同的哈希码时,它们可能会被分别存放在集合的不同位置,这会导致集合中包含看似重复的元素。因此,为了确保对象在散列集合中的行为符合预期,并且保持高效的查找性能,当重写equals()方法以提供自定义的相等性测试时,必须同时重写hashCode()方法以生成与新定义的相等性条件相符的哈希码。如果只重写了equals()而不重写hashCode(),则丧失了这种性能优势,每次查找都需要遍历更多的元素。

2024-04-01 14:25:29 239

原创 前置加加和后置加加的区别

然而,对于引用类型(如对象引用),前加加运算符如果涉及到重写increment方法的情况,则可能在对象内部实现时使用了临时变量来保存原值,但这不是Java语言规范强制要求的,而是取决于具体的类实现。总的来说,在原始类型上的前加加运算符不会在Java虚拟机层面创建临时变量来存储自增前的值。但在某些特定上下文中(如复合赋值表达式的一部分),编译器可能会生成额外的字节码指令来确保操作的正确性,但这种“临时”的含义并不是为了保存旧值,而是为了正确的计算顺序。后置加加:先进行使用在进行加加 / 先赋值在自增。

2024-04-01 14:20:36 160

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除