数据结构基本概念
2015-05-02 本文已影响4834人
liangxifeng833
title: "数据结构基本概念"
date: 2015-05-02 23:48:15
categories: 数据结构
tags:
数据
- 描述客观事物的符号
- 可以输入到计算机
- 能够被计算机程序处理
数据元素
- 组成数据、有一定意义、也被称为记录
- 比如:人类中人就是数据元素
数据项
- 一个数据元素可以由很多数据项组成
- 是不分割的最小单元
- 比如:人是数据元素,眼睛、鼻子、嘴...是数据项。
数据对象
- 性质相同数据元素的集合
- 通常将数据对象称为
数据
数据结构 = 数据+关系
逻辑结构 ( 各个元素之间的关系 )
- 集合: 平等
- 线性: 一对一
- 树形:一对多
- 图形:多对多
![physical](http://7xirg5.com1.z0.glb.clouddn.com/physical.png)
逻辑结构为了解决具体问题
,选择一个合适的数据结构表示数据元素之间的逻辑关系
。
物理结构
-
逻辑结构在计算机中的存储形式
-
顺序存储:
- 需要提前申请大片内存。
- 数据元素存放在地址连续的存储单元里。
- 数据间
逻辑关系
=物理关系
- 物理节点
只存数据
。 - 产生内存内部碎片。(内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间)。
- 数据的插入/删除
复杂
, 查询快。
-
链式存储:
- 数据间
逻辑关系
!=物理关系
。 - 数据之间通过
指针
,指向下一个元素的地址。 - 物理结点存
数据 + 指针
- 产生外部碎片。(外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。)
- 数据的插入/删除快,查询慢。
- memcached: 为了避免外部碎片产生,内存的分配规则是:slab+chunk 把大小空间分开,slab是聚合,chunk是大小。
- 数据间
总结
- 逻辑结构
面向问题
- 物理结构
面向计算机
- 最终
目的
是 将数据+逻辑关系
存到PC的内存中。