自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 线性代数中的特征值和特征向量

线性代数中的特征值和特征向量

2022-12-19 20:32:38 3133 1

原创 算法中的渐近分析

目录1.基本概念(1)𝚯记号(2)𝑶记号(3)𝛀记号2.几者关系1.基本概念渐近记号 名称 𝑻 (𝒏) = 𝚯(𝒈(𝒏)) 渐近紧确界 𝑻 (𝒏) = 𝑶(𝒈(𝒏)) 渐近上界 𝑻 (𝒏) = 𝛀(𝒈(𝒏)) 渐近下界 (1)𝚯记号对于给定的函数𝒈(𝒏),𝚯(𝒈(𝒏))表示以下函数的集合: 𝚯 (𝒈 (𝒏)) = {𝑻 (𝒏) : ∃ 𝒄𝟏, 𝒄𝟐, 𝒏𝟎 > 𝟎,使得∀ 𝒏 ≥ 𝒏𝟎, 𝒄𝟏𝒈 (𝒏) ≤ 𝑻 (𝒏).

2022-05-12 12:03:10 1723

原创 n皇后问题(回溯法)

目录1.问题描述2.问题分析3.完整源码1.问题描述八皇后问题是十九世纪著名的数学家高斯于1850年提出的。问题是:在8×8的棋盘上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上。可以把八皇后问题扩展到n皇后问题,即在n×n的棋盘上摆放n个皇后,使任意两个皇后都不能处于同一行、同一列或同一斜线上。2.问题分析确定问题状态:问题的状态即棋盘的布局状态构造状态空间树:状态空间树的根为空棋盘,每个布局的下一步可能布局是该布局结点的子结..

2022-05-11 00:15:00 52619 23

原创 二分搜索(结合例题讲解)

目录1. 题目描述2. 题目分析(1)第一次查找 (起始位置)(2)第二次查找(结束位置)3.核心代码1. 题目描述已知一个从小到大的排序数组,求数组中等于目标值元素的下标,数组中可能有重复的元素,所以如果目标值存在,返回目标值在数组中的开始位置和结束位置,如果目标值不存在,返回两个-1。2. 题目分析这一题是典型的二分查找,需要用到两次,分别查找目标值开始位置和结束位置(1)第一次查找 (起始位置)起始位置二分查找代码的实现,传入数组nums与目标值tar..

2022-05-10 02:30:00 456

原创 归并排序(手工运算及完整代码)

目录1.问题描述2.基本概念3.手工运算4.完整代码1.问题描述给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。2.基本概念归并排序:分解数组,递归求解,合并排序算法流程:1.将数组A[1,n]排序问题分解为A[1,n/2]和A[(n/2+1),n]排序问题2.递归解决子问题得到两个有序的子数组3.将两个有序子数组合并为一个有序数组3.手工运算4.完整代码.

2022-05-09 00:15:00 681 1

原创 快速排序(手工运算及完整代码)

目录1.题目简介2.动图演示3.手工运算4.完整源码(1)基本算法(2)STL快速算法1.题目简介给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。2.动图演示3.手工运算例题:使用快速排序对下列数据进行排序:{4 3 7 1 0 9 2 6},关键字为4,写出第一趟分割过程的每次交换步骤和结果解答:{4 3 7 1 0 9 2 6},关键字为4现设置两个指针i,j...

2022-05-08 15:45:28 1860 3

原创 几大基本算法的概念

1。递归(1)基本概念递归算法是一个模块(函数,过程)除了可调用其他模块(函数,过程)外,还可以直接或间接的调用自身的算法(2)基本思想把大问题分解为小问题,进一步分解为更小的问题,直到每个小问题可以解决为止(3)基本步骤1.分析问题,寻找递归:找出大规模问题与小规模问题的关系,这样通过递归使问题的规模逐渐变小2.设置边界,控制递归:找出停止条件,即算法可解的最小规模问题3.设计函数,确定参数:和其他算法模块一样设计函数中的操作及相关参数2.分治(1)基本概念

2022-05-07 03:00:00 289

原创 霍夫曼编码(贪心)

目录1.什么叫霍夫曼编码2.如何手工运算得到霍夫曼编码3.完整源码(1)只输出权值(2)输出树形1.什么叫霍夫曼编码霍夫曼编码(英语:Huffman Coding),又译为哈夫曼编码、赫夫曼编码,是一种用于无损数据压缩的熵编码(权编码)算法。由大卫·霍夫曼在1952年发明。在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用

2022-05-06 16:00:47 2002 2

原创 最长公共子序列(动态规划)

目录1.问题描述2.问题分析3.手工运算4.核心源码1.问题描述给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个字符都能在两个原串中找到而且每个字符的先后烦序和原串中的先后顺序一致。Sample Inputabcfbc abfcabprogramming contestabcd mnpSample Output4202.问题分析输入两个串s1,s2, 设MaxLen(i,j)表示:...

2022-05-05 20:17:14 428

原创 0-1背包【多种算法解答(手工运算及完整源码)】

1.问题描述有 N 件物品和一个容量是V的背包。每件物品只能使用一次。第 i 件物品的体积是 vi ,价值是 wi 。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。2.问题解析及完整源码(1)二维DP(1)状态f[i][j]定义:前 i个物品,背包容量 j 下的最优解(最大价值):当前的状态依赖于之前的状态,可以理解为从初始状态f[0][0] = 0开始决策,有 N件物品,则需要 N次决 策,每一次对第 i件物品的决策,状...

2022-05-04 11:04:28 1143

原创 数字三角形【动态规划(含手工运算及多种源码)】

目录1.问题描述2.解题思路3.手工运算4.空间优化5.完整源码(1)从下到上DP(2) DP,记录路径(3)从上到下DP1.问题描述给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 44 5 2 6 52.解题思路用二维

2022-05-03 01:00:00 2585

原创 矩阵链相乘【动态规划(手工运算及源码)】

目录1.动态规划基本步骤2.问题描述3.完全加括号(计算次序)的方式4,三个矩阵相乘5.利用动态规划解决问题6.手工运算7.全部源码1.动态规划基本步骤(1)动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值(最大值或最小值)的那个解。(2)设计一个动态规划算法,通常可以按以下几个步骤进行:1.找出最优解的性质,并刻划其结构特征。2.递归地定义最优值。3.以自底向上的方式计..

2022-05-02 00:15:00 1201

原创 最大子序列和问题【分治法(附手工运算及多种源码)】

目录1.题目概述2.两种手工运算方法(1)分治法比大小(2)边扫描边更新比大小3.代码实现(1)Algorithm 1(2)Algorithm 2(3)Algorithm 3(4)Algorithm 41.题目概述给定一个包含 KK 个整数的序列 {N1,N2,…,NK}{N1,N2,…,NK}。连续子序列定义为 {Ni,Ni+1,…,Nj}{Ni,Ni+1,…,Nj},其中 1≤i≤j≤K1≤i≤j≤K。最大子序列是指序列内各元素之和最大的连续子.

2022-05-01 01:00:00 2432

原创 消除文法的左递归和回溯

1.自上而下分析(1)面临的问题文法左递归问题回溯问题(2)构造不带回溯的自上而下分析算法消除文法的左递归性消除回溯(3)识别左递归消除左递归分为消除直接左递归和间接左递归,间接左递归有的时候还要转化为直接左递归进行运算,我们如何去辨别他们是否为直接左递归或者是间接左递归呢直接左递归:P->Pα|β(β不以P开头)间接左递归:例如S→Qc|c,Q→Rb|b,R→Sa|a2.直接左递归的消除3.直接左递归例题根据左递归定义..

2022-04-30 15:24:11 8027 3

原创 有限自动机的等价性(包括NFA转为DFA和DFA的化简)

目录1.DFA和NFA的等价性2.DFA与NFA等价性证明3.DFA的化简1.DFA和NFA的等价性(1)对于每个NFA M存在一个DFA M’,使得L(M)=L(M’)1.等价性证明2.NFA的确定化思路:NFA和DFA的差别 NFA DFA 初始状态 不唯一 唯一 弧上的标记 字(单字符字,ε) 字符 转换关系 非确定 确定 我先来简单的给大家解释一下他的定义将NFA转化为DFA...

2022-04-29 20:12:08 3827 2

原创 LR(1)分析法

1.LR(1)分析表和LR(1)文法(1)按上述算法构造的分析表,若不存在多重定义的入口(即,动作冲突)的情形,则称它是 文法G的一张规范的LR(1)分析表。(2)具有规范的LR(1)分析表的文法称为一个LR(1)文法。(3)使用LR(1)分析表的分析器叫做一个规范的LR分析器。(4)LR(1)状态比SLR(1)多。(5)LR(O)∈ SLR(1)∈ LR(1)∈无二义文法。2.SLR冲突消解存在的问题(1)LR(1)和SLR(1)分析表构造方法的对比...

2022-04-28 00:15:00 13174

原创 SLR(1)分析法

1.基本概念(1)按上述方法构造出的ACTION与GOTO表如果不含多重入口,则称该文法为SLR(1)文法。(2)使用SLR表的分析器叫做一个SLR分析器。(3)每个SLR(1)文法都是无二义的。但也存在许多无二义文法不是SLR(1)的。(4)LR(0)∈ SLR(1)∈无二义文法2.如何构造SLR(1)分析表(1)把G拓广为G'(2)对G'构造 1.LR(O)项目集规范族C 2.活前缀识别自动机的状态转换函数GO(3)使用C和G...

2022-04-27 00:15:00 11362 3

原创 构造LR(0)分析表

1.什么叫LR(0)文法假若一个文法G的拓广文法G'的活前缀识别自动机中的每个状态(项目集)不存在下述情况︰(1)既含移进项目又含归约项目;(2)含有多个归约项目;则称G是一个LR(0)文法。2.如何构造LR(0)分析表(1)令每个项目集I的下标k作为分析器的状态,包含项目S'→·S的集合I的下标k为分析器的初态。(2)构造LR(O)分析表的ACTION和GOTO子表3.LR(0)分析表的ACTION和GOTO子表构造4.例题分析(1)状态0..

2022-04-26 00:15:00 10400 3

原创 概率论中常见的几种分布

1.基本特征(1)离散型名称 符号表示 式子表达 期望 方差 0-1分布 X ~ B(x,p) p p(1-p) 二项分布 X ~ B(n,p) np np(1-p) 几何分布 X ~ GE(p) 1/p (1-p)/p^2 泊松分布 X ~ P(λ) λ λ (2)连续型名称 ...

2022-04-25 00:15:00 50966 1

原创 两种构造识别活前缀的DFA方法

1.基本概念(1)前文回顾在上一篇文章中(https://blog.csdn.net/qq_55168827/article/details/124329569)我们简单的介绍了我们该如何的去构造活前缀的DFA,但是只讲了概念,很多同学都还是一头雾水,在这篇文章中我将会详细的介绍如何的去构造活前缀的DFA。(2)项目->NFA->DFA大家可能看这个图有点懵,不知道是怎么来的,其实这个图是将项目转化为左边的NFA,再根据第二章NFA和DFA转化的知识转化为了左边的DFA.

2022-04-24 00:21:05 8036 1

原创 活前缀及构造活前缀的DFA

1.引入背景上一讲我们讲了LR分析法和LR分析器的性质,我们知道了在规范规约过程中,栈内的符号串需要满足一定的条件,见下图:LR分析器的工作过程实际上就是逐步产生规范句型的活前缀。如何保证栈内的符号串永远不会出现在句柄之后呢,于是我们引入了字的活前缀。2.基本定义(1)字的前缀是指字的任意首部,如字ab的前缀有ε(ε是任何字的前缀),a ,ab ,abc。(2)活前缀可能大家看的有点懵,还是不理解什么叫做活前缀。其实通俗一点来讲,活前缀就是句柄的子集。...

2022-04-23 00:15:00 16134 3

原创 LR分析法

1.基本概念(1)LR分析器结构(2)LR分析表大家重点关注一下这个LR分析表,我们后续的分析都将围绕这个LR分析表展开

2022-04-22 00:15:00 5612 4

原创 存储系统笔记加习题(1)(超详细)

1.存储器的分类(1)按在计算机中的作用(层次)分类1.主存储器简称主存,又称内存储器(内存)2.辅助存储器简称辅存,又称外存储器(外存)3.高速缓冲存储器简称Cache,位于主存和CPU之间下面列一张图来说明这几者的关系(2)按存储介质分类按存储介质,存储器可分为磁表面存储器(磁盘,磁带),磁芯存储器,半导体存储器和光盘存储(光盘)。(3)按存储方式分类1.随机存储器任何一个存储单元都可以随机存储,读写方便,使用灵活,主要用作于主存或高速缓冲存储器。

2022-04-21 00:15:00 2131

原创 决定四六级阅读答案的那些词汇

目录1.重点逻辑提示2.信号比较词3.结论信息提示词4.态度情绪提示词(1)排除送命词(2)总结态度词5.定位专用词1.重点逻辑提示转折 but,however,yet,though,whereas,actually,in fact,instead of, nonetheless 因果 since,as,because,so,that's why 条件 if,when,only,unless,otherwise 举例 for e

2022-04-20 07:00:00 490

原创 句柄和规范规约(超详细)

1.基本概念要想理解句柄和规范规约,我们要先来看看这一章的主题——自下而上分析法,从主题入手更加容易理解句柄和规范规约的意义。(1)自下而上分析法1.算符优先分析法这个知识点已经在之前的博客详细说明了,大家如果不太理解,可以去看一看构造优先关系表_驼驼学编程的博客-CSDN博客2.LR分析法(2)句柄 句型的句柄是该句型中和一个产生式右部匹配的子串并把它规约成该产生式左部的非终结符代表了最右推导过程中的逆过程的一步。 句柄的右边仅仅含有终结符或者空符。..

2022-04-19 00:03:13 8450 1

原创 Python中的字典该怎么用,看这一篇就够了(结尾有惊喜)

目录1.基本概念2.常用操作(1)使用字典1.基本形式2.访问字典中的值3.添加(或创建)键值对4.修改字典中的值5.删除键值对(2)遍历字典1.遍历字典中所有的键值对2.遍历字典的所有键3.遍历字典中的所有值(3)嵌套1.字典列表2.在字典中存储列表3.在字典中存储字典(4)结尾小彩蛋1.基本概念在python中,字典是一系列的键-值对,可用于存储需要一一对应的数据。 字典是一系列的键-值对,键和值之间用...

2022-04-18 07:00:00 5148

原创 短语,直接短语,素短语与最左素短语(语法树求法)

目录1.基本概念(1)短语和直接短语:(2)素短语:(3)最左素短语:​2.判断方法3.例题演示1.基本概念(1)短语和直接短语:一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,当子树中不包含其他更小的子树时,该子数叶结点所组成的字符串就是该句型的直接(简单)短语。(2)素短语:它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语。而一个算符优先文法G的...

2022-04-17 21:18:15 12283 6

原创 构造优先关系表

在自底向下优先分析一章中有一个非常重要的题型——构造优先关系表,接下来我们就来看看具体是怎么操作的。注意:进行这一步的前提是要知道FIRSTVT和LASTVT的求法,大家可以看我之前写的博客:FIRSTVT和LASTVT的计算(很长但是很详细)_驼驼学编程的博客-CSDN博客1.基本概念大家可能不太好理解,我们把它转化成伪代码的形式供同学们理解。2.伪代码呈现大伙可能看的还是云里雾里,我来和大家解释一下。给大家举一个例子:P->ABC我们来看ABC三者的关系,.

2022-04-16 21:09:29 8165 1

原创 STL库基础学习

目录1.什么是STL库2.几种常见的STL模板(1)vector1.vector向量模板2.vector迭代器3.常见方法与用法(2)list(3)queue和stack(4)set和map3.几种STL 的时间复杂度比较1.什么是STL库◦STL又称为标准模板库,是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。◦也就是说,有了STL,数据结...

2022-04-15 21:01:53 6235

原创 FIRSTVT和LASTVT的计算(很长但是很详细)

目录1.定义2.定义剖析与理解(1)FIRSTVT(P)(2)LASTVT(P)3.例题演示(1)FIRSTVT的详细计算过程1.第一遍扫描2.第二遍扫描3.第三遍扫描4.第四遍扫描5.第五遍扫描(2)LASTVT的详细计算过程1.定义大家看完定义之后是不是觉得有点懵,这很正常,我们要利用定义做题的第一步就是理解定义。笔者在这里先给大家抛个引子,我认为它们的计算与FOLLOW集的计算有类似之处(FOLLOW集的计算我在之...

2022-04-14 20:47:36 13508 4

原创 旅行商问题的手工运算及完整代码(TSP)

目录1.问题描述2.解空间树是排列树3.算法描述4.手工运算第一步:找出每一行的最小值第二步:找较短路径第三步:比较大小5.代码实现(1)分支界限法(2) 回溯法1.问题描述·某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。2.解空间树是排列树3.算法描述·算法开始时创建一个最小堆,用于表示活结点优先队列。·堆中每个活...

2022-04-13 19:10:48 6097 2

原创 计算机组成原理存储系统一章中的那些英语缩写

计算机组成原理是大学计算机学习中必不可少的一门专业课,无论是考研还是找工作都占据着非常重要的地位。存储系统是计组中非常重要但又很难学的一章,很多同学都抱怨说里面的英语缩写太多了,时间长了就不知道这些英语缩写是什么意思了。今天笔者就带着大家总结一下。大家注意序号,我先一一介绍,最后再根据序号进行归纳总结。(1)SRAM --静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以...

2022-04-12 18:35:08 2259

原创 如何构造LL(1)文法预测分析表

这类题型也经常在考试中出现,一般是与判断是否为LL(1)文法放在一起进行考察。这类题目该怎么去做呢?(1)求出每个非终结符的FIRST集和FOLLOW集。(在上一篇文章中已经详细介绍)(2)构造预测分析表:横坐标是所有的非终结符,纵坐标是所有的终结符。(3)使用推导式填表具体规则:以对文法G的每个推导式A->α执行步骤为例(1)对每个α ∈FIRST(α),把A->α加入到M[A,a](2)若ε∈FIRST(α),则对任何b∈FOLLOW(A),把A->ε加至M[A

2022-04-11 20:43:18 9983 4

原创 LL(1)文法的判定及证明

《编译原理》是同学们在大学期间普遍认为比较晦涩难懂的一门课程,笔者认为其原因主要是其中的逻辑性较强,推理过程较为复杂,导致同学们听的是云里雾里。今天给同学们带来的是编译原理中非常重要的一章——自顶向下语法分析方法,这一章有一个考试必考的知识点,那就是LL(1)文法的判断及证明,通俗的来说就是判断一个文法是否为LL(1)文法,笔者给同学们总结了一下解题过程。(1)求出能推出ε的非终结符这一块书上还是讲的十分清晰的,我就直接附图了,大家跟着书上的思路一步一步进行推导,应该没有太大的问题。

2022-04-10 17:39:42 8636 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除