
数据结构与算法之美
把算法拿下!
Fe_cow丿
头发是比青春更容易流失的东西,不要等失去了才想着去珍惜!
展开
-
数据结构: 队列 讲解
数据结构: 队列 讲解 一、概念: 先进者先出,这就是 队列。 把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。 队列跟栈非常相似,支持的操作也很有限,最基本的操作也是两个: 入队 enqueue(),放一个数据到队列尾部; 出队 dequeue(),从队列头部取一个元素; 所以,队列跟栈一样,也是一种操作受限的线性表数据结构。 二、顺序队列和链式队列: 跟栈一样,队列可...原创 2019-12-31 17:20:30 · 514 阅读 · 0 评论 -
数据结构:栈 讲解
数据结构:栈 讲解 一、概念: 后进者先出,先进者后出,这就是典型的“栈”结构。 从栈的操作特性上来看,栈是一种操作受限的线性表,只允许在一端插入和删除数据。 数组或链表确实可以替代栈。 特定的数据结构是对特定场景的抽象,而且,数组或链表暴露了太多的操作接口,操作上的确灵活自由,但使用时就比较不可控,自然也就更容易出错。 二、栈的实现: 栈主要包含两个操作,入栈和出栈,也就是在栈顶插入一个数据...原创 2019-12-28 19:58:32 · 621 阅读 · 0 评论 -
数据结构:链表讲解
数据结构:链表讲解 一、缓存淘汰策略: 缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去?哪些数据应该保留?这就需要缓存淘汰策略来决定。 简单理解:就是当缓存被用满时清理数据的优先顺序。 先进先出策略 FIFO(First In, First Out) 最少使用策略 LFU(Least Frequently Used) 最近最少使用策略 LRU(Least Recently Used) ...原创 2019-12-28 14:37:13 · 522 阅读 · 0 评论 -
时间复杂度的讲解
正文: 时间复杂度的意义 究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个公司...... 一天过后,小灰和大黄各自交付了代码,两端代码实现的功能都差不多。大黄的代码运行一次要花100毫秒,内存占用5MB。小灰的代码运行一次要花100秒,内存占用500MB。于是...... 由此...转载 2019-12-18 16:57:30 · 387 阅读 · 0 评论 -
数据结构:数组讲解
数据结构—数组讲解 一、概念: 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 1.线性表与非线性表: 线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。 非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。 2.连续内存空...原创 2019-12-19 09:38:20 · 732 阅读 · 0 评论