zoukankan      html  css  js  c++  java
  • 大话数据结构-2

    1.线性表(List):零个或多个数据元素的有限序列
    1.2.线性表的顺序存储结构:用一段地址连续的存储单元依次存储线性表的数据元素
    1.2.1.线性表的顺序存储结构:一段地址连续的存储单元依次存储线性表的数据元素
    1.2.2:顺序存储方式:把第一个数据元素存放在数组下标为0的位置,接着把线性表相邻的元素存储在数组相邻的位置
    1.2.3:数组长度与线性表长度的区别:
    数组是用来存储线性表数据元素的,所以数组的长度一般是预先定义好的,不会轻易改动;
    线性表会涉及到插入,移除,修改的操作,所以线性表的长度是变化的,但是线性表的长度小于或者等于数组长度
    1.2.4:地址计算方法
    线性表的链式存储结构称为:链表
    链表的第一个结点存储的位置:头指针
    单链表的第一个结点前副设一个结点叫:头结点
    结点由存放数据元素的数据域和存放后继结点地址的指针域组成

    顺序存储线性表和链表对比:
    存储方式:数据元素存储在连续的存储单元中;数据元素存储在任意的存储单元中
    时间性能:查找(O(1);O(n)),插入和删除(O(n),O(1));
    空间性能:需要预分配存储空间;不需要分配,只要有就可以分配,元素个数不受限制

    将单链表的终端结点的指针端由空指针指向头结点,这使整个单链表形成一个环,简称循环链表

    栈与队列
    栈:仅在表尾进行插入与删除的线性表
    队列:只允许在一端插入,而在另一端删除的线性表
    递归:把一个直接调用自己或通过一系列调用语句间接的调用自己的函数称为递归函数
    中缀表达式-》后缀表达式规则:1.从左到右遍历中缀表达式,遇到数字就输出,遇到符号则判断如果是右括号或者优先级低于栈顶符号,则栈顶元素依次出栈并输出,并将当前符号进栈
    循环队列:把队列首尾相接的顺序存储结构称为循环队列


    串:由零个或者多个字符组成的有限序列,就叫做字符串


    二叉树:是n个结点的集合,该集合或者为空集或者由一个根结点和两个互不相交的、分别称为根节点的左子树和右子树的二叉树组成
    二叉树特性:
    1.在第i层上至多有2的i-1次方个结点
    2.深度为k的二叉树至多有2的k次方-1个结点
    3.对任何一个二叉树,如果终端结点树为n0,度为2的结点数为:n0-1;
    4.具有n个结点的完全二叉树的深度为[log2n]+1

    二叉树的遍历:从根节点出发,按照某种次序依次访问二叉树的所有节点,使得每个结点被访问一次且仅被访问一次
    遍历方式:
    1.前序遍历:若二叉树为空,则空操作返回,否则先访问根节点,然后前序遍历左子树,再前序遍历右子树
    2.中序遍历:若树为空,则空操作返回,否则从根节点开始,中序遍历根节点的左子树,然后访问根节点,最后中序遍历右子树
    3.后序遍历:若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根节点
    4.层序遍历:若树为空,则空操作返回,否则从树的第一层,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问

    线索化:对二叉树以某种次序遍历使其变为线索二叉树的过程,线索化的过程就是在遍历的过程中修改空指针的过程

    模板哥 - 网页模板,网站模板,DIV模板,CSS模板,前端模板,官网,官网模板,企业网站模板下载,模板下载
  • 相关阅读:
    《ECMAScript6入门》___阮一峰 笔记
    JS的常用正则表达式 验证密码(转载自用)
    微信小程序 写一个获取验证码 及setInterval 使用基本方法
    python中将图片从客户端(client)推到(POST)到服务器端(server)的方法
    用python将MSCOCO和Caltech行人检测数据集转化成VOC格式
    Tensorflow物体检测(Object Detection)API的使用
    opencv获取IP摄像头(IP-camera)实时视频流
    利用flask将opencv实时视频流输出到浏览器
    Tensorflow同时加载使用多个模型
    opencv在同一窗口打印多张图片
  • 原文地址:https://www.cnblogs.com/zw2582/p/11865757.html
Copyright © 2011-2022 走看看