美文网首页
数据结构和算法

数据结构和算法

作者: 雷3雷 | 来源:发表于2018-09-13 18:44 被阅读8次

    线性结构

    数组、

    单链表和双链表

    数组和链表区别:

    数组:数组元素在内存上连续存放,可以通过下标查找元素;插入、删除需要移动大量元素,比较适用于元素很少变化的情况

    链表:链表中的元素在内存中不是顺序存储的,查找慢,插入、删除只需要对元素指针重新赋值,效率高

    B从内存存储来看

    B-1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小

    B-2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦.


    栈(stack),是一种线性存储结构,它有以下几个特点:

    (01) 栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。

    (02) 向栈中添加/删除数据时,只能从栈顶进行操作。

    栈通常包括的三种操作:push、peek、pop。

    push -- 向栈中添加元素。

    peek -- 返回栈顶元素。

    pop -- 返回并删除栈顶元素的操作。

    队列

    队列(Queue),是一种线性存储结构。它有以下几个特点:

    (01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。

    (02) 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。

    队列通常包括的两种操作:入队列 和 出队列。

    树形结构   :二叉树  红黑树

    参考文章:http://www.cnblogs.com/skywang12345/p/3603935.html

    相关文章

      网友评论

          本文标题:数据结构和算法

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