自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 bandit agent下棋AI(python编写) 通过强化学习RL 使用numpy

一直觉得阿法狗很厉害但离我很遥远,第一次尝试写了一个下棋AI,对战随机agent能有近乎全胜的胜率 还是挺开心的。

2022-10-11 04:52:07 1277 2

原创 【6月第一周学习记录】UU-Computer vision(1):3D reconstruction&Camera calibration

世界坐标系→相机坐标系:把物体的世界坐标系先旋转,与相机坐标系对齐,然后平移首先,绕X轴旋转:X不变注意:要变换某个坐标系,都是用变换矩阵对其进行左乘这就是相机的外参数(Extrinsics):*把加号融入进变换矩阵的行为,就是转化为了齐次幻灯片来源:PP_AI的个人空间_哔哩哔哩_Bilibili ,感谢老师......

2022-06-07 00:37:42 217

原创 【6月第一周学习记录】Utrecht University Game&Media Technology-Computer vision计算机视觉(0):一点Linear Algebra基础

1. Matrix rotation and translation矩阵四则运算和平移旋转2. homogeneous coordinates: geomatric operations齐次坐标系中的一些几何变换操作方法位移是依据坐标系的;使用齐次坐标系,可以在尺寸不变的情况下给一个平移量。...

2022-06-05 02:24:53 240

原创 【4月第四周学习记录】数据结构与算法王卓-第八章排序-总结

目录0. 总结表1. 时间性能比较2. 空间性能比较3. 稳定性比较4. 不同情况下的时间复杂度比较0. 总结表1. 时间性能比较· 其中,快排的空间复杂度较高(需要调用栈),而且它是个特例,越乱才能越快,基本有序反而会退化为原始冒泡,时间复杂度退化为O(n²) ;· 直接插入和冒泡的自然性很强,如果原始序列接近有序,则它们的时间复杂度可以接近O(nlogn);· 简单选择排序,堆排序,归并排序属于非自然排序,它们的时间性能与原始序列无关。2. 空间性

2022-04-26 03:55:15 221

原创 【4月第四周学习记录】数据结构与算法王卓-第八章排序-归并排序与基数排序

1. 归并排序思想· 将两个或两个以上的序列归并为一个有序序列· 在内部排序中,通常使用2-路归并排序例:​归并树树的深度与归并次数直接有关:,树的深度应为log2n(向上取整)+1关键操作:如何合并两个有序序列成为一个有序序列?思路将二者的第一位元素相比较,若相同则一起移动到LC;若有大小之分,则将较小的移动到LC。依此顺序,直到任一个表为空,则将非空表内元素统一移动到LC。细节传送门:【2月第四周学习记录】数据结构与算法王卓-第二章线性表-.

2022-04-26 03:25:13 256

原创 【4月第四周学习记录】数据结构与算法王卓-第八章排序-选择排序(简单选择排序,堆排序)

目录1. 简单选择排序性能分析2. 堆排序Q:如何在每次输出后,将剩下的元素自动调整为新的堆?Q:如何建立一个新的堆?堆排序(伪代码)性能分析1. 简单选择排序伪代码性能分析时间复杂度为O(n²),空间复杂度为O(1); 直接插入属于不稳定排序。2. 堆排序小根堆,大根堆的定义:(i 的关系很容易联想到二叉树)堆排序的定义两个问题:如何由无序序列建立一个堆? 如何在每次输出后,将剩下的元素自动调整为新的堆?不...

2022-04-26 02:41:13 819

原创 【4月第四周学习记录】数据结构与算法王卓-第八章排序-交换排序(冒泡排序,快速排序)

目录0. 交换排序是什么?​1. 冒泡排序伪代码改进后的冒泡排序-伪代码性能分析2. 快速排序伪代码性能分析3. 总结0. 交换排序是什么?思路如下:1. 冒泡排序例:设有n个元素,可见循环执行m =n-1次,每次交换 n-m次.伪代码改进思路改进后的冒泡排序-伪代码性能分析2. 快速排序例:伪代码找中间点的函数Partition有关性能快速排序的时间复杂度...

2022-04-26 00:19:51 1028

原创 【4月第四周学习记录】数据结构与算法王卓-第八章排序-插入排序(直接插入排序,希尔排序)

0. 排序的概念1. 直接排序2. 折半排序3. 希尔排序

2022-04-25 04:16:23 474

原创 【4月第三周学习记录】数据结构与算法王卓-第七章查找-Hash表的查找

