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

    类型

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

    静态数组

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

    动态数组

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

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

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

    数组队列

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

    循环队列

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

    链表

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

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

    二分搜索树

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

  • 相关阅读:
    JQuery.Ajax()的data参数类型
    通过拖动表格行进行行排序
    jquery animate()背景色渐变的处理
    JavaScript代码不执行
    Java性能调优笔记
    tika提取pdf信息异常
    Solr字段配置错误
    Oracle查询字符集
    zookeeper中Watcher和Notifications
    zookeeper适用场景:分布式锁实现
  • 原文地址:https://www.cnblogs.com/fiany/p/11586376.html
Copyright © 2011-2022 走看看