Day18_数据结构(顺序、链式)



----------2013年10月25日 星期五 10时35分33秒 ---------
数据结构和算法(3-4天)
 数据结构 - 堆栈、队列、链表、二叉树
 算法 - 排序算法、查找算法
Unix下的C的开发(15天左右)
 Unix/Linux的库 - 动态库,静态库
 Unix/Linux的内存管理
 文件操作
 目录操作
 进程管理
 信号处理
 IPC(进程间通信)
 网络开发
 进程开发
--------------------------------------------------------
数据结构是相互之间存在一种或多种特定关系的数据的集合
  计算机程序设计 = 算法 + 数据结构
数据结构的三个层次
 - 抽象层----逻辑结构
 - 结构层----物理结构
 - 实现层----运算结构
 逻辑结构分为:
  1.集合结构(集):结构中的数据元素除了属于同一个集合之外,没有其他的任何关系;
  2.线性结构(表):结构中的数据元素是 一对一的前后关系;
  3.树型结构(树):结构中的数据元素是 一对多的父子关系;
  4.网状结构(图):结构中的数据元素是 多对多的交叉映射关系;
 物理结构分为:
  1.顺序结构(类似数组):结构中的数据元素放入连续的内存中;
  2.链式结构(类似链表):结构中的数据元素放入不连续的内存中,每个元素还要和下一个元素的地址(指针)组成一个节点,数据元素以节点作为管理的基本单位;
  优缺点:
    顺序结构 随机访问方便(查询),插入删除不便,空间利用率低;
    链式结构 随机访问不便(查询),插入删除方便,空间利用率高;
   
  逻辑结构和物理结构的关系
    逻辑结构和物理结构之间没有必然的联系,可以自由的组合,但根据实际需要和实现的复杂度选择更合适的一种;某种特殊情况下,还可以复合两种物理结构实现一种逻辑结构
 表 树 图
顺序 数组 顺序树 复合
链式 链表 链式树 复合

每种数据结构都需要考虑以下的运算(运算结构):
  创建与销毁
   分配资源、建立结构、释放资源
  插入与删除
   增加、减少数据元素
  获取与修改
   遍历、迭代、随机访问
  排序与查找
   算法应用
 
  堆栈(stack) - 顺序结构、链式结构
   堆栈简称为栈,特点:后进先出,先进后出
   顺序结构:
   sa.h -> 结构和函数的声明(各种声明)
   sa.c -> 函数的实现代码
   链式结构:
   sl.h sl.c testsl.c
   队列
   链表
   二叉树




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值