zoukankan      html  css  js  c++  java
  • 数据结构之数据的存储结构

    列表、栈、队列、链表、字典、散列、图和二叉查找树

    【列表】

      不需在长序列中查找元素或对其进行排序。

    【栈】存储结构是:

    【后进先出】或者说【先进后出】

    【队列】存储结构是:

    【先进先出】或者说【后进后出】

    【链表】存储结构是:

    一组不必相连的内存结构 【节点】,按特定的顺序链接在一起的抽象数据类型。

    单链表、双向链表、循环链表。

    可用在任何使用一维数组的情况中。如需随机访问,数组效率更好。

    数组使用慢时,可换用链表。

    【字典】

    键值对进行数据存储

    【散列】也称哈希表是数组存储技术,散列表的形式存储。

    插入、删除和取用数据都非常快,查找操效率低下。

    存在两个键映射为同一个值的碰撞现象。处理方法有:开链法线性探测法.

    【二叉树和二叉树查找】

    树是一种非线性的数据结构,以分层的方式存储数据。

    二叉树每个节点的子节点不允许超过两个。一个父节点的两个子节点分别称为左节点和右节点。

    二叉查找树(BST)是一种特殊的二叉树,相对较小的值保存在左节点中,较大的值保存在右节点中。这一特性使得查找的效率很高。

    遍历BST的方式有三种:

    中序遍历(以升序访问树中所有节点,先访问左节点,再访问根节点,最后访问右节点)

    先序遍历(先访问根节点,再以同样的方式访问左节点和右节点)

    后序遍历(先访问叶子节点,从左子树到右子树,再到根节点)

    【图】有向图,无序图

    搜索图的算法主要有两种: 深度优先搜索和广度优先搜索。

  • 相关阅读:
    FPGA学习之基本结构
    凸优化和机器学习
    第6篇如何访问pod
    吉日嘎拉DotNet.BusinessV4.2中的一处bug,及我的修复和扩展
    吉日嘎拉C#快速开发平台V4.0到V4.2升级记
    布隆过滤器简介及实现-----源自数学之美
    poj [1753]
    Zookeeper Hello World
    获取用户真实IP,php实现
    mysql中engine=innodb和engine=myisam的区别
  • 原文地址:https://www.cnblogs.com/asqw/p/10614370.html
Copyright © 2011-2022 走看看