目录1. hash表的概念2. hash表有关术语3. 构建一个好的hash表需要...?三个关键问题要解决构造hash表考虑的五个因素4. 散列函数的构造方法直接定址法除留余数法5. 解决冲突的方法——开放地址法线性探测法二次探测法伪随机探测法6. 解决冲突的方法——链地址法(hash表的链式存储)7. hash表的查找方法与效率分析(ASL)8. 几点结论1. hash表的概念存储理念:存储位置与数据关键字相关,不连续;而不是申请一

2022-04-24 04:25:04 154

原创 【4月第三周学习记录】数据结构与算法王卓-第七章查找-树表的查找(平衡二叉树)(不附代码)

0. 平衡二叉树的来历树的形态更加均衡,可以降低时间复杂度,1. 平衡二叉树的定义(Adelson-Velskii and Landis,AVL)一颗平衡二叉树是空树,或者是一颗二叉排序树,且:左子树与右子树的高度差绝对值小于等于1 左子树与右子树为平衡二叉排序树为了方便,给每个结点定义一个平衡因子BF(Balance Factor?)描述该结点左右子树的高度差。由平衡二叉树的定义得,平衡二叉树的任一结点的BF应为-1, 0或 1例:保持log2n高度也就保证了时间效..

2022-04-24 01:16:19 266

原创 【4月第三周学习记录】数据结构与算法王卓-第七章查找-树表的查找(二叉排序树)(不附代码)

目录0. 树表查找的来历1. 二叉排序树(二叉查找树,二叉搜索树)是什么?2.二叉排序树的查找算法思路存储结构查找算法(伪代码)3.二叉排序树的查找算法的效率分析如何确定查找次数平均查找长度ASL4. 二叉排序树的操作(思路)生成二叉排序树插入结点删除结点0. 树表查找的来历主要研究前两种1. 二叉排序树(二叉查找树,二叉搜索树)是什么?二叉排序树是空树,或:其根节点的左子树非空,且所有结点比根节点小 其根节点的右子树非空..

2022-04-20 00:01:42 132

原创 【4月第三周学习记录】数据结构与算法王卓-第七章查找-线性表的查找

1. 线性表的查找分类顺序查找(线性查找) 折半查找(二分查找) 分块查找2. 顺序查找由数组或链表表示的静态查找表 表内元素是无序的哨兵设置哨兵在a[0]处,可以使for语句减少一半的比较次数,最终减少算法约一半的运行时间:注意:for后面要加分号,不然if就成了循环语句时间效率分析思考:如何减少比较次数,增加效率1. 事先知道使用频率:将使用频率高的靠后存储(从后往前查找,哨兵在A[0])2. 事先不知道使用频率:动态存储,给每个元素多设一个频度域.

2022-04-19 22:54:02 302

原创 【4月第二周学习记录】数据结构与算法王卓-第七章查找-查找的基本概念

在哪里查找?在查找表中查找可以将数据元素存储到栈,树,散列表等,具体问题具体分析。用什么查找?主关键字:可以找到唯一的目标的关键字,如准考证号。次关键字:可以找到不唯一的目标的关键字,如姓名,籍贯等。查找成功的标志?查找成功:给出存在,元素信息,或元素的位置查找不成功:返回空记录,空指针,-1等查找的目的?有时候是为了确定是否存在,如有没有这个人;有时候是为了定位,并作进一步的增删查改的操作。查找的分类?静态查找表:只需要查看表,不作任何修改动态查找表

2022-04-16 23:03:47 156

原创 【4月第二周学习记录】数据结构与算法王卓-第六章图-图的应用:拓扑排序、关键路径

目录1. 有向无环图是什么?2. AOV网与AOE网是什么?3. 拓扑排序是什么?4. 了解关键路径之前要知道的5. 关键路径是什么?1. 有向无环图是什么?有向无环图(Directed Acycline Graph, DAG): 无环的有向图2. AOV网与AOE网是什么?结点vertex表示活动,AOV; 边edge表示活动的网,AOE。AOV网例:AOV网的特点:思考:如何判断AOV中是否存在回路?3. 拓扑排序是什么?在AO

2022-04-15 22:19:38 320

原创 【4月第二周学习记录】数据结构与算法王卓-第六章图-图的应用:最短路径(不附代码)

