以图明志

数据结构

[专题] 第08话:线性表删除某个元素

线性表的删除操作
根据之前定义的线性表ADT,现在还剩下一个操作,就是删除了。今天把这个操作弄完。了解线性表的插入,就很容易理解线性表的删除了。删除就是插入的逆过程。删除算法的思路:如果删除位置不合理,抛出异常;取出删除元素;从删除元素位置开始遍历到最后一个元素位置,分别将它们都向前移动一个位置。

数据结构

[专题] 第07话:线性表的查找操作

根据键或值去查找
如何设计查找功能的函数呢。首先参数,我们需要传入线性表L,仅仅查找的话是不需要对表进行变化的,所以用值传递就行。然后就是传入需要查找元素的位置 i,最后还需要一个参数 *e,这个需要用地址传递,因为要保存函数的查找结构。

数据结构

[专题] 第06话:判断线性表是否为空与置空操作

直接对表的length属性操作
ADT里判断线性表是否为空的函数设计如下:bool listEmpty(L); //判断一个线性表是否为空,不修改表传值。其实就是判断表的长度是否为0而已。将表置空的函数就更简单了,直接将长度赋值为0即可。这两个函数如果要测试的话可以自行加入到上一篇的完整可运行代码里。

数据结构

[专题] 第05话:线性表的遍历、插入操作

详细介绍插入操作的算法思路
插入算法的思路:如果插入位置不合理,抛出异常;如果线性表长度大于等于数组长度,则抛出异常或动态增加容量;从最后一个元素开始向前遍历到第i个位置,分别将它们都向后移动一个位置;将要插入元素填入位置i处;表长加1。插入操作会改变原有链表,所以要用地址传递。

数据结构

[专题] 第03话:线性表的顺序存储结构

线性表的结构体设计
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。既然线性表的毎个数据元素的类型都相同,所以可以用C语言(其他语言也相同)的一维数组来实现顺序存储结构,即把第一个数据元素存到数组下标为0的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。

数据结构

[专题] 第02话:线性表的抽象数据类型ADT定义

线性表有哪些基本操作?
前面我们已经给了线性表的定义,现在我们来分析一下,线性表应该有一些什么样的操作呢?然后再定义线性表的ADT。对于不同的应用,线性表的基本操作是不同的,上述操作是最基本的,对于实际问题中涉及的关于线性表的更复杂操作,完全可以用这些基本操作的组合来实现。

数据结构

[专题] 第01话:线性表的概念与定义

什么是线性表
线性表(List):零个或多个数据元素的有限序列。首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。如果一个小朋友去拉两个小朋友后面的衣服,那就不可以排成一队了。

数据结构

[专题] 结构之美:线性表的链式存储结构——链表

链表的详细了解
线性表的链式存储表示的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其直接后继数据元素 之间的逻辑关系,对数据元素来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。由这两部分信息组成一个“结点”,表示线性表中一个数据元素 。

数据结构

线性表的概念、结构与基本操作

线性表概览
什么是线性表?线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单,便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。

数据结构

[专题] 结构之美:线性表的查找、插入与删除操作

顺序存储结构的操作
查找线性表是最基本的操作之一,比如根据序号查找元素的值,或者根据值查找该值是否在线性表中,如果在,那么序号是几等等。分析上述插入和删除两段代码和更早的获取元素代码,我们可以发现,线性表的顺序存储结构,在存/读数据时,不管是哪个位置,时间复杂度O(1),而插入或删除时,时间复杂度都是O(n)。

数据结构

[专题] 结构之美:定义一个线性表

从最简单的线性表开始讲起
在计算机中,数据并不是孤立的,而是具有一定内在联系的数据集合,这种联系就是数据结构,说明数据如何被组织在一起的。下面我们从最简单的线性表开始讲起。线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
1 / 1 首页 < Prev 1 Next > 尾页 页码: