![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
余生之君
越努力,越幸运
展开
-
(三)栈
栈,也是一种特定的数据结构,生活中有大量类似栈结构的场景,所以我们对栈一定不陌生。栈主要的特点就是只能在一端操作数据,后进先出。栈是一种操作受限的线性表,一开始接触的时候我就在想,相比链表和数组,栈带给我的只有限制,并没有什么优势,不如直接使用数组和链表。实际上,特定的数据结构对应特定的场景,数组和链表的确灵活,但也暴露了太多接口,容易出错。所以当某个数据集合只涉及在一端插入和删除数据,并且满足...原创 2020-02-29 17:43:02 · 239 阅读 · 0 评论 -
(二)链表
链表和数组一样,是非常常用和基础的数据结构,都属于线性表结构。 数组需要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个 100MB 大小的数组,当内存中没有连续的、足够大的存储空间时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。 而链表恰恰相反,它并不需要一块...原创 2020-02-09 15:11:39 · 531 阅读 · 1 评论 -
数组
数组是最基础的数据结构,数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。这里有两个关键词:线性表顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。连续的内存空间和相同类型的数据 正是因为这两个限制...原创 2020-02-08 19:36:54 · 188 阅读 · 0 评论 -
数据结构和算法之时间复杂度
前言 学习数据结构和算法,并不是为了死记硬背几个知识点。我们的目的是建立时间复杂度、空间复杂度意识,写出高质量的代码,能够设计基础架构,提升编程技能,训练逻辑思维,积攒人生经验,以此获得工作回报,实现你的价值,完善你的人生。 掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一...原创 2020-02-07 19:53:08 · 524 阅读 · 0 评论