zoukankan      html  css  js  c++  java
  • 数据结构学习笔记——绪论

    为了更贴切的描述一种数据结构,通常采用二元组表示:(对于一种数据结构其逻辑结构唯一)

    B=(D,R)
    其中,B是一种数据结构,它由数据元素的集合D和D上二元关系的集合R所组成。即
    D={ di | 1 <= i<= n, n > 0}
    R={ rj | 1 <= j<= n, n > 0}
    D 上的一个关系r是序偶的集合,对于r中任一序偶<x,y>(x,y属于集合D),把x叫做偶序第一节点,把y叫做偶序第二结点,又称序偶的第 一结点为第二结点的直接前驱(通常简称为前驱),称第二结点为第一结点的直接后继(通常简称为后继)。若某个结点没有直接前驱,则称该节点为开始结点;若 某个结点没有直接后继,则称该节点为终端结点。
    对于对称序偶,即<x,y>属于二元关系集合R且<y,x>也属于二元关系集合R,(x,y同属于集合D),则用圆括号代替尖括号,即(x,y)属于R。


    数据的抽象类型(abstract date type,ADT)

    抽象数据类型可用(D,S,P)三元组表示,其中D是数据对象,S是D上的关系集,P是D中数据运算的基本运算集。
    ADT抽像数据类型名
    {
       数据对象:数据对象的定义 [B=(D,R)中的D]
         数据关系:数据关系的定义 [B=(D,R)中的R]
         基本运算:基本运算的定义
    }ADT抽像数据类型名


    算法分析


    从时间角度分析:算法的时间复杂性
    从空间的角度分析:算法的空间复杂性

    对于算法的时间复杂性通常有,最坏情况的时间复杂度\平均时间复杂度两种
    平均时间复杂度:算法的输入规模以等概率出现的情况下算法的期望运行时间与问题规模n的数量级关系。

    算法空间复杂性的分析,通常只考虑辅助变量所占空间,一般 也作为问题规模n的函数以数量级形式给出,记作:S(n) = O(g(n))

    其计算方法与空间计算方法一致
    就地工作\原地工作
    特定依赖输入,常按最坏情况考虑
  • 相关阅读:
    python全栈学习--day39(multiprocess模块)
    python全栈学习--day38(多进程在python中的操作)
    python全栈学习--day36(socket验证客户端的合法性、 并发编程)
    python全栈学习--day35(黏包机制)
    python全栈学习--day33(网络编程-socket)
    python-sys模块
    python-os模块
    python-生成随机数random
    python-常用模块-time、datetime模块
    python-模块、包
  • 原文地址:https://www.cnblogs.com/_programmer/p/1567532.html
Copyright © 2011-2022 走看看