软件工程师笔记
文章平均质量分 55
软件工程师笔记
莫名其妙的代码
这个作者很懒,什么都没留下…
展开
-
软件设计师学习笔记——数据结构——其他
这里讲的是一些不是很重要的东西,但也能讲讲的东西。学过C语言等等程序的同学,应该就知道了。我们先假设有n个数据元素组成的num数组,除了下标为0和num.Length-1外,都拥有一个前驱和后驱。因此我们可以从关系,就可以认为它是线性的。毕竟num[1]与num[2]就仅仅只是==++==,罢了。OK,了解过后我们就可以,说说它的特点:矩阵特殊矩阵:就是矩阵的元素的分布是拥有一定的规律,而这个元素是指所有元素(包括0)。常见的有:对称矩阵,三角矩阵,对角矩阵等等。这里就不过多说明了。稀疏矩阵:指一个原创 2022-06-28 12:58:41 · 84 阅读 · 0 评论 -
软件设计师学习笔记——数据结构——生成树
图的最小生成树的算法有两种:Prim , Kruskal。Prim(普里姆):就是将定点分为两种,一种是以选定点集合,另一种是未选定点集合。下面是程序运行步骤:Kruskal(克鲁斯卡尔):就是将每一条边的权值由小到大排列,然后由小到大,一条一条添加,直到产生回路的时候,就跳过这个边的添加,执行下一条边的添加,直到已经添加N-1条边的时候,最小生成树完成。这里使用文字时很难进行说明的,需要动画的形式表达这里十分推荐去 BV1Eb41177d1 这个视频简单易懂。当然作者现在不会manim,所以只能使用别原创 2022-06-28 13:15:39 · 219 阅读 · 1 评论 -
软件设计师学习笔记—数据结构—KMP
首先,给两个字符串两个string类型的字符串然后这两个字符串一对一比较,但是这种方法是很慢的。毕竟要从头匹配到尾,需要很长的时间最简单的匹配算法演示但是这种方法有几个特点:因此我们会对其进行改进,而得到KMP算法,它与最简单的字符串匹配算法不同,其实就是省略一部分重复的字串,而这一部分就会用一个Next[],存放。而KMP算法的核心差不多也是Next数组推导。Get_next()图下就是KMP算法的实现了KMP代码实现然后我们就来看代码的时间时间分析我们可以看到第一个就是简单的原创 2022-06-28 12:55:42 · 238 阅读 · 0 评论 -
软件设计师学习笔记——数据结构——广义表
它与线性表最大的区别就是:其中的子表也可以是广义表本身或者是另外一个广义表。而它的长度是元素的个数,深度是他的最大层数。这里由两个东西需要简单的说明一下,原子和子表原子可以理解为元素,子表可以理解为另一个表由于广义表的结构的复杂,各种的运算不如线性表简单,所以这里就只讨论的两个重要的运算。特点:这种特殊的表,是一种层次的非线性的结构,一般采用链式结构。图上,就是单个元素广义表。图上,就是有一个广义表的广义表。图上,就是指向自己的广义表。即使,我没有对其讲解,其实看这三个图,多多少少也能看的出来,原创 2022-06-28 13:13:09 · 146 阅读 · 0 评论