zoukankan      html  css  js  c++  java
  • [数据结构]基本概念2

    逻辑结构:数据之间的关系。常见的逻辑结构只有两种,即【线性结构】和【非线性结构】

    物理结构:在计算机中的存储方法。常见的物理结构只有两种,即【顺序存储】和【链式存储】

    常见数据结构:

    一.线性表

    1.线性表的逻辑结构:

      a.有且只有一个开始结点a1,没有直接前驱,有唯一的直接后继a2

      b.有且只有一个终端结点an,没有直接后继,有唯一的直接前驱an-1

      c.剩余的内部结点都有唯一的直接前驱和直接后继

    2.线性表的操作:

      a.创建线性表

      b.获取元素个数

      c.随机获取某一个元素

      d.插入

      e.删除

      (操作结束之后,需要保持逻辑结构的正确性)

    3.线性表的物理结构:

      a.顺序存储

      b.链式存储

    4.常见线性表:

      a.顺序表 ArrayList

      b.链表 LinkedList

    二.栈

    1.栈的逻辑结构:

      与线性表一致,只是在操作上有限制:后进先出

    2.栈的操作:

      a.判断栈是否为空

      b.进栈和出栈

      c.取栈顶元素

    3.栈的物理结构:

      a.顺序存储

      b.链式存储

    4.常见栈

    三.队列

    1.队列的逻辑结构:

      与线性表一致,只是在操作上有限制:先进先出

    2.队列的操作:

      a.判断队列是否为空

      b.进队列

      c.出队列

      d.获取队头元素

    3.队列的物理结构:

      a.顺序存储

      b.链式存储

    4.常见队列:


    非线性结构:

    一.树

    1.树的逻辑结构

      a.树中任意一个结点都可以有0个或者多个直接后继,至多能有一个直接前驱

      b.树中只有根结点无前驱,它是开始结点

      c.叶子结点无后继

    2.树的操作

      a.遍历树中的所有结点

      b.求树的高度

      c.求树的度

      d.求叶子结点数

      e.输出一棵树

    3.树的物理结构:

      a.顺序存储

      b.链式存储

    二.图

  • 相关阅读:
    LintCode "Maximum Gap"
    LintCode "Wood Cut"
    LintCode "Expression Evaluation"
    LintCode "Find Peak Element II"
    LintCode "Remove Node in Binary Search Tree"
    LintCode "Delete Digits"
    LintCode "Binary Representation"
    LeetCode "Game of Life"
    LintCode "Coins in a Line"
    LintCode "Word Break"
  • 原文地址:https://www.cnblogs.com/hellenism/p/3736052.html
Copyright © 2011-2022 走看看