《数据结构系列_线性表_简述》

314 阅读1分钟

1.前言

首先先回答一下上一篇文章的问题。


  int function(int n) {

        if(n <= 1){

            return 1;

        }else {

            return n * function(n - 1);

        }

    }

求这个方法的时间复杂度。

这个其实比较简单,我们发现,实际上它就是通过递归的方式从n * (n-1)...*1。从n一直乘到1,就是n的阶乘。一共乘了n次,所以时间复杂度为:T(n) = O(n)


2.什么是线性表

线性表(List):由零个或多个数据元素组成的有限序列。

线性表特点:若元素存在多个,第一个元素无前驱元素,最后一个元素无后继元素,中间的元素均有且只有1个前驱和后继元素,也就是1对1,允许是空表

在这里插入图片描述

像这样的,第一个元素无前驱元素(第一个位置是大雄,前面没人了),最后一个元素无后继元素(最后一个是胖虎,后面没人了),中间元素有且只有一个元素(中间元素就是哆啦猫和静香,哆啦猫的前继元素是大熊,后继元素是静香,前后都是只有1个人),那么这就是线性表。


3.两大物理存储结构

通过上一章我们知道了什么是线性表,讲述了它的逻辑结构,接下来我们具体谈一谈它的物理存储结构。物理存储有两种方式。


4.考研试题

1.公司组织架构是否是线性表?

答:不是的,一个公司有总经理,下面几个总监,每个总监管理几个经理,每个经理都有自己的下属和员工。不是1对1的关系,所以不是线性表。

这里最先更新