前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基本数据结构概念

基本数据结构概念

作者头像
xiangzhihong
发布2018-02-01 16:42:56
4480
发布2018-02-01 16:42:56
举报
文章被收录于专栏:向治洪向治洪

一、线性结构

顺序存储线性表:将元素依次存储在地址连续的存储单元中,物理上相邻

链式存储线性表:将元素按照逻辑顺序链接在依次,不要求地址连续

栈:仅在表的一端进行插入、删除操作的线性表,“后进先出”

队列:仅在表的一端进行插入,另一端进行删除的线性表,“先进先出”

栈和队列有时候笔试会针对”FIFO“这些特性出问题,不过一般理解了,就比较简单。

二、树

2.1概念

二叉树是每个节点最多有两个子树(“左子树”和“右子树”)的树结构。

满二叉树:二叉树的每一层节点个数都达到最大(即深度为k,且有2^k-1个节点);

完全二叉树:只有最下面两层节点的度数可以小于2,并且最下一层的节点都集中在左边(深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中,序号为1至n的节点对应)。

满二叉树是完全二叉树的特例,如下图:

平衡二叉树:又被称为AVL树,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树(完全二叉树是平衡二叉树),如下图

2.2二叉树性质:
  • a.二叉树的第i层至多有2^{i-1}个结点;
  • b.深度为k的二叉树至多有2^k-1个结点;
  • c.具有n个节点的完全二叉树的深度k=log2n+1;
  • d.对任何一棵二叉树T,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1。
2.3二叉树遍历

二叉树遍历记住一点就行了,即遍历的顺序都是针对根节点而言的。例如先序即先访问根节点,再遍历左子树,最后遍历右子树。结合实例来讲,如下图:

先序遍历结果:abdgcefh

中序遍历结果:dgbaechf

后序遍历结果:gdbehfca

三、图

无向完全图:任意两个顶点都有一条直接边相连接;在含有n个顶点的无向完全图中,有n(n-1)/2条边;

有向完全图:任意两个顶点都有方向互为相反的两条弧相连接;在含有n个顶点的有向完全图中,有n(n-1)条边。

图的深度优先遍历:类似于树的先序遍历,下图显示了深度优先搜索顶点被访问的顺序:

图的广度优先遍历:类似于树的按层次遍历,下图显示了广度优先搜索顶点被访问的顺序:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-05-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、线性结构
  • 二、树
    • 2.1概念
      • 2.2二叉树性质:
        • 2.3二叉树遍历
        • 三、图
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档