Hello, Boswell!

数据类型

  • 是指一组值和一组对这些值的操作的集合;原则上所有的程序语言只需要使用原始数据类型即可,为了在更高层次的抽象上编写程序会更加方便;

原始类型

  • 布尔
  • 字符
  • 浮点
  • 定点数
  • 整型:固定精度的值
  • 引用:指针或者句柄
  • 枚举类型
  • 日期类型

组合类型非原始类型

  • 数组
  • 记录:关联数组,映射,结构
  • 联合

数据结构

  • 实现了数据类型的物理形式;

  • 数据结构决定数据的顺序和位置关系;

  • 案例:电话簿的存储方式

  1. 顺序存储法;

优点: 新增快;不用考虑位置; 缺点: 查询满;只能遍历对比;

  1. 分组存储法;(按照姓名的字面的排序

优点: 查询快; 缺点: 新增慢;

  • 数据结构的作用: 根据使用的目的来选择合适的数据结构,可以提高内存利用率,以及数据操作效率;
  • 数据在内存中是呈线性排列的,我们可以使用指针等道具,构造出类似的树形的复杂结构;

数据结构分类

  • 线性数据结构
  • 树
  • 基于哈希的结构
  • 图
  • 其他

案例:

  • 关系型数据库使用B-tree索引进行数据检索;
  • 编译器使用哈希表来查找身份;

array

linked list

record

  • 也被叫做元组或者结构体;是一个集体的数据结构;

union

  • 指定可以在其实例中存储许多允许的基元类型中的哪一种;

tagged union

  • 也叫做变体,变体记录,可区分的联合,不相交并集

object

  • 包含数据字段;

数据结构的存储模型

  1. 只有两种存储数据结构的方式: 数组(序列存储)和链表(链式存储);

各种数据结构的遍历和访问都属于两种类型中的一种:

  1. 线性;
  • 线性代表迭代;
  1. 非线性;
  • 非线性代表递归;

数据结构如何用来解决问题

  • 根据问题分析出需要使用的数据结构(数据模型
Last Updated:
Contributors: Boswell, Boswell, mingzhuang.ji