数据结构与算法01
Posted 0和1的大世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法01相关的知识,希望对你有一定的参考价值。
时间复杂度分析
- 是什么
- 是一种对程序运行时间效率的一种度量,就可以把它当成运行效率的单位
- 复杂度依次加大,效率依次降低
- o(1) < o(log n) < o(n) < o(nlog n) < o(n^2) < o(n^2 log n) < o(n^3)
- 从图来看是最容易看规律的,数学基础可以清晰的想起上升趋势
- 空间复杂度
- 是什么
- 是对程序运行空间利用效率的度量,不太对
- 当使用了几个变量的时候,空间复杂度为o(1)
- 当使用了长度为n的以为列表,空间复杂度为o(n)
- 当使用了m*n的矩阵,空间复杂度为o(m*n)
- 递归
- 特点
- 调用自己
- 有结束条件
- 汉诺塔问题
真是一个复杂的递归,64个盘子竟然需要移动好几千亿次
- 查找
- 顺序查找(线性查找)
- 从头找到尾
- 时间复杂度
o(n)
- 二分查找
- 能用该方法查找的数据有要求,必须按照顺序排好
- 然后每次每次将目标值和临时仓库的中间值进行比较
- 冒泡排序的时间复杂度大于快速排序的时间复杂度
- 数据结构
- 数据和数据间的关系的集合
- 树
- 一种数据结构
- 可能存在一对一 一对多 多对多的关系
-
- 二叉树
- 最多存在一对三的关系
- 在树的基础上加以限定
-
- 满二叉树
- 封闭形状的数据
- 只有最后一层没有子节点,其他层的节点都有两个节点
- 完全二叉树
- 叶子结点只有逊于出现在最后一层和倒数第二层
- 最后一层左边从图形上看起来必须是封闭的
以上是关于数据结构与算法01的主要内容,如果未能解决你的问题,请参考以下文章