摘要:
介绍完栈之后,接下来要介绍的是另一种跟栈很相似的数据结构 —— 队列,和栈一样,队列也是一中特殊的线性表结构,只不过队列是在一端插入,另一端删除,就跟我们平常排队一样的道理,从队尾入队,在队头出去,所以队列的特性是先入先出(FIFO),允许插入的一端叫队尾,允许删除的一端叫队头。一张图可以形象的体现 阅读全文
posted @ 2019-08-03 11:28
龙福
阅读(329)
评论(0)
推荐(0)
摘要:
前面介绍了两种基本的数据结构 —— 数组和链表,从逻辑角度来说,它们都是线性结构(就是排成一条线的结构,只有前后两个方向,非线性结构包括树、图等,后面会讲到),从存储角度来说,一个是顺序存储,一个是链式存储,各有利弊,数组需要预先申请连续内存,超出限制会溢出,但是对明确知道规模的小型数据集而言,使用 阅读全文
posted @ 2019-08-03 11:22
龙福
阅读(619)
评论(0)
推荐(0)
摘要:
链表,和数组不同,链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,如图所示: 链表有多种类型,最简单的是单链表,单链表是最原生的链表,其结构如图所示: 单链表中有两个节点比较特殊,分别是第一个结点和最后一个结点。通常把第一个结点叫作头结点,把最后一个结点叫作尾结点。其中 阅读全文
posted @ 2019-08-03 10:59
龙福
阅读(1148)
评论(0)
推荐(0)
摘要:
要介绍的第一个数据结构就是数组。 数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。 如果你学习过 C 语言,应该对这段定义很熟悉,但是在 PHP 这种动态语言中,因为数组底层是通过散列表(后面我们会介绍这个数据结构)实现的,所以功能异常强大,这段常规的数 阅读全文
posted @ 2019-08-03 10:37
龙福
阅读(474)
评论(0)
推荐(0)
摘要:
学习数据结构和算法要从复杂度分析说起。算法复杂度包括时间复杂度和空间复杂度,两者中又以时间复杂度相对重要,因为就 Web 应用而言,我们常见的性能优化策略都是以空间换时间,比如缓存系统就是如此。 时间复杂度表示代码执行时间随数据规模增长的变化趋势,表示方法图所示 即大O表示法,我们在分析时间复杂度的 阅读全文
posted @ 2019-08-03 10:33
龙福
阅读(1246)
评论(0)
推荐(0)

浙公网安备 33010602011771号