`
owenyang
  • 浏览: 14983 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

广义表HEAD TAIL

阅读更多

广义表最基本的操作:取表头head(LS)与取表尾tail(LS)

例:LS=(a,(b,c,d))

head(LS)=a

tail(LS)=((b,c,d))

head(tail(LS))=(b,c,d)

tail(tail(LS))=()

head(head(tail(LS)))=b

tail(head(tail(LS)))=(c,d)

head(tail(head(tail(LS))))=c

tail(tail(head(tail(LS))))=(d)

head(tail(tail(head(tail(LS)))))=d

tail(tail(tail(head(tail(LS)))))=()

奇怪了,这些我能看懂,为什么有些就是不行呢?难道还是没有理解透彻???

分享到:
评论

相关推荐

    广义表的创建,深度计算

    广义表可以表示为一个二元组 (head, tail),其中 head 是广义表的第一个元素,tail 是剩余元素组成的广义表。如果广义表为空,则 head 为 null,tail 也为 null。例如,广义表 ((a, b), c, d) 可以表示为 (head=(a, ...

    数据结构广义表实现二叉树

    在广义表中,每个元素被称为一个“项”(element),一个广义表可以表示为一对(head, tail)。head 是广义表的第一个元素,tail 是剩余元素组成的广义表。例如,广义表 `(a, b, (c, d))` 的 head 是 `a`,tail 是 `...

    广义表的反序

    逆置广义表的递归模型如下: F(LS) = null 若 LS 为空 F(LS) = LS 若 LS 为原子,且 tail(LS) 为空 F(LS) = append( F(tail(LS)), head(LS) ) 若 LS->tag=0 ,且 LS->tp!=null F(LS) = append( F(tail(LS), F(head...

    心希盼 C++ 数据结构 广义表

    广义表由一个头元素(Head)和一个尾元素(Tail)组成。头元素是广义表的第一个元素,可以是原子(基本数据类型)或另一个广义表。尾元素是剩余的部分,可以是空列表(nil)或另一个广义表。在C++中,可以使用指针...

    广义表算法(数据结构和算法分析)

    ### 广义表算法(数据结构和算法分析) 在计算机科学领域中,广义表是一种重要的数据结构,它不仅能够包含原子元素,还能嵌套其他广义表,从而形成了复杂的数据结构。广义表通常用于表示多维数组、树结构等。本篇文章...

    c++编写的广义链表

    注意,为了处理空链表的情况,我们需要特别检查`head`和`tail`是否为空。 在实际应用中,广义链表的优势在于其灵活性。它可以用于创建具有多种数据类型的动态集合,例如在一个链表中同时存储整数、字符串和自定义...

    数据结构实验:实现广义表抽象数据类型

    头尾链表将广义表分为头部(head)和尾部(tail)两部分。头部通常包含一个元素,而尾部则可以是空或者另一个广义表。通过这种方式,我们可以方便地添加、删除和访问广义表中的元素。在实现过程中,我们需要定义一个...

    数组和广义表

    - **head和tail操作**:`head`操作返回广义表的第一个元素(如果第一个元素是广义表,则返回这个广义表的head),而`tail`操作返回除第一个元素之外的所有元素组成的广义表。 - **提取特定元素**:通过一系列的`head...

    7 数据结构第四章知识点2-广义表.docx

    广义表的存储通常采用头尾表示法(Head-Tail Representation)。这种表示方法将每个广义表看作是它的头元素和表尾两部分的组合。头元素可以直接存储,而表尾则存储指向下一个元素的指针。这样可以节省空间并方便地...

    C++如何实现广义表详解

    广义表的概念基于递归定义,即一个广义表可以是空表,也可以是由一个元素(可以是原子或另一个广义表)和一个广义表构成。在C++中实现广义表,我们需要创建相应的数据结构来表示节点类型,然后设计相应的操作以支持...

    串和广义表小测验.zip

    tail)`的形式,其中`head`是第一个元素,`tail`是剩余部分的广义表,这种表示方式允许广义表包含其他广义表,形成嵌套结构。在Lisp语言中,广义表是最基本的数据结构,所有的表达式都以广义表的形式存在。 广义表...

    建立广义表存储结构非递归算法的研究与实现

    广义表的每个元素都包含两个部分:表头(Head)和表尾(Tail)。表头可以是原子或者另一个广义表,而表尾总是由广义表组成。因此,广义表的链式存储结构可以使用两种类型的节点来表示: 1. **表结点**:用于表示...

    《数据结构》习题集:第5章-数组与广义表.doc

    Head操作是取出广义表的表头,Tail操作是取出广义表的表尾,CONS操作是将两个广义表连接起来。 8. 广义表的应用:广义表广泛应用于人工智能、计算机科学和数据结构等领域。它可以用来表示复杂的数据结构,如树形...

    数据结构教学课件:第9讲 广义表的定义.pdf

    - 非空广义表可以被分解为表头Head(LS)和表尾Tail(LS)两部分,Head返回第一个元素,Tail返回剩余部分。 对于广义表的表示方法,一种常见的方式是采用头、尾指针的链表结构。在这种结构中,每个节点包含一个数据元素...

    考研数组和广义表答案.doc

    广义表的操作主要有:取表头(Head),取表尾(Tail),和取子表(Select)。例如,广义表的表头是第一个元素,表尾是去除表头后的元素组成的表。广义表可以用来表示复杂的结构,如树和图。广义表的深度指的是从根...

    第五章数组与广义表.zip

    广义表由头部(Head)和尾部(Tail)两部分组成,头部是广义表的第一个元素,尾部是剩余的所有元素形成的广义表。广义表可以为空,也可以是单元素,甚至是嵌套的。这种结构使得广义表能有效地表示层次关系、树形结构...

    数据结构广义表PPT学习教案.pptx

    2. 取表尾(TAIL(LS)):返回广义表除去第一个元素后的剩余部分,如果剩余部分为空,则返回空表。 由于广义表元素的复杂性,一般不使用顺序存储结构,而是采用链式存储结构来实现。常见的两种链式存储结构包括: 1...

    第5章 数组和广义表答案1

    10. 广义表的操作,如取表头(head)和表尾(tail),以及深度(depth)的概念,表明了广义表可以嵌套,具有层次性。 11. 广义表的长度、子表、括号层数等都是其属性,用于描述其结构和内容。 12. 算法问题涉及到数组...

    多元数组和广义表课件

    广义表的定义涉及表头(head)和表尾(tail)。在广义表中,每个元素可以是单个原子或另一个广义表。广义表的存储结构通常采用链式结构,方便处理嵌套和非线性的数据组织。常见的广义表操作包括表头和表尾的提取、...

    第4章 特殊矩阵和广义表.ppt

    广义表由表头(Head)和表尾(Tail)组成,表头是列表的第一个元素,表尾是剩余的元素。广义表的操作包括创建、插入、删除、遍历等,它们对理解递归和链式存储有重要作用。 学习特殊矩阵和广义表的操作,有助于我们...

Global site tag (gtag.js) - Google Analytics