Java基础-数据结构---基础

本文探讨了数据结构按存储类型分类,如连续性和非连续性,介绍了数组、链表等基本数据结构,以及如何根据问题需求选择合适的数据结构。同时,讲解了算法解决问题的性质,特别关注了时间复杂度,包括常见复杂度分析和快速判断技巧。
摘要由CSDN通过智能技术生成
  • 数据结构

    • 按存储类型分类
      • 地址连续性存储
      • 地址非连续性存储
    • 分类
      • 数组
      • 链表
      • 队列
      • 字符串
    • 根据目的来选择数据结构
  • 算法

    • 解决问题的方法
    • 性质
      • 算法执行时间与次数正相关
      • 算法执行次数和规模正相关
  1. 数组

    • 数据的地址是连续的
    • 同一个数组存储的数据类型一致,并且与定义的类型一致
    • 通过下标来获取数据[数组下标从0开始]
    • 数组的定义必须提前定义好大小,并且定义好以后不能改变
  2. 时间复杂度

    • 性质:根据算法来执行的,不会根据数据长度来改变
    • 快速的判断时间复杂度
      1. 确定问题的规模n
      2. 循环减半logn:折半查找法[有序]
      3. 复杂情况根据算法规模判断
      4. K层对于n的规模n^k
    • 时间复杂度是固定的:

      1. O(1)
      2. O(logn)
      3. O(n)
      4. O(nlogn)
      5. O(n^k)

                        ​​​​​​​        ​​​​​​​

  • 确定时间复杂度要勤画图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值