算法相关知识点的总结

本文总结了算法的基础知识,包括算法次数和运行时间的概念,详细讲解了二分查找和普通查找的运行时间,并对比了数组和链表的数据结构特点。还探讨了循环与递归的性能,强调在适当情况下使用循环可以避免额外的函数调用开销。最后,简单介绍了排序算法,如选择排序的时间复杂度和快速排序的分治策略。
摘要由CSDN通过智能技术生成

算法相关概念

  • 次数
    通过算法得到结果运行的次数。
  • 运行时间
    大O(n)表示法,n表示次数。
    常见算法的运行时间:
    • O(n):如普通查找的线性时间
    • O(n^2):如选择排序低效算法
    • O(logn):如下二分查找log时间
    • O(nlogn):如快速排序nlog时间

查找算法

  • 二分查找
    说明:比较查找,即每次都取列表中间的值和要查找的值相比较,直到找到要找的那个值。
    前提条件:对于有序的数组才能使用。
    查找次数是logn,运行时间是O(logn)。
  • 普通查找
    说明:可以是在无序中的数组中查找,查找长度为n的数组,最多查找n次数,运行时间是O(n)。
相关数据结构
  • 数组
    使用连续的内存空间。
    随机读取效率高。
  • 链表
    使用非连续的内存空间。
    读取全部或者读取第一个的元素和数组效率相当。
    添加、插入、删除效率高。
循环和递归

性能相当,有时候循环性能更好。
如果不是为了代码逻辑更清晰,那就用循环。

  • 递归
    • 基线条件->为避免死循环,需要递归退出条件。
    • 递归条件
  • 栈:只有删除和读取的操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值