(五)、广义表的特性广义表中的数据元素是有相对次序的。广义表的长度定义为最外层包含元素的个数。广义表的深度定义为所含括弧的重数,其中原子的深度为0,空表的深度为1。广义表可以共享,一个广义表可以被其他广义表共享,这种共享广义表称为再入表。广义表可以是一个递归的表,一个广义表可以是自己的子表,这种广义表称为递归表。递归表的深度是无穷值,而长度是有限值。表头 (Head) 和表尾 (Tail) :当广
2. 稀疏矩阵当一个阶数较大的矩阵中的非零元素个数s相对于矩阵元素的总个数 t非常小时,即s<<t时,称该矩阵为稀疏矩阵(sparse matrix)。三元组表示法若把稀疏矩阵的三元组线性表按顺序存储结构存储,则称为稀疏矩阵的三元组顺序表简称为三元组表(list of 3-tuples)。(三元组类型TupNode;三元组顺序表的类型TSMatrix)第0行存储非零元素的个数、矩阵行数
(三)、矩阵一般用二维数组 int A[m][n];相同的元素或者零元素在矩阵中的分布存在一定规律的矩阵称之为特殊矩阵,反之称之为稀疏矩阵。1. 特殊矩阵对称矩阵矩阵中的元素满足ai,j= aj,i 的矩阵称之为对称矩阵(矩阵必须是方阵)。用一维数组存储对称矩阵可只存上三角或下三角部分三角矩阵所谓上三角矩阵(upper triangular matrix),是指矩阵的下三角部分中的元素均为常数c的
十一、数组和广义表(一)、数组的基本概念数组除了初始化和销毁以外,在数组中通常只有下面两种操作。读操作:给定一组下标,读取相应的数组元素。写操作:给定一组下标,存储或者修改相应的数组元素。几乎所有的计算机高级语言都实现了数组数据结构,并称之为数组类型。这里以 C/C++语言为例,其中数组数据类型具有以下性质:数组中的数据元素数目固定,一旦定义了一个数组,其数据元素数目不再有增减的变化。数组中的数据
2.KMP算法(找最长公共前后缀)对于模式串T =‘abaabc'当第6个元素匹配失败时,可令主串指针i不变,模式串指针j=3当第5个元素匹配失败时,可令主串指针i不变,模式串指针j=2当第4个元素匹配失败时,可令主串指针i不变,模式串指针j=2当第3个元素匹配失败时,可令主串指针i不变,模式串指针j=1当第2个元素匹配失败时,可令主串指针i不变,模式串指针j=1当第1个元素匹配失败时,匹配下一个
(二)、串的模式匹配设有两个串s和t(顺序存储),串t的定位就是要在串s中找到一个与t相等的子串。通常把s称为目标串(target string),把t称为模式串(pattern str ing),故串定位查找也称为模式匹配(pattern matching)。模式匹配成功是指在目标串s中找到了一个模式串t;不成功则指目标串s中不存在模式串t。1.Brute-Force算法int index(Sq
十、串串是由零个或多个字符组成的有限序列(即把线性表中的元素限制为字符型),两个串相等当且仅当这两个串的长度相等并且各对应位置上的字符都相同,一个串中任意个连续字符组成的序列称为该串的子串。串采用顺序存储结构存储时称为顺序串(SqString)。顺序串的存储方式有两种:一种是每个字只存一个字符,称为非紧缩格式(其存储密度小);另一种是每个字存放多个字符,称为紧缩格式。串采用链式存储结构存储时称为链
一、 实验简介(实验目的)使用 TIM3 的通道 2,把通道 2 重映射到 PB5,产生 PWM 来控制 DS0 的亮度。二、 实验设备(实验设备及用到的模块)1.电脑:window10及以上2.开发板名称:正点原子战舰V3 STM32F103开发板3.模块名称:KEY模块、LED模块、TIMER模块4.数据通信方式及设备:指示灯 DS0、定时器 TIM3 三、 实验
(一)、各个协议默认服务端口号SMTP,邮件发送协议,缺省端口25HTTP,超文本传输协议,缺省端口80POP3,邮件接收协议,缺省端口110IMAP,交互式邮件存取协议,缺省端口143HTTPS,数据加密HTTP升级版,缺省端口443 (二)、加密技术目前,无线网络中已存在好几种加密技术,由于安全性能的不同,无线设
4、用栈模拟队列(需要两个栈,一般空间一样)阶段性导入s2会出错,所以得到一个规则:在模拟的过程中如果要把元素导入栈,必须一次性的把所有的元素全部导入不然就会出错误。假如某个时刻不停地入队得到这么一个状态也就是已经满了,想继续入队就要把另一个栈利用起来总结:5.括号匹配和计算括号匹配问题括号匹配问题这个相关考点主要是考查在编译器中的对于括号匹配检测技术的了解(意思就是给一段待编译代码,里面有可能涉
(一).双端队列什么是双端队列?听起来好像是在一个队列的两端都可以做某件事情,普通的队列只能在一端进行插入而在另一端进行删除,而双端队列就把规定给放宽一点,在两端都可以进行插入删除操作的这么一个队列。用四个箭头来表示他们,在两端都可以入的元素也都可以出的元素,此时不称这两端一个是队头一个是队尾,因为两端都可以进行插入和删除操作,也就分不清哪是头哪是尾,所以就取名为一个叫end1一个叫end2。栈与
1.顺序栈采用顺序存储结构的段称为顺序栈。(声明顺序栈类型SqStack)栈空的条件:s->top==-1。(初始时设置s->top=-1) 栈满的条件:s->top==MaxSize-1(data数组的最大下标)。 元素e的进栈操作:先将栈顶指针 top 增1,然后将元素e放在栈顶指针处。 出栈操作:先将栈顶指针 top 处的元素取出放在e中,然后将栈顶指针减1。2.共享栈若需
(二).配置问题无论是栈还是队列,其设计只要是能够实现他们的特性(也就是说对于栈是先进后出,对于队列是先进先出,设计能够满足这些特性它都可以),把这些不同的设计称之为不同的配置。主要是队列的不同配置,因为这个比较复杂,考的也非常多;而对于栈的非常简单,考的也非常少,偶尔出现几个考题,用之前栈的基础知识就完全可以解决。以下是队列在不同的配置下所延伸出来的一些问题,主要针对顺序队,也就是循环队列;而对
用栈求后缀表达式值(把中缀表达式转成后缀表达式,再用栈求值)从左到右扫描,当遇到操作数的时候就入栈,当遇到运算符的时候就从栈顶弹出两个操作数,结合这个运算符计算结果(注意:第一个弹出的操作数在右边,第二个弹出的操作数在左边),将计算的结果压入栈中,如此进行下去,那么表达式被扫描完之后,整个计算过程也就结束了。float calPostFix(char exp[]) //float返回值类型 {
2.用栈实现表达式求值用栈求中缀表达式值(从左到右扫描,需要两个栈,一个存操作数s1;一个存运算符s2)运算符大于栈顶优先级入栈,若是小于等于,则对s2不停地执行出栈操作,每出栈一个运算符就同时从s1出栈两个操作数,然后拿着两个操作数和刚才出栈的运算符进行一次运算。注意1:第一次出栈的操作数在右边,第二次出栈的操作数在左边。这两个操作数是配合刚才的运算符进行一次运算的,那这两个操作数肯定有一个左右
(一).简单表达式求值(顺序栈)以下三种表达式运算数的相对次序相同。运算符位于两个操作数中间的表达式称为中缀表达式exp(要考虑括号和运算符优先级)中缀表达式的求值过程:将中缀算术表达式转换成后缀表达式;对该后缀表达式求值。运算符在操作数的前面称为前缀表达式(波兰式)中缀转前缀:把每一对括号内的运算符提到括号前面,再把所有括号去除后缀转前缀:把运算符前移到最近相贴的两个式子前面并括上,最后去掉所有
九、队列 (一)、逻辑结构队列简称队,它也是一种操作受限的线性表,其限制为仅允许在表的一端进行插入操作,而在表的另一端进行删除操作。队列也称为先进先出表(不同于栈,出队的顺序只有一种)。队列抽象数据类型=逻辑结构+基本运算(运算描述)队列的几种基本运算如下:(二)、存储结构1.顺序队采用顺序存储结构的队列称为顺序队。队空的条件:q->front==q->rear。
八、栈(一)、逻辑结构栈是一种只能在一端进行插入或删除操作的线性表。栈也称为后进先出表。栈抽象数据类型=逻辑结构+基本运算(运算描述)栈的几种基本运算如下:若算出栈序列p可能取值的个数,逆向思维哪些值不可能在p序列出栈(绝不可能是p已出栈的值)。 (二)、存储结构输出序列:由出栈序列判断栈容量(将入栈出栈过程模拟出来)。出栈序列和上一个出队序列一致出栈序列是上一个出栈序列相逆
划分以数组第一个元素temp为标准划分比较:void partition(int arr[],int n)//不需要返回故设为void类型,一个数组及表示其长度的变量 { int temp; int i= 0,j= n-1; temp = arr[i]; while(i < j) { while(i < j &&
七、有序表线性表中所有元素以递增或递减方式有序排列的线性表称为有序表。在一个具有n个结点的有序单链表中插入一个新结点后,仍然保持有序的时间复杂度是O(n)。(扫描的过程是一个线性阶的时间复杂度O(n),插入的操作是一个常量阶的时间复杂度O(1),线性阶加常量阶的结果仍为线性阶)有序表的归并算法(二路归并)//顺序表归并(需要开辟一个新空间存储归并后的新表) void mergearray(int
(三)、单链表单链表(带头结点)为空的判断条件是 L->next==NULL;插入(图上)或删除(图下)元素只需改变指针(有头结点的特殊情况也是类似原理,头指针不变):在一个长度为n(n>1)的带头结点的单链表h上,另设有尾指针r(指向尾结点),执行删除单链表中的最后一个结点操作与链表的长度有关。(该情况删除后尾指针就不知道该指向哪儿了,无关的情况是指不管链表多长都不影响操
六、线性表的链式存储结构线性表的链式存储结构称为链表(做选择题时有无尾指针是关注重点)。在顺序表中插入和删除元素可能会导致移动大量元素的连带操作(插入或删除操作发生在表尾位置例外),而链表不会。在单链表中找到任意一个结点的位置不像顺序表那么简单,因为顺序表支持随机存取(任意存取),而单链表不支持; 为了尽可能弥补上一条中单链表的不足,开发了双链表、循环单链表和循环双链表等存储结构,这些存储结构可以
四、线性表的逻辑结构线性表是具有相同特性的数据元素的有限序列(一个前驱和后继)。9个基本运算(一次删一个)五、线性表的顺序存储结构线性表的顺序存储结构简称为顺序表。一旦发现某个顺序表有存满并溢出的情况,很可能需要移动其他表以腾出位置为其扩充空间,导致不断地把大片数据移来移去(紧凑操作)。插入删除:见缝插针或根据下标(常见);插入需从后往前挪,删除需从前往后挪(避免元素覆盖);总插入次数
一、逻辑结构的二元组表示四种逻辑结构类型:集合:数据元素之间除了“属于同一个集合”的关系之外别无其它关系。线性结构:除了开端和终端元素以外,其余元素有且仅有一个前驱元素和一个后继元素。树形结构:一对多,开始元素唯一,除开始元素外,每个元素有且仅有一个前驱元素。图形结构:多对多,所有元素都可能有多个前驱元素和后驱元素。二元组表示法和图形表示法的转换(在树形结构的基础上画线性结构):二、存储结构同一逻
5.CPU的工作频率(主频) CPU的工作频率(主频)包括两个部分:外频与倍频,两者的乘积就是主频。 所谓外频,就是外部频率,指的是系统总线频率。 倍频的全称是倍频系数,倍频系数是指CPU主频与外频之间的相对比例关系。最初CPU主频和系统总线速度是一样的,但CPU的速度越来越快,倍频技术也就相应产生。它的作用是使系统总线工作
1.SoC——系统级芯片/片上系统在soC中软硬件的结合是十分紧密的,软件和硬件之间的功能划分以及它们的实现并没有固定的模式,而是随着应用的不同而变化。SoC是一款具有运算能力的处理器芯片,可面向特定用途进行定制的标准产品。SoC是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上,完成信息系统的核心功能SoC是将微处理器、模拟IP 核、数字IP 核和存储器(或片外存储控制接口)集成在单一芯
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号