美文网首页
数据结构基本知识

数据结构基本知识

作者: _叮叮当当__ | 来源:发表于2017-08-07 18:00 被阅读13次

1、链表

链表是一种由节点(Node)组成的线性数据集合,每个节点通过指针指向下一个节点。它是一种由节点组成,并能用于表示序列的数据结构。

单链表:每个节点仅指向下一个节点,最后一个节点指向空(null)。

双链表:每个节点有两个指针p,n。p指向前一个节点,n指向下一个节点;最后一个节点指向空。

循环链表:每个节点指向下一个节点,最后一个节点指向第一个节点。

时间复杂度:

索引:O(n)

查找:O(n)

插入:O(1)

删除:O(1)

2、栈

栈是一个元素集合,支持两个基本操作:push用于将元素压入栈,pop用于删除栈顶元素。

后进先出的数据结构(Last In First Out, LIFO)

时间复杂度

索引:O(n)

查找:O(n)

插入:O(1)

删除:O(1)

3、队列

队列是一个元素集合,支持两种基本操作:enqueue 用于添加一个元素到队列,dequeue 用于删除队列中的一个元素。

先进先出的数据结构(First In First Out, FIFO)。

时间复杂度

索引:O(n)

查找:O(n)

插入:O(1)

删除:O(1)

4、树(无向的,联通的无环图)

4.1、二叉树

4.2、二叉查找树

       任何节点的值都大于等于左子树中的值,小于等于右子树的值。

      时间复杂度

索引:O(log(n))

查找:O(log(n))

插入:O(log(n))

删除:O(log(n))

4.3 、字典树、树状数组、线段树

5、堆

堆是一种基于树的满足某些特性的数据结构:整个堆中的所有父子节点的键值都满足相同的排序条件。堆分为最大堆和最小堆。在最大堆中,父节点的键值永远大于等于所有子节点的键值,根节点的键值是最大的。最小堆中,父节点的键值永远小于等于所有子节点的键值,根节点的键值是最小的。

6、哈希

哈希常用于将任意长度的数据映射到固定长度的数据。若不同数据得到了相同的哈希值,则视为发生冲突。

解决办法:链地址法;开放地址法

7、图

相关文章

  • 必备数据结构知识点

    背景 数据结构是我们开发过程中最常用到的基本知识,比如表,方法调用栈等等。熟练的掌握基本的数据结构,有助于提升我们...

  • 数据结构基本知识

    1、链表 链表是一种由节点(Node)组成的线性数据集合,每个节点通过指针指向下一个节点。它是一种由节点组成,并能...

  • 数据结构基本知识

    数据结构 链表 链表是一种由节点(Node)组成的线性数据集合,每个节点通过指针指向下一个节点。它是一种由节点组成...

  • dict

    理解redis中字典数据结构之前,需要先对哈希表的一些基本知识有所了解,因此,在这里,也先对哈希表这一数据结构进行...

  • 【深度知识】以太坊区块数据结构及以太坊的4棵数

    1. 摘要 本文介绍以太坊区块链的一些基本知识,包括:区块数据结构数据结构基础以太坊的4棵树状态树交易树收据树账户...

  • Mongodb数据库的简单使用

    mongodb数据库的基本知识 MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成 ...

  • 前端基础知识汇总

    基础知识主要包含以下几个方面: 基础:计算机原理、编译原理、数据结构、算法、设计模式、编程范式等基本知识了解 语法...

  • 数据结构---C语言基础

    一、基本知识 计算机科学早期定义为:研究算法的科学计算机科学近期定义为:研究数据的科学 程序=算法+数据结构数据结...

  • Dicom 基本知识-数据结构篇

    阅读本文大概需要10分钟 'DICOM'数据是医疗影像的关键,一个.dcm 文件保存了单次诊断的全部信息(病人信息...

  • Java程序员成神列表

    必备计算机基础知识: 操作系统; 计算机网络; 数据结构与算法; 编译原理; 计算机硬件基本知识; 数学:概率,统...

网友评论

      本文标题:数据结构基本知识

      本文链接:https://www.haomeiwen.com/subject/ylealxtx.html