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

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的关系,所以不是线性表。

发布了30 篇原创文章 · 获赞 78 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u010302765/article/details/90287534