摘要: 啊 阅读全文
posted @ 2021-12-17 21:13 林国滨 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1. 对回溯法的理解 回溯法可以系统地搜索一个问题的所有解或任一解,它是一个既带有系统性又带有跳跃性的搜索算法。在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树,算法搜索至解空间树的任一节点时,先判断该节点是否包含问题的解,如果肯定不包含,则跳过对以该节点为根的子树的搜索,逐层向其祖先节 阅读全文
posted @ 2020-12-19 21:39 林国滨 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 1.对贪心算法的理解 顾名思义,贪心算法总是做出在当前看来是最好的选择。也就是说,贪心算法并不从整体最优上加以考虑,所做的选择只是在某种意义上的局部最优选择。 2.程序存储问题 按程序长度从小到大排序,每次存储最小的。 设A是一个最优解,若A中第一个程序不是第一个,则可用第一个代替,代替后也是一个最 阅读全文
posted @ 2020-11-14 22:20 林国滨 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 编辑距离问题 递归方程式: d[i][j]表示字符串a的前i个字符和字符串b的前j个字符的最短编辑距离。 用二维数组填表 填表范围为i从0到a.length(),j从0到b.length(). 填表顺序:先填第0行和第0列。然后按从左到右,从上到下的顺序填。 时间复杂度 O(n^2):填二维数组 空 阅读全文
posted @ 2020-11-01 11:28 林国滨 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目名称 最大子列和问题 2.问题描述 在给出的k个整数中找到最大子列和。(k<=100000) 3.算法描述 int maxsum(int *a, int left, int right) 先调用maxsum(left,mid)求left到mid的最大子列和,再调用maxsum(mid+1 阅读全文
posted @ 2020-10-03 15:16 林国滨 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1.对分治法思想的体会 分治法可以将一个规模较大的问题分解成几个规模较小的问题,这几个小问题与原问题的性质相同。求出了子问题的解,就可以得到原问题的解。有时某些问题要处理的数据相当多,或者求解的过程相当复杂,使得直接求解要花很长时间。对于这类问题,可以先分解成几个子问题,解完子问题后,在解决整个问题 阅读全文
posted @ 2020-10-02 19:17 林国滨 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1. 本学期编码我遵循腾讯编码规范。https://wenku.baidu.com/view/81e1153331126edb6f1a10ef.html# 2. 算法是指解决问题的一种方法或一个过程,在软件开发中,设计出有效的算法将起决定性作用。 在Google的云计算中最重要的MapReduce工 阅读全文
posted @ 2020-09-13 12:17 林国滨 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 第八章给我们介绍了内部排序和外部排序。各种排序方法都有各自的优缺点,没有说哪一种是最好的。直接插入排序、折半插入排序、冒泡排序和简单选择排序的速度较慢,但是它们实现的过程比较简单,所以称他们为简单的排序方法。速度较快的算法称为先进的排序方法,但是实现的过程比较复杂。我们在选择排序方法时,要综合考虑。 阅读全文
posted @ 2020-07-12 21:20 林国滨 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 第七章首先介绍了和查找相关的概念和术语。查找表是由同一类型的数据元素构成的集合。关键字是数据元素中某个数据项的值。在查找的同时对表做修改操作,相应的表称之为动态查找表,否则称为静态查找表。平均查找长度是为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值。然后讲了线性表的三种查找方法: 阅读全文
posted @ 2020-06-28 22:44 林国滨 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 第六章我们学习了图,首先我掌握了一些图的基本术语。例如:对与具有n个顶点的图,无向完全图是指具有n(n-1)/2条边的无向图;有向完全图是指具有n(n-1)条弧的有向图;对于边或者弧比较少的称为稀疏图,反之称为稠密图;顶点的度是指和该顶点相关联的边的数目,对于有向图,顶点的度分为入度和出度,入度是以 阅读全文
posted @ 2020-06-14 23:50 林国滨 阅读(163) 评论(0) 推荐(0) 编辑