• 第一章 绪论


    前言:今天(2015年9月14日)去一家公司面试(还是霸面)C/C++开发工程师,没有经过系统地复习就一后果,被虐了。为了下次面试,所以现在趁着有时间重新学下数据结构(C语言版,严蔚敏著)。在这记录学习资料,一般都是书上写的。

    1、什么是数据结构

    1.1定义:数据结构是互相之间存在一种或多种特定关系的数据元素的集合。

    1.2四种基本结构:集合结构,线性结构,树形结构,图状结构(网状)。(关系)

    1.3数据结构的形式定义:数据结构是一个二元组, Data_Struct=(D,S),其中D是数据元素的有限集,S是D上关系的有限集。

    1.4数据的逻辑结构:数据结构中定义中的关系描述的是数据元素之间的逻辑关系;分两种:线性结构(线性表{是一种有限序列,如数组和链式等},栈LIFO{限定仅在表尾进行插        入或删除操作的线性表},队列FIFO)和非线性结构(树,图)

      数据的物理结构:数据结构在计算机的表示(映像)成为数据的物理结构(存储结构);分两种:顺序存储结构,链式存储结构,索引存储,散列存储。

    2、抽象数据类型ADT(Abstract Data Type)

    2.1定义:是指一个数学模型及定义在该模型上的一组操作。定义仅取决于数据的逻辑特性。

    2.2一个包含抽象数据类型的软件模块组成:定义,表示,实现三部分,三元组定义式如下:(D,S,P),其中D是数据对象,S是D上的关系集,P是对D的基本操作集。

      抽象数据类型的格式:  

    1 ADT 抽象数据类型{
    2     数据对象:<数据对象的定义>
    3     数据关系:<数据关系的定义>
    4     基本操作:<基本操作的定义>
    5 }ADT 抽象数据类型名

      基本操作名格式

    基本操作名(参数表)
        初始条件:描述
        操作结果:描述

    3、算法及算法分析

    3.1算法:有穷性,确定性,可行性,输入,输出。

    3.2算法效率的度量

      时间复杂度:T(n)=O(f(n))

      空间复杂度:S(N)=O(f(n))

  • 相关阅读:
    Kotlin调用lambda表达式时,lambda中的参数名字省略问题
    Kotlin读取控制台输入
    安卓P(9)及以上Cleartext HTTP traffic to xxx not permitted错误,无法HTTP明文连接错误解决方法
    AS4.0以上查看R.id
    Kotlin Standard.kt解析(also,apply,let.run...)
    ext4文件解包打包
    Kotlin中的var、val和const
    Kotlin的构造方法探究
    Markdown语法
    uniapp遇到的小问题
  • 原文地址:https://www.cnblogs.com/NEIL-X/p/4808940.html
Copyright © 2020-2023  润新知