Java开发 | 数据结构和算法之——递归算法

本文介绍了数据结构和算法的重要性,特别是递归算法。数据结构是存储和组织数据的方式,而算法则是解决问题的步骤。递归算法是直接或间接调用自身的一种方法,具有有穷性、确切性等特征。虽然递归可以简化代码,但过度使用可能导致空间复杂度增加。文章通过几个递归实例探讨了递归的工作原理和应用场景。
摘要由CSDN通过智能技术生成

著名的Pascal之父——Nicklaus Wirth(沃斯)让他获得图灵奖的一句话就是他提出的著名公式:“程序=数据结构+算法”,这个公式对计算机科学的影响类似于爱因斯坦的质能方程在物理界的影响。

因此可以看出来数据结构和算法在我们开发程序中有多么的重要了,下面我们来简单认识下数据结构和算法…

  1. 数据结构和算法介绍

数据结构介绍

数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。

通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率,对于程序来说选择一个好的数据结构可以为企业节省更多的成本。数据结构往往同高效的检索算法和索引技术有关。

常见的数据结构图所示:

图片

算法介绍

在Java中,算法通常都是由类的方法来实现的。前面的数据结构,比如链表为啥插入、删除快,而查找慢,平衡的二叉树插入、删除、查找都快,这都是实现这些数据结构的算法所造成的。

算法简单来说就是解决问题的方案步骤。它能够对一定规范的输入,在有限时间内获得所要求的输出;一个算法的优劣可以用空间复杂度(算法需要消耗的内存空间)与时间复杂度(执行算法所需要的计算工作量)来衡量。

空间复杂度和时间复杂度越低代表算法越好,往往一个好的算法,可以大大提高我们解决问题的效率!

算法规定应该具有以下5个特征:

有穷性(Finiteness)

算法执行的步骤必须是有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值