zoukankan      html  css  js  c++  java
  • 基础数据结构

    类型

    • 静态数组
    • 动态数组
    • 数组队列
    • 循环队列
    • 链表
    • 二分搜索树
    • 优先队列

    静态数组

    是一种线性结构数据,基于基本数组实现,在初始化时已经定义好了可以存放的数据大小,不可动态扩容.

    动态数组

    基于静态数组,支持动态扩容与缩容。支持从任意位置插入删除数据。

    基于动态数组实现,是一种特殊的后进先出队列(LIFO),只能从队列顶部插入取出数据。

    -应用场景
    系统调用栈,括号匹配

    数组队列

    基于动态数组实现,是一种线性结构,先进先出(FIFO),只能从一端插入元素(队尾),另一端取出元素(队首).类似于一个排队的过程.实现过程: 插入数据时是将数据插入数组的尾端,取出数据时是将数组索引为0的数据取出,然后将后面的数据往前移动一个位置.

    循环队列

    基于动态数组实现,基本特性与数组队列相同,不同点只是在实现方式上面,实现过程:插入数据时将数据插入数组的尾端,如果此时数组满了如果数组前面有空位置,将数据按照顺序插入前面位置,如果前面位置的数组也满了,再进行数据的扩容,取出数据时取出队列最前面的一个数据,不进行数组数据的移动,将位置空出来,给后续插入数据时使用,(数据插入到数组的最后一个位置的时候循环移动到数据索引为0的位置插入(如果还有空间的情况下))

    链表

    一个节点包含指向下一个节点位置的索引的一种数据结构,类似与铁链环环相扣.

    一个节点包含有多个执向下一个节点位置的索引,类似于树的形状.

    二分搜索树

    一个几点包含有两个执行下一个节点的索引,通常称之为包含左孩子和右孩子.左孩子小于该节点,该节点小于右孩子.

  • 相关阅读:
    Nginx在linux环境下(centos7)的安装、负载均衡设置
    ocr识别开源软件tesseract试用记录
    Nginx在windows环境下的安装、负载均衡设置
    一个测试程序迭代的故事05
    一个测试程序迭代的故事04
    一个测试程序迭代的故事03
    一个测试程序迭代的故事02
    一个测试程序迭代的故事01
    Delphi5和Delphi7属性编辑器内存泄漏问题的解决
    使用Calibre自带工具批量转换电子书格式
  • 原文地址:https://www.cnblogs.com/fiany/p/11586376.html
Copyright © 2011-2022 走看看