zoukankan      html  css  js  c++  java
  • 【数据结构】绪论部分

    今天由我来跟大家讲一下数据结构的绪论部分吧。数据结构整体复习主要靠理解。理解了学习起来其实是很轻松的事情,学进去了你也会发现很好玩。这篇只是个结构概括,理解就行。

    1.1 基本概念

       1、数据:即信息。

       2、数据元素:数据的基本单位。如:一个学生记录就是一个数据元素,由学号、姓名等数据项构成(数据项为构成数据元素的不可分割的最小单位)。

       3、数据对象:相同性质的数据元素集合。数据的子集。

       4、数据类型:一个值的集合和在此集合上一组操作的总称。

       5、抽象数据类型:ADT。一个模型和在此模型上的一组操作。

       6、数据结构:三要素:逻辑结构+存储结构+数据运算。

       

       

       数据结构三要素

       1、逻辑结构:数据元素之间的逻辑关系,解决的是两个元素时间是什么关系这个问题。有线性和非线性两大类。

       

       2、存储结构:即物理结构,解决的是物理实现的问题。一般由4类,严蔚敏老师的书里好像只提到了俩。

       

       3、数据运算:包括运算的定义和实现。定义针对逻辑结构,运算针对存储结构。

       

    1.2  算法及评价

        1、性质:有穷性、确定性、可行性、输入、输出。

        2、目标:正确性、可读性、健壮性、时空效率。

        

        算法评估

        

        通过时间复杂度O(n)、空间复杂度S(n)体现。这两个通常会和后面各种排序算法比较中用到。

        

        O(n)一般由最深层循环原子操作的次数得出。考点之一。

        两条规则:

                    a、加法规则--用于并列

                    b、乘法规则--用于嵌套

                  

        O(1) < O(log n) < O(nlog n) < O(n2) < O(n3) < O(2^n) < O(n!) < O(n^n)    

        S(n)为所需的辅助额外空间。

        这里注意一个原地工作不是指不需要辅助空间,而是其相对输入和程序本身所占空间来说为常量。

    来张大图:

       

       

       

  • 相关阅读:
    synchronized对比cas
    java 数据集合类
    【转载】S2SH
    【转载】Solr4+IKAnalyzer的安装配置
    【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)
    【转载】solr初体验
    【转载】CSS 盒子模型
    【转载】div层调整zindex属性无效原因分析及解决方法
    【转载】 IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法
    mysql ODBC connector相关问题
  • 原文地址:https://www.cnblogs.com/robin2ML/p/6863232.html
Copyright © 2011-2022 走看看