首页 > 其他 > 详细

数据结构 速记篇

时间:2017-11-12 15:58:26      阅读:265      评论:0      收藏:0      [点我收藏+]

一、结构图

           技术分享

 

二、线性表

  1、特征

    1)线性表是一个序列。

    2)0个元素构成的线性表是空表。

    3)一般来说,线性表中的第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继。特殊:循环链。

    4)线性表是有长度的,其长度就是元素个数,且线性表的元素个数是有限的,也就是说,线性表的长度是有限的。

  2、分类

    1)顺序表:用一段地址连续的存储单元依次存储线性表的数据元素,其实就是数组

      优点:

      1、无需为了表示表中元素之间的逻辑关系而增加额外的存储空间(相对于链式存储而言)。

      2、可以快速的存取表中任意位置的元素。

      缺点:

      1、插入和删除操作需要移动大量的元素。

      2、当线性表长度变化较大时,难以确定存储空间的容量。

      3、容易造成存储空间的“碎片”

    2)链表:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以存在内存中未被占用的任意位置。即链表由一个或者多个结点(Node,数据域和指针域)组成。

技术分享

(转)  

     单链表:每个链表只包含一个指针域

     双链表:它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。

三、栈

  1、特征;

    1)只能在表的一端(栈顶),进行插入、删除

    2)先进后出,后进先出(LIFO

  2、分类:

    1)顺序栈:“上溢”“下溢”问题

    2)链栈:它就象是一条一头固定的链子,可以在活动的一头自由地增加链环(结点)而不会溢出

四、队列

  1、特征:

    1)插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插入的一端称为队头(Front)

    2)先进先出(FIFO

  2、分类:

    1)顺序队列:“假上溢”,解决方法:使用循环队列

    2)链队:

五、树

  1、二叉树

    1)特征:除了叶(没有子节点)以外的结点,都有两个子

    2)树的遍历        

      1> 前序遍历:从根节点开始,先一路左,倒着遍历右节点;对于分支二叉树规则一样。

      技术分享

      2> 中序遍历:左节点、分支节点、右节点

      技术分享

      3> 后序遍历:倒着开始,先左后右,最后根节点。

      技术分享

    3)习题:二叉树的先序遍历为:F B A C D E G H,中序遍历为:A B D C E F G H ,问该二叉树的后序遍历是?

数据结构 速记篇

原文:http://www.cnblogs.com/zxguan/p/7821326.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!