1. 什么是最短路径问题?一个图让你明白:2. 什么是最短路径?最短路径是指从A到B一条权值和最低的路径。PS:很容易会联想到最小生成树,也是权值和最低。但是不同是:1. 最短路径不一定要包含所有的顶点,而最小生成树一定要。2. 最短路径不一定要包含n-1条边,而最小生成树一定要。有两类最短路径问题:类型一:两点间最短路径(类似已知起点终点导航)类型二:从某点到其它各点的最短路径(类似已知出发地做旅游攻略)3. Dijkstra算法适用于类型一:两

2022-04-15 14:03:40 375

原创 【4月第二周学习记录】数据结构与算法王卓-第六章图-图的应用:最小生成树(不附代码)

目录1. 生成树是什么?2. 如何构造生成树?3. 最小生成树是什么?有什么应用?4. 构造最小生成树(Minimum Spanning Tree)4.1 Prim算法4.2 Kruskal算法4.3 两种算法的比较1. 生成树是什么?生成树:所有顶点均由边连接在一起,且不存在回路,如:有n个顶点的连通图的生成树有n-1条边,但有n个顶点n-1条边的图不一定是生成树,因为少了连通图这个限制, 如:2. 如何构造生成树?使用图的遍历,记录走过的路径.

2022-04-14 16:04:46 158

原创 【4月第二周学习记录】数据结构与算法王卓-第六章图-图的遍历(邻接矩阵与邻接表,DFS与BFS)

1. 深度优先搜索遍历与广度优先搜索遍历​2.深度优先搜索遍历(Depth-First Search, DFS)思路一条道走到黑,然后回头找分岔路。PS: 就像玩游戏一口气玩到通关,回头找彩蛋时间复杂度与空间复杂度:DFS与BFS的比较空间复杂度相同,两种算法都借助的是栈或队列。使用邻接表描述图进行BFS算法,则除了邻接表以外,再引入一个辅助队列。(由树的层次优先遍历算法启发,依次根结点入队时间复杂度与算法无关,只与存储结构有关,若为邻接矩阵则为O(n²),若为邻接表则为O(n+e)

2022-04-14 11:07:22 2655

原创 数据结构与算法王卓-习题-第六章图-采用邻接表表示图的深度优先搜索遍历(DFS)算法

目录算法描述算法预期效果思路个人解法测试样例与输出(用的邻接矩阵的点阵图)算法描述创建无向图及其邻接表,打印。接着使用DFS进行图的遍历,打印。注:注意是连通图算法预期效果依次输入顶点数,边数,顶点V1~Vn,每条边依附的两个顶点,根据输入的顶点与边的关系,以链表结构构建无向网,与其邻接表。打印出邻接表,接着使用DFS进行深度优先遍历,输出所有结点。思路图来自王老师课件, 其实有邻接矩阵DFS经验的话这里可以直接写了个人解法#include

2022-04-14 11:00:41 1147

原创 数据结构与算法王卓-习题-第六章图-采用邻接表表示图的广度优先搜索遍历(BFS)算法

目录算法描述算法预期效果重难点思路个人解法总结测试样例与输出参考资料算法描述创建无向图以及其邻接表,打印关系, 并输出bfs广度优先搜索遍历结果算法预期效果依次输入顶点数,边数,顶点V1~Vn,每条边依附的两个顶点,根据输入的顶点与边的关系,以链表结构构建无向网,与其邻接表。打印出邻接表,接着使用BFS进行广度优先遍历,输出所有结点。重难点FirstAdjVex和NextAdjVex的定义(最后没有额外声明,逻辑放在bfs内部了);vst怎么优雅的

2022-04-13 23:19:22 548 1

原创 数据结构与算法王卓-习题-第六章图-创建无向图以及邻接表

目录算法描述算法预期效果重难点思路个人解法总结测试样例与输出算法描述创建无向图以及其邻接表,并打印关系算法预期效果依次输入顶点数,边数,顶点V1~Vn,每条边依附的两个顶点,根据输入的顶点与边的关系,以链表结构构建无向网,与其邻接表。打印出邻接表PS:之后会写基于此篇内容的BFS与DFS算法,可以看后序文章。重难点没什么重难点,别犯小错误吧。思路盗一张自己的图(王老师课件的)个人解法#include <iostrea

2022-04-13 18:38:07 950 1

原创 数据结构与算法王卓-习题-第六章图-采用邻接矩阵表示图的广度优先搜索遍历(BFS)算法

目录算法描述算法预期效果重难点个人解法总结测试样例与输出算法描述创建图的邻接矩阵, 并输出bfs广度优先搜索遍历结果算法预期效果依次输入顶点数,边数,顶点V1~Vn,边A1~An,根据输入的顶点与边的关系,输出形如右边的邻接矩阵,接着使用BFS进行广度优先遍历,输出所有结点。效果一:输出形如右边的邻接矩阵效果二:输出类似右下角的遍历结果重难点使用非递归的结构,如何有序且不重复的遍历结点;visited数组如何声明与引用个人解法#inc

2022-04-11 19:40:32 1658

原创 数据结构与算法王卓-习题-第六章图-采用邻接矩阵表示图的深度优先搜索遍历(DFS)算法

目录算法描述算法预期效果重难点思路个人解法总结测试样例与输出算法描述创建图的邻接矩阵, 并输出dfs深度优先搜索遍历结果算法预期效果依次输入顶点数,边数,顶点V1~Vn,边A1~An,根据输入的顶点与边的关系,输出形如右边的邻接矩阵,接着使用DFS进行深度优先遍历,输出所有结点。效果一:输出形如右边的邻接矩阵效果二:输出类似右下角的遍历结果重难点个人认为难点一是理解递归的结构,以及如何回退;难点二是visited数组如何声明与引用思路.

2022-04-10 20:03:42 982

原创 数据结构与算法王卓-习题-第六章图-创建无向图以及邻接矩阵

目录算法描述算法预期效果重难点思路个人解法总结测试样例与输出算法描述创建无向图的邻接矩阵算法预期效果依次输入顶点数,边数,顶点V1~Vn,边A1~An,根据输入的顶点与边的关系,输出形如右边的邻接矩阵重难点本身此问题较简单,所以没什么重难点。稍微有点考虑的可能是:输出矩阵如何换行,如何根据输入边的关系转化为数组下标(也就是王老师课程中的Locate函数)思路盗一张自己的图(王老师课件的)个人解法#include <i..

2022-04-10 16:20:38 2217

原创 【4月第一周学习记录】数据结构与算法王卓-第六章图-图的存储结构

1. 图的逻辑结构图的逻辑结构是多对多的关系。图没有顺序存储结构,但仍然可以用二维数组表示元素之间的关系这就是邻接矩阵(数组)表示法思考如果使用链式存储结构,一个结点需要多少个指针域呢?由于不好确定,图很难用多重链表的形式表现。一般使用邻接表,邻接多重表,十字链表来表示。2. 图的表示方法下面介绍邻接矩阵表示法和邻接表表示法。2.1 邻接矩阵(数组)表示法 (AMG — Adjacency Matrix Graph)无向图将顶点和边分开存储。存储顶点的叫顶点表,是

2022-04-09 12:27:01 496

原创 【4月第一周学习记录】数据结构与算法王卓-第六章图-图的基本概念和术语

图的定义图是包含有穷边和顶点的集合无向图,有向图与完全图无向图中称作边,有向图中称作弧无向图与有向图无向完全图与有向完全图图中边的数量:无向完全图:有向完全图:,为无向完全图的两倍,因为每条线分裂为正向与反向。稀疏图,稠密图与网稀疏图:有很少边或者弧的图,稀疏图:有很多边或者弧的图网:边/弧带权值的图邻接,关联(依附)邻接描述的是顶点间的关系关联描述的是边与顶尖间的关系TIP:(vi,vj)圆括号代表无向图,< v...

2022-04-06 02:59:30 226

原创 【4月第一周学习记录】数据结构与算法王卓-第五章树和二叉树-哈夫曼编码

1. 定长编码方式缺点:占用空间较多改进方式:如果按照哈夫曼树的思想,给使用频率多的字符一个短编码,则转换后的字符串也会大幅缩短。

2022-04-04 10:47:36 1062

原创 数据结构与算法王卓-习题-第五章树和二叉树-哈夫曼编码

1. 简介编写代码,能实现对用户输入的数据进行哈夫曼编码,返回哈夫曼编码表。测试样例与输出输入:共7位数字,下图 i = 1~7中的weight (在测试时0.4将用40代替,0.3用30代替,0.15用15代替,以此类推)。TIP:如果要用小数输入,请将代码部分int 改为 float输出:HC[i],即哈夫曼编码表。2. 代码#include <iostream>using namespace std;typedef struct { i..

2022-04-04 10:00:49 1172 2

原创 【3月第五周学习记录】数据结构与算法王卓-第五章树和二叉树-哈夫曼树(构造算法篇)

1. 构造哈夫曼树的基本思想核心思想具体步骤将所有结点都视为根,以最小的两个组成二叉树,二叉树的权值=两者权之和,如此反复。例:规律1. 哈夫曼树中只有度为0(初始结点,也是叶子节点)和度为2的结点,没有度为1的结点。2. 若给定n个结点构造哈夫曼树/一颗有n个叶子结点的哈夫曼树,共有2n-1个结点。原理:n个结点两两合并,共需合并n-1次,所以会诞生n-1个新结点(度为2,连接两子树)。则一共拥有2n-1个结点,其中n个为叶子结点(初始结点)2. 代码.

2022-03-29 20:43:13 1532

原创 【3月第四周学习记录】数据结构与算法王卓-第五章树和二叉树-哈夫曼树(基本概念篇)

1. 引入为了操作数最低,应当将可能性最高的选项置于最先判断。如下图,左边的算法相比右边的算法,仅改变了判断顺序,就减少了约1/3的判断次数。针对以上问题,不同树的判别效率差距明显。那么对于不同的问题,如何找到最优的判断树呢?这就是哈夫曼树 (最优二叉树) 的研究。2.基本概念术语路径:结点A到结点B的所有分支称为路径结点的路径长度:两结点间路径上的分支数树的路径长度:从树的根节点(树根)到每一个结点的路径长度之和。记作TL例:结点数目均为9的两棵树.

2022-03-24 21:02:53 500

原创 【3月第四周学习记录】数据结构与算法王卓-第五章树和二叉树-树和森林(转换与遍历)

1. 树与二叉树的转换转换原理二叉树是最简单的树,于是将树转换成二叉树利于操作。从何处下手呢?不论是树还是二叉树,都可以用二叉链表操作。所以将二叉链表作为媒介,完成两者的转换。这里的转换不是指复制!!不是指复制!!不是指复制!!=========================================================================转换:给定一棵树,可以找到一个唯一的二叉树与之对应,称为转换。规律:二叉存储的树在转换为二叉树后,兄弟关系变为

2022-03-23 20:18:12 511

原创 【3月第四周学习记录】数据结构与算法王卓-第五章树和二叉树-树和森林(存储结构篇)

目录1. 树和森林的关系2. 树的存储结构双亲表示法孩子链表二叉树/二叉链表表示法(最常用)1. 树和森林的关系树和森林之间是可以相互转换的:将树的根节点去掉,就成了森林;给森林加上一个共有的根节点,就成了树。2. 树的存储结构双亲表示法特点: 找parent结点简单,找child难适用场景:经常需要找某结点的parent结点的情况函数定义第一框为定义结点,第二框为定义树结构。孩子链表特点: 找child容易,找parent..

2022-03-23 16:40:04 391

原创 【3月第四周学习记录】数据结构与算法王卓-第五章树和二叉树-线索二叉树

目录线索二叉树的由来线索二叉树的创建方法代码实现改进:给线索二叉树增加头结点线索二叉树的由来在二叉树中,寻找某结点,以及其左右子树较为简单方便,但当要寻找其在特定序列(前/中/后序序列)中的位置则很复杂。如:已知二叉树结构如下图,获取结点 D 在 前序遍历 中的前驱与后继。(粗体表示可以替换)解决方法1: 以该遍历顺序重新遍历一次二叉树,获取相应序列 (费时间,费空间)解决方法2: 给每一个结点增加指针域,存储前驱与后继 (费空间)解决方法3:利用二叉树...

2022-03-22 18:24:44 654

原创 【3月第四周学习记录】数据结构与算法王卓-第五章树和二叉树-二叉树的遍历(算法实现篇)

1. 二叉树的建立算法描述参数共一个:树名。效果为建立一颗二叉树。以按先序遍历序列建立二叉树为例:已知先序序列为:ABCDEGF,则可以建立n种二叉树,例如:当然,结果是不唯一的,且不止以上两种。为了避免这种情况,建立出目标二叉树,应该将空结点也输入:所以输入时,就不能输入ABCDEGF,而要在其中按顺序插入空结点。这就是已知序列建立二叉树的第一步:从键盘中输入二叉树的结点信息(包含何处为空结点)建立二叉树的存储结构效果为获得一棵树的深度。算法思路1. 检测是否为空树2. 访问根节点,获取返回值递归

2022-03-22 17:10:53 1084

原创 【3月第四周学习记录】数据结构与算法王卓-第五章树和二叉树-二叉树的遍历(算法实现篇)

1. 先序/中序/后序遍历算法算法以一棵树为单位,使用一种嵌套递归的结构,不断地调用自身以完成遍历。例:先序遍历算法的运行过程最后得到先序序列: ABDC总结其实三种算法的访问路径均相同,只是访问某结点的时机不同。对于某些结点,有点“过家门而不入”的味道时间复杂度与空间复杂度总共有n个结点,则时间复杂度为O(n)空间复杂度上,如果路过某结点但不访问,则需要先进行储存进栈内。最坏情况下(右单支树),共有n个结点,则需要储存n个结点。故空间复杂度也为O(n).

2022-03-21 19:29:54 831

原创 【3月第三周学习记录】数据结构与算法王卓-第五章树和二叉树-二叉树的遍历(基本概念篇)

1. 遍历二叉树1.1 基本概念定义沿着某一条路径访问二叉树的每一个结点,使每个结点仅访问一次(类似一笔画,不回笔)TIP:访问又称周游。不应该破坏原来的数据结构目的得到一个二叉树的结点数据组成的线性排列意义二叉树中,遍历/访问算法是增、删、查、改的前提,非常重要1.2 遍历方法若二叉树根结点称为D, 左子树称为L,右子树称为R,则遍历二叉树的方式共六种:先左后右:LDR, DLR, LRD先右后左:DRL, RDL, RLD取先左后右的前三种方式进行研究

2022-03-20 19:26:54 644

原创 【3月第三周学习记录】数据结构与算法王卓-第五章树和二叉树-二叉树的存储结构

目录1. 二叉树的两种存储结构2. 二叉树的顺序存储3. 二叉树的链式存储结构二叉链表三叉链表1. 二叉树的两种存储结构2. 二叉树的顺序存储思路将树的结点补全至完全二叉树(空子树也编号)后,按满二叉树的节点顺序,存进数组代码实现顺序存储法的优缺点优点是可以在存储时包含逻辑关系;缺点是存储如右单支树,则会非常浪费空间3. 二叉树的链式存储结构二叉链表每个节点共包含一个数据域,两个指针域函数定义BiNode被定义为这.

2022-03-19 01:31:49 523

原创 【3月第三周学习记录】数据结构与算法王卓-第五章树和二叉树-二叉树与完全二叉树的性质

目录1. 二叉树每层拥有的最多结点数2. 二叉树总共拥有的最多结点数3. 叶子数量与度为2的结点数量的关系4. 完全二叉树中深度k与结点个数n的关系5. 完全二叉树中根据结点编号判断结点性质,以及parent结点的编号与child结点编号的关系1. 二叉树每层拥有的最多结点数性质1:二叉树的第i层上最多有个结点证:使用归纳法2. 二叉树总共拥有的最多结点数性质2:k层二叉树最多总共有个结点证:由性质1,将每层的最大结点数累加补充:等比数列求

2022-03-18 20:36:03 644

原创 【3月第三周学习记录】数据结构与算法王卓-第五章树和二叉树-基本定义和术语篇

0. 前言数据的逻辑结构之前的学习一直是围绕着线性结构,它的逻辑结构是一对一的:任意元素的前驱与后继都只有一个。而从现在开始就迈入了非线性结构的学习。1. 树的定义树是一种经典的递归结构。...

2022-03-17 22:29:31 1042

原创 数据结构与算法王卓-习题-第四章串的匹配算法-病毒感染检测(KMP算法)

目录问题重难点测试样例及输出思路个人解法总结输出结果问题输入患者基因与病毒基因序列,测试目标是否感染病毒重难点病毒为环状结构,以输入baa为例,baa对应3种结构baa,aab,aba。感染每一种都算阳性,显示YES。测试样例及输出思路与bf算法相同,先将病毒的字符串翻倍,头指针从第一位开始,每次右移一位,取n次(n为病毒字符串长度)长度为n的字符串(准确的说是改变指针,而没有切割串)逐一与患者基因序列比对。在kmp算法中,尝试过不分解..

2022-03-17 04:44:09 3627

原创 数据结构与算法王卓-习题-第四章串的匹配算法-病毒感染检测(BF暴力匹配算法)

问题输入目标基因与病毒基因,测试目标是否感染病毒重难点病毒为环状结构,以输入baa为例,baa对应3种结构baa,aab,aba。感染每一种都算阳性,显示YES。测试样例及输出个人解法#include <iostream>using namespace std;#define MAXLEN 10 //最多10个字符,如果需要更大空间请改这里typedef struct { char ch[MAXLEN+1]; int length; }SStrin.

2022-03-16 21:36:16 2721

空空如也

空空如也

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

TA关注的人

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