zoukankan      html  css  js  c++  java
  • 第一章——绪论

    1.1数据结构的组成

      数据结构:通过研究、分析数据本身的特点,利用这些特点提高数据表示和处理的效率。

      PS:信息的表示和组织形式直接影响到数据处理的效率!

    1.2数据结构的发展概况及地位

    1.4抽象数据类型(ADT)

    数据模型+一组操作

    数据结构+一组操作

    一个数据类型的实现一般分为三个阶段:

    1.ADT阶段,又称为定义阶段。

    2.虚拟数据类型阶段,有称为表示阶段。

    3.物理数据类型阶段,又称为物理实现阶段。

    数据结构、抽象数据类型、数据类型、存储结构的关系?

    1.5算法的基础知识

    一、算法的定义及特性

        算法是解决问题的一种方法,即它给出了求解问题的步骤描述。

      1.算法的特性或要素:有穷性、确定性、可行性、输入(0或多个)和输出(至少一个)。

      2.算法与数据类型的关系

      3.算法与程序的区别

    二、算法的描述

        1.自然语言描述:容易,但有时啰嗦、有二义性。

        2.图示:直观清晰,但不宜实现

        3.算法语言:严谨、简洁,易用程序实现。

        4.程序设计语言:可以直接运行,但太严格。

    三、算法的评价标准

        正确性、易读性、健壮性、效率(时间以及空间)

        PS:多写注释四、算法分析

        算法分析:估量一个算法效率的方法

    1.算法分析的方法

      先验估计(事前估计):根据算法的逻辑特征(基本操作的次数)来估算。

            优点:可比性强。

            缺点:不精确,仅仅只是估计。

      经验测试(事后计算):选择样本数据、运行环境运行算法计算出空间、时间。

            优点:精确。

            缺点:可比性差,效率低,成本高。

    2.算法分析的一般步骤

      语句频度:算法中一个基本操作执行的次数

      1.计算出算法的各个语句的频度

      2.统计出算法的语句频度和T(n)    //n是问题的规模

      3.给出T(n)的大O表示法  称算法的时间复杂度 T(n)=O(f(n))

    3.最好时间复杂性、最坏时间复杂性、平均时间复杂性

      对于有些算法,问题规模形同,如果输入集不同,其效率不同

    4.O表示的含义——渐进算法分析

    5.常见时间复杂度

      O(1)   O(log(2)n)  O(n)  O(nlog2n)  O(n*n)  O(n*n*n)  O(2(n))


          时间复杂度增大

    6.渐进复杂性分析的重要性

      计算机本身性能的提高不能带来求解问题规模的增益

    复习小结

    1.抽象数据类型的概念:

    2.抽象数据类型的定义:

    3.抽象数据类型的实现阶段:

    4.算法的概念:

    5.算法的特性

    6.算法的评价

    7.算法分析

  • 相关阅读:
    Shell编程—用户输入
    Shell编程—结构化命令
    Shell编程—基础脚本
    跳表
    分布式项目——电商秒杀
    Dubbo详解
    Kafka工作流程
    Kafka内部实现原理
    Zk实现分布式锁
    Leetcode::Pathsum & Pathsum II
  • 原文地址:https://www.cnblogs.com/strator/p/7285995.html
Copyright © 2011-2022 走看看