博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构系列1 数据结构与算法
阅读量:6002 次
发布时间:2019-06-20

本文共 993 字,大约阅读时间需要 3 分钟。

Chapter1 绪论

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

面向过程:程序设计 = 数据结构 + 算法

数据结构的分类

  • 逻辑结构:数据对象中数据元素之间的关系。
    • 集合结构:数据元素除了同属于一个集合之外,它们之间没有其它关系。
    • 线性结构:线性结构中的元素之间是一对一的关系。
    • 树形结构:数据元素之间存在一种一对多的层次关系。
    • 图形结构:数据元素之间存在多对多的关系。
  • 物理结构(存储结构):数据的逻辑结构在计算机中的存储形式。存储器主要是针对内存而言的,外部存储器中的数据组织通常用文件结构来描述。
    • 顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
    • 连式存储结构:把数据结构存储在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。

抽象数据类型

  • C语言中,按照取值的不同,数据类型可以分为两类:
    • 原子类型:不可以再分节的基本类型,包括整型、实型、字符型等。
    • 结构类型:由若干个类型组合而成,是可以再分解的,例如,整型数组是由若干整型数据组成的。

抽象是值抽取出事物具有的普遍性的本质。 对已有的数据类型进行抽象,就有了抽象数据类型。 抽象数据类型(Abstract Data Type)是指一个数学模型及定义在该模型上的一组操作。

  • 描述抽象数据类型的标准格式:
ADT 抽象数据类型Data    数据元素之间逻辑关系的定义Operation    操作一        初始条件        操作结果描述    操作二        ...    操作n        ...endADT复制代码

Chapter2 算法

算法的特性

  • 算法具有五个基本特性:
    • 输入输出:算法有零个或多个输入,一个或多个输出。
    • 有穷性:算法执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间之类完成。
    • 确定性:算法的每一步都有确定的含义,不会出现二义性。相同的输入只会有唯一的输出结果。
    • 可行性:每一步都能够通过执行有限的次数完成。

复杂度

  • 算法的时间复杂度:
    • 分析程序的运行时间时,最重要的是把程序看成是独立于程序设计语言的算法或者一系列步骤。
    • 判断一个算法的效率时,函数中的常数项和其他次要项常常可以忽略,而更应该关注主项 (最高阶项)的阶数。
  • 算法的空间复杂度:

参考资料:《大话数据结构》

转载地址:http://gtcmx.baihongyu.com/

你可能感兴趣的文章
composer 安装 ubuntu 12.04
查看>>
微服务(二)hystrix
查看>>
Performing a thread dump in Linux or Windows--reference
查看>>
推荐系统中常用算法 以及优点缺点对比
查看>>
cocos2d-x v3.2环境配置(现在3.x版本号可以配置该)
查看>>
Go语言标准库之JSON编解码
查看>>
winpcap 发送数据包
查看>>
cisco 出现 %Error opening tftp://255.255.255.255 错误解决办法
查看>>
VIM编辑器
查看>>
IE主页被篡改 地址框变灰
查看>>
linux上架设l2tp+ipsec ***服务器
查看>>
Facebook和用户界面会如何扭曲你说的话
查看>>
安卓混合开发之Cordova,NativeWebView两种实现
查看>>
桶排序
查看>>
如何用windows Live writer 撰写blog
查看>>
RHEL6入门系列之十九,硬盘分区与格式化
查看>>
Linux下升级 OpenSSH
查看>>
标准功能模块组件 -- 名片管理组件,C\S 版本的标准用例程序,可以参考权限实现方法...
查看>>
zygote进程图
查看>>
ldap快速配置
查看>>