20210427

回顾 | 田静语法C6-S2、C7(完) | 线性代数-矩阵(一)| 数据结构-广义表

Table of Contents

回顾

恋词复习

田静语法C6-S2-简化长难句

用法

把长难句断开为多个简单句之后,如果简单句还不简单就要进行简化。

简单句的核心成分:主语、谓语、宾语、表语、补语
简单句的非核心成分:形容词、副词、介词短语、非谓语动词、同位语、插入语等。

因为核心成分的形式很多变,所以一般先找非核心成分然后去掉即可

例子

image.png
image.png
image.png

田静语法C7特殊结构的长难句分析

分裂结构

嵌套结构

正常先断开,再看从句,从句一个没有结束一个又开始即为嵌套结构。

平行结构

先找并列连词,再找词性相同,形式一致的多个成分。

线性代数-矩阵(一)

概念 运算

伴随矩阵 可逆矩阵

$AA^{*} = A^{*}A = |A|E$

初等行变换 初等矩阵

分块矩阵

方阵的行列式

数据结构-广义表(一)

广义表的逻辑结构

image.png
A=(),A是一个空表,长度为0,深度为1。
B=(d, e),B的元素全是原子,d和e,长度为2,深度为1。
C=(b, (c, d)),C有两个元素,分别是原子b和另一个广义表(c, d),长度为2,深度为2。
D=(B,C),D的元素全是广义表,B和C,长度为2,深度为3,由此可见一个广义表的子表可以是其他已经定义的广义表的引用。
E=(a,E),E有两个元素,原子a和它本身,长度为2,由此可见一个广义表可以是递归定义的。展开E可以得到(a, (a, (a, (a,...))))、是一个无限深的广义表。

由上面可以总结:
广义表的长度︰为表中最上层元秦的个数。如广义表C长度为2、注意不是3。
广义表的深度︰为表中括号的最大层数。求深度时可将子表展开,如广义表D应该展开为((d,e),(b.(c, d))),深度为3
表头(Head)和表尾(Tail):当广义表非空时,第一个元素为广义表的表头,其余元素组成的是广义表的表尾。

常考定义

考试中涉及到取表头和表尾的操作,会以函数形式给出如图(不会让你实现这个函数),然后让你把结果写出来。

每次取表尾都伴随着一个构建表的操作,要拿出表头部分的元素来构建一个新的广义表。

GetHead(B) = d     GetTail(B) = (e)  //其他元素所组成的表是表尾!!表尾是一个表!不是元素

GetHead(D) = B     GetTail(D) = (C)

GetHead((a)) = (a) GetTail((a)) = () //除去表头之外就是一个空表

广义表的头尾链表存储结构

横向上,为每一层的每一个元素都建立一个广义表结点,如果某一个广义表结点假设叫X所对应的元素是原子,则构建一个原子结点存储信息并让X的中间域的指针指向它;如果X所对应的元素是一个广义表,则X的中间指针域指向这个广义表第一层的广义表结点的第一个。

原子结点有两个域:标记域和数据域;
广义表结点有三个域:标记域名、头指针域与尾指针域。
其中标记域用于区分当前结点是原子(用0来表示)还是广义表(用1来表示)

广义表的扩展线性表存储结构

与上面不同的是,这种存储结构只有一种结构体变量,它既能作为原子结点也能作为表结点。

在广义表的每一层中,先建立一个表结点,然后为本层的每一个元素都建立一个结点,把这些所有的结点用指针域串成一行,然后检查为每个元素建立的结点,假设当前检查的结点叫A,如果A对应的元素是原子,那就在第二个域保存原子信息;如果A对应的元素是广义表,则从A的中间指针域引出一条指针指向这个广义表的第一个结点。