顺序存储是用一组地址连续的存储单元依次存放线性表中各个数据元素的存储结构线性表地址公式:Loc(Ai) =Loc(A0) +i*c在线性表中逻辑上相邻的数据元素,在物理存储位置上也是相邻的对数据的操作包括:1.初始化:创建、销毁2.数据操作:增删改,3.数据使用:查找、遍历链表中每个结点包含存放元素值的数据域和存放指向逻辑上相邻结点的指针域MVVM中的的ViewModel表示页面中的数据和视图中间的调度者MVVM中的的View表示页面中的视图Vue中可以使用DOM操作了v-text指令是用来渲染文本的v-html指令是用来渲染HTML标签v-bind指令是用来给HTML属性绑定数据的v-on指令是给元素绑定事件的给一个div添加一个点击事件可以使用指令@在methods里的方法中想访问data里的数据可以使用this关键字Vue中v-for指令可以用来做循环当我们频繁的操作显示和隐藏元素的时v-show更好v-else一般配个下面v-if指令使用Vue的$mount()方法可以动态指定要控制的区域使用axios发起get请求的时候,第一个参数是请求的地址当点击img图片使页面有一个弹框时,可以使用指令v-on@DateTimeFormat注解用于将指定格式的字符串转换为Date类型vue中input元素可以使用v-model指令树形结构中数据元素的位置之间存在一对多的关系某算法的时间复杂度为O(n),表明该算法的执行时间与n成正比在线性表中,除了开始元素外,每个元素只有唯一的前驱元素对于顺序表,访问编号为i的元素的时间复杂度为O(1)
非空的单向循环链表的尾结点满足p.getNext()==head(设头指针为head,指针p指向尾结点)设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为n/2设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元素的次数为(n-1)/2设顺序存储的线性表长度为n,要删除第i(0<=i<=n-1)个元素,按课本的算法,当i=n-5时,移动元素的次数为4设有一个长度为n的顺序表,要删除第i(0<=i<=n-1)个元素,按照课本算法,需移动元素的个数为n-i-1按照教材算法,在一个长度为n的顺序表中为了删除位序号为5的元素,从前到后依次移动了15个元素。则原顺序表的长度为21假设在顺序表中,每一个数据元素所占的存储单元的数目为4,且第一个数据元素的存储地址为100,则位序号是7的数据元素的存储地址是128队列的删除操作在队头进行栈的插入操作在栈顶进行栈和队列的相同点是逻辑结构与线性表相同从一个栈顶指针为top的链栈中插入一个由P指向的新结点时,则执行的操作是p.setNext(top) top=p设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为x=top.getData();top=top.getNext()
在一个链队列中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为r.setNext(s);r=s在一个链队列中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为f=f.getNext()
在一个循环队列中,队列的空间大小为length, 设对头指针为front, 队尾指针为rear, 按照教材采用减少一个存储元素的方法,(rear+1)%length==front可判断队列是否已满若一个栈用数组data[1..n]存储,初始栈顶指针top为n, 则如元素x进栈的正确操作是data[top]=x;top--串函数s=“Hello”s.indexOf(“e”,2)的值为-1两个字符串相等的条件是两串的长度相等,并且对应位置上的字符相同设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到一维数组B中(数组下标从0开始),则矩阵中元素A[8][5] 在一维数组B中的下标是41设有一个10阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。(矩阵A的第一个元素为A[0][0],数组b的下标从0开始),则矩阵元素A[5][3]对应一维数组b的数组元素是b[18]
设有一个15阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从0开始),则矩阵中元素a[7,6]在一维数组B中的下标是34设有一个15阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。(矩阵A的第一个元素为a[1,1],数组b的下标从1开始),则数组元素b[13]对应A的矩阵元素是a[5,3]
设有一个20阶的对称矩阵A,采用压缩存储方式,将其下三角部分以行序为主序存储到一维数组中(矩阵A的第一个元素为a11,数组b的下标从1开始),则矩阵元素a8,5在一维数组b中的下标是33深度为5的完全二叉树共有20个结点,则第5层上有5个结点(根所在结点为第一层)
一棵完全二叉树共有5层,且第5层上有六个结点,该树共有21个结点一棵有n个结点采用链式存储的二叉树,则该树共有n+1个指针域为空在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为2i+2树的表示法有4种,分别为:文氏图表示法、凹入图表示法、广义表表示法以及树形表示法在一棵二叉树中,若其所有结点或叶结点,或左、右子树都非空,且所有叶结点都在同一层,则称这棵二叉树为满二叉树在二叉树的第i层上至多有2i个结点(i≥0)
深度为h(h≥1)的二叉树上至多含2h-1个结点树的带权路径长度是指树中所有叶结点的带权路径长度之和给定n个权值并作为n个叶结点按一定规则构造一棵二叉树,使其带权路径长度达到最小值,则这棵二叉树被称为最优二叉树,也称哈夫曼树在一个无向图中,若存在一条边(u,v),则称顶点u与v互为邻接点顶点的度是指图中与该顶点相关联的边的数目有向图顶点v的度等于它的入度和出度之和,即D(v)=ID(v)+OD(v)
常见的图的存储结构有两种,分别为:邻接矩阵和邻接表对于稀疏图,邻接表比邻接矩阵节省存储空间图的遍历方式通常有两种,分别是广度优先搜索和深度优先搜索在一个网的所有生成树中,权值之和最小的生成树称为最小代价生成树求图的最小生成树的典型算法有两种,分别是克鲁斯卡尔算法和普里姆算法克鲁斯卡尔算法适用于针对稀疏图的操作普里姆算法的时间复杂度为O(n2),执行时间主要取决于图的顶点数,与边数无关检查有向图中是否存在回路的方法之一,是对有向图进行拓扑排序按排序过程中所涉及到的存储器不同分为内部排序和外部排序内部排序的方法分为5种类型,分别是插入类、交换类、选择类、归并类和其它方法冒泡排序是稳定的排序方法,它的时间复杂度为O(n2)
归并排序是稳定的排序方法,它的时间复杂度为O(nlog2n)
查找表是一种以同一类型的记录构成的集合为逻辑结构,以查找为核心运算的数据结构静态查询表可以使用顺序表表示,也可以使用线性链表表示顺序查找又称为线性查询,它是一种最简单、最基础的查找方法带监哨的顺序查找算法中,数组r共有n+1条记录,其中r[0]位置为监视哨作为二分查找对象的数据必须是顺序存储的有序表二分查找又称为折半查找二叉排序树的左右子树也都是二叉排序树平衡二叉树又称为AVL树B-树是一种平衡的多路查找树红黑树被称为对称二叉B树,是一种自平衡的二叉查找树对长度为n的线性表进行顺序查找,在等概率情况下,平均查找长度为(n+1)/2线性表只要以关键字有序的顺序方式存储就能进行折半查找在有序表{2,4,7,14,34,43,47,64,75,80,90,97,120}中,用折半查找法查找值97时,经3次比较后查找成功若有一个长度为64的有序表,现用二分查找方法查找某记录,则查找不成功,最多需要比较7次CAP三要素是指:一致性、可用性、分区容错性Nacos用于服务的注册发现与服务的配置管理Nacos的默认端口号是8848Nacos支持基于DNS和基于RPC的服务发现当使用Nacos作为注册中心时,需要在配置文件中声明Nacos服务的IP地址和端口号使用@EnableDiscoveryClient注解可以实现Nacos的服务发现在Nacos的服务列表界面可以查看所有注册到Nacos的服务当服务启动是报错Connectionrefused时,最可能的原因是Nacos服务未启动使用@LoadBalanced注解可以开启SpringCloud的负载均衡当SpringCloud开启负载均衡后,可以通过注册到Nacos的服务名进行访问可以通过在配置文件中声明spring.application.name参数来命名服务如果一个服务同时定义了bootstrap.yml和application.yml,那么application.yml将覆盖另一个的值在Nacos中,Namespace用于对租户粒度的配置隔离在Nacos中,DataID是数据唯一标识,可理解为SpringCloud应用的配置文件名在Nacos的配置文件中配置Mysql可以实现数据本地化在Nacos的conf目录下,提供了application.properties可以修改数据库配置信息可以在节点列表页查看Nacos集群的节点IP当启动Nacos集群时报错db.numisnull,最可能的原因是没有配置数据库Feign将我们需要调用的服务方法定义成抽象方法保存在本地使用Feign调用的方法要和本地抽象方法的签名完全一致使用@FeignClient注解实现接口的远程调用使用@EnableFeignClients声明开启Feign的远程调用在@FeignClient注解的参数中,value参数用以声明服务方暴露的接口地址在整条链路的服务中,因某服务失败导致整条链路服务都失败的情形叫做服务雪崩服务熔断是指当下游服务不可用或响应过慢时,上游服务为保证整体服务可用性,不再继续调用目标服务服务熔断属于降级方式的一种当发生下游服务不可用的情况,熔断和降级必定是一起出现服务降级大多是属于一种业务级别的处理,服务熔断属于框架层级的实现Sentinel是一个高可用的流量控制与防护组件,保障微服务的稳定性使用Sentineldashboard前需要先在配置文件中声明IP和PortSentinel通过@SentinelResource注解,设置监控点通过@SentinelResource注解的blockHandler属性制定限流的处理函数限流是通过设置QPS(每秒查询率)或线程数,将超过阈值部分拒绝处理Gateway作为SpringCloud生态系统中的网关,目标是替代ZuulGateway与Zuul的主要区别在于底层的通信框架Gateway转发规则的定义主要包含三个部分:Route、Predicate、FilterNoSQL数据库有四类,分别是:键值存储数据库、列存储数据库、文档型数据库、图形数据库Redis是一个高性能的键值存储数据库Redis的默认端口号是6379MQ是指消息队列,是一种典型的生产者、消费者模型RabbitMQ是基于AMQP协议实现的消息队列RabbitMQ中导致的死信原因有:消息被拒、消息TTL过期、队列达到最大长度