数据结构与算法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的主要内容,如果未能解决你的问题,请参考以下文章

《数据结构与算法》KMP算法01

01-顺序表

程序员必备基础——数据结构与算法学习资料分享01

数据结构与算法 (01)数组

01.数据结构与算法

数据结构与算法python-01