原来你是这样的数据结构之线性表

2017-10-22  本文已影响16人  雨飞飞雨

算法是一切程序设计的基础灵魂,更是一位程序员水平高低的集中体现.

这是<<java常用算法手册>>中页面话,也说明了算法的重要性,干程序员也有几年了,随着学习的工作的越来越多,越来越深入,
不知不觉中感觉到的自己的瓶颈,在学习很多知识的时候,发现自己很难继续深入学习下去.干程序员这个行业就好像在练功,而
我们所分各种程序员中,前端程序员,后端程序员,android程序员,iOS程序员...大家只是练的外功不同,而我们的内功却被我们
忽视掉了,数据结构与算法就是内功,只有内功高深了,什么招式,那都是手拿擒来!

我写的这些学习笔记都是出自<<java常用算法手册>>!

什么是线性表?

在现实生活中,我们可以找到很多的例子来说明什么是线性表,比如26个英文字母(A,B,C,...,Z)中,每个英文字符就是一个数据元素,也称为数据结点.那么具体的定义是什么呢?

线性表是由n个数据元素组成的有序序列.

其逻辑结构特征如下:

线性表的基本运算

  1. 初始化
    初始化表(InitList)即构造一个空的线性表L.
    2.计算表长
    计算表长(ListLength)即计算线性表L中的结点的个数.
    3.获取结点
    获取结点(GetNode)即取出线性表L中第i个结点的数据,这里1<=i<=ListLength(L)
    4.查找结点
    查找结点就是找到线性表中值为x的结点,并返回该结点在线性表L中结点的位置,如果没有找到则返回错误标示.
    如果有多个相同的结点,则返回第一个结点.
    5.插入结点
    插入结点就是在线性表第i个位置插入结点,使得其后的结点编号依次加1,插入新的结点后,线性表L的长度将变为n+1.
    6.删除结点
    删除结点就是删除线性表L中第i个结点,使得其后的所有节点编号依次减1,线性表L的长度将变为n-1.

线性表的储存结构

线性表的存储结构有两种,一种是顺序存储结构,一种是链式存储结构.
原来你是这样的数据结构之线性表

上一篇下一篇

猜你喜欢

热点阅读