随笔分类 - 【190】数据结构与算法
摘要:数组和链表,从逻辑角度来说,它们都是线性结构(就是排成一条线的结构,只有前后两个方向,非线性结构包括树、图等,后面会讲到),从存储角度来说,一个是顺序存储,一个是链式存储,各有利弊,数组需要预先申请连续内存,超出限制会溢出,但是对明确知道规模的小型数据集而言,使用数组会更加高效,随机访问的特性也更加
        阅读全文
                
摘要:链表,和数组不同,链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,如图所示: 单链表 链表有多种类型,最简单的是单链表,单链表是最原生的链表,其结构如图所示: 单链表中有两个节点比较特殊,分别是第一个结点和最后一个结点。我们通常把第一个结点叫作头结点,把最后一个结点叫作
        阅读全文
                
摘要:前言: 数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。如果你学习过 C 语言,应该对这段定义很熟悉,但是在 PHP 这种动态语言中,因为数组底层是通过散列表(后面我们会介绍这个数据结构)实现的,所以功能异常强大,这段常规的数组定义在 PHP 中并不成立
        阅读全文
                
摘要:学习数据结构和算法要从复杂度分析说起。表示时间的大O符号,是用来描述算法效率的语言和度量单位。算法复杂度包括时间复杂度和空间复杂度,两者中又以时间复杂度相对重要,因为就 Web 应用而言,我们常见的性能优化策略都是以空间换时间,比如缓存系统就是如此。 时间复杂度表示代码执行时间随数据规模增长的变化趋
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号