WWWlr

数据结构-绪论

一、逻辑结构与物理结构(数据结构的两个分类)

  1,逻辑结构(重点)

    数据对象中数据元素之间的相互关系

  2,物理结构

    数据的逻辑结构在计算机中的存储结构

二、四大逻辑结构

  1,集合结构:同属于一个集合

  2,线性结构:线性结构中的数据对象一对一关系

  3,树形结构:一对多,层次,金字塔结构  

  4,图型结构:多对多

三、物理结构:

  1,存储器一般指内存

  2,物理结构分类:

    1.顺序结构:存储在地址连续的存储单元(其逻辑结构与物理结构相同)

    2.链式结构:其存储结构无法反应逻辑结构

四、算法:解决问题的步骤

  1,五个特征:输入、输出、有穷性、确定性、可行性

  2,时间效率高

  3,存储量低

五、算法效率的度量方法:时间、空间复杂度

在算法中提到要尽量提高效率大概率是指算法的执行时间(时间复杂度比空间复杂度使用更广泛)

  1,时间复杂度:

    1.事后统计法:

      通过设计好的测试程序与数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,确定算法效率的高低。

      缺点:需手动编写测试程序、不同环境对测试结果影响大

    2.事前分析估算法:

      在程序编写前,根据统计方法对算法进行估算。

    3.影响时间复杂度的因素:

      算法的策略与方案

      编译产生的代码质量

      问题的输入规模

      计算机执行指令的速度

    4,时间复杂度的计算:

      (1)定义:n:问题规模

           T(n):语句总的执行次数,通过分析T(n)随n的变化情况并确定T(n)的数量级

              T(n)=O(f(n)):算法的时间复杂度,f(n)代表n的某个函数。(表示随着n的增大,算法执行时间的增长率和f(n)的增长率相同)

      (2)用大写的O()来代表时间复杂度

      (3)判断:随着问题规模n的增大,T(n)增长最慢的算法为最优算法

      (4)分析算法时间复杂度的步骤

        1.对于常数均用1代替

        2.在修改得运行次数函数中,只保留最高阶项

        3.如果最高阶项前有相乘的常数,则去除与这个项相乘的常数

      (5)举例:(所费时间从上到下增加)

          1.常数阶:记作O(1)

          2.对数阶:O(log2n)2为底

          3. 线性阶:O(n)一般为含有非嵌套循环涉及线性阶 

          4. nlogn阶

          5.平方阶:O(n2)嵌套循环

          6.指数阶

          7.立方阶

    5,空间复杂度

       S(n)=O(f(n))

posted on 2021-03-04 18:11  WWWlr  阅读(27)  评论(0编辑  收藏  举报