- 博客(16)
- 收藏
- 关注
原创 图的m着色问题
问题 [描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)] 2. 解析 [问题的理解和推导,可用电子版直接在此编写,也可用纸笔推导,拍照嵌入本文档] 3. 设计 [核心伪代码] 4. 分析 [算法复杂度推导] 5. 源码 https://github.com/lizi196/suan_fa_fen_xi [github源码地址] ...
2021-06-07 14:44:48
128
原创 最优前缀编码
问题 [描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)] 2. 解析 [问题的理解和推导,可用电子版直接在此编写,也可用纸笔推导,拍照嵌入本文档] 3. 设计 [核心伪代码] 4. 分析 [算法复杂度推导] 5. 源码 https://github.com/lizi196/suan_fa_fen_xi [github源码地址] ...
2021-06-07 14:34:42
142
原创 lcs算法
问题 解析 设计 [核心伪代码] 4. 分析 O(mn) [算法复杂度推导] 5. 源码 https://github.com/lizi196/suan_fa_fen_xi [github源码地址]
2021-06-07 13:58:09
184
原创 矩阵链乘法
问题 [描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)] 2. 解析 设计 [核心伪代码] 4. 分析 O(n^3) [算法复杂度推导] 5. 源码 https://github.com/lizi196/suan_fa_fen_xi [github源码地址] ...
2021-06-07 13:54:34
211
原创 背包问题
问题 解析 用暴力法解决0、1背包问题,需要考虑给定n个物品集合的所有子集,找出所有重量不超过背包重量的子集,计算其每个子集的总价值,比较输出价值最大的那个子集。 设计 [核心伪代码] 4. 分析 复杂度分析: 一个具有n个元素的集合,其子集数量为2的n次方,暴力法全集遍历时, 其复杂度为O(2的n次方)。 5. 源码 https://github.com/lizi196/suan_fa_fen_xi [github源码地址] ...
2021-05-24 13:54:11
160
原创 投资问题
问题 解析 设计 分析 W(n,m) =O(n*m^2) 6. 源码 [github源码地址] lizi196/suan_fa_fen_xi (github.com)
2021-05-17 16:29:21
94
原创 选第k小元素:特定分治策略
问题 设L是n个元素的集合,从L中选取第K小的元素,其中1<=K<=n。 解析 如果|S1|等于k,则m*就是所要找的第 k 小的数; 如果|S1|大于等于k,归约为在S1中找第 k1 小的子问题,k 在子问题中相对位置不变,即k=k1 如果|S1|小于等于k,归约为在S2中找 k2 位置的子问题,k2 相对于 S2 子问题和 k 相对 于 S 的关系,即 k2= k-|S1|-1。(在 S 中找 k,就是在 S2中找 k2) 设计 [核心伪代码] 4. 分析 O(n) [算法..
2021-04-26 13:27:24
99
原创 最近对问题
问题 最近对问题 [描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)] 解析 [问题的理解和推导,可用电子版直接在此编写,也可用纸笔推导,拍照嵌入本文档] 3. 设计 2: 分治法。 与合并(归并)排序类似。 分解: 先把所有点按x 升序排序。 再取mid = (l+r) /2; 解决: 左右(返回d1,d2)两边分别递归下去,直到 1 或 2 可以直接返回值。 我们 取 mi = min(d1,d2); 表示当前最小的距离。 合并: 对于分开的两个区间,可能会存在着最短距.
2021-04-19 13:21:13
290
原创 二分归并排序
问题 二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k 解析 这个算法不断地将一个数组分为两部分,分别对左子数组和右子数组排序,然后将两个数组合并为新的有序数组。 设计 分析 O(nlogn) 源码 https://github.com/lizi196/suan_fa_fen_xi ...
2021-03-29 15:42:16
146
原创 检索算法
1. 问题 出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0. 2. 解析 两个方法: 第一种顺序遍历,从小到大依次查找; 第二种二分遍历,从中间往两边查找。 3. 设计 5. 分析 O(n) O(log2(n)) 6. 源码 https://github.com/lizi196/suan_fa_fen_xi ...
2021-03-22 16:07:43
156
原创 2021-03-21
1. 问题 1)用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)。 2)对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。 2. 解析 任意节点i到j的最短路径两种可能: 1)直接从i到j; 2)从i经过若干个节点k到j。map(i,j)表示节点i到j最短路径的距离,对于每一个节点k,检查map(i,k)+map(k,j)小于map(i,j),如果成立,map(i,j) = map(i,k)+map(k,j);遍历每个k,每
2021-03-21 17:40:52
111
原创 Prim算法和Kruskal算法的最小生成树
问题 1举一个实例,画出采用Prim算法构造最小生成树的过程,并按实验报告模板编写算法。 2举一个实例,画出采用Kruskal算法构造最小生成树的过程,并按实验报告模板编写算法。 [描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)] 2. 解析 prim算法,就是从顶点出发,每次加入一条最小权的边和对应的顶点,逐渐生成树。 Kruskal算法,就是将各条边,按照从小到大排序后,参考联连通分量顺序构造,以生成最小树。 [问题的理解和推导,可用电子版直接在此编写.
2021-03-14 22:55:05
421
原创 Java 多态
Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作。 多态性是对象多种表现形式的体现。 事物在运行过程中存在不同的状态。 现实中,比如我们按下 F1 键这个动作: 1.如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 2.如果当前在 Word 下弹出的就是 Word 帮助; 3.在 Windows 下弹出的就是 Windows s帮助和支持。 同一个事件发生在不同的对象上会产生不同的结果。 多态的存在有三个前提: 1.要有继
2021-01-08 22:10:45
137
原创 JAVA中的抽象类与接口
JAVA中的抽象类与接口 接口和抽象类的区别: 接口和抽象类是支持抽象类定义的两种机制。 接口是公开的,不能有私有的方法或变量,接口中的所有方法都没有方法体,通过关键字interface实现。 抽象类是可以有私有方法或私有变量的,通过把类或者类中的方法声明为abstract来表示一个类是抽象类,被声明为抽象的方法不能包含方法体。子类实现方法必须含有相同的或者更低的访问级别(public->protected->private)。抽象类的子类为父类中所有抽象方法的具体实现,否则也是抽象类。 接口
2021-01-08 20:24:41
139
原创 Java 正则表达式
正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 一个案例:查看字符串的包含关系 • Pattern 类: pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。 • Matcher 类: Matcher 对象是对输入字符串进行解释和匹配操作的
2021-01-08 20:19:07
94
原创 Eclipse上安装GIT插件EGit
一、Eclipse上安装GIT插件EGit Eclipse的版本(Eclipse IDE for Java Developers - 2020-09) EGit插件地址:http://download.eclipse.org/egit/update 安装后进行重启Eclipse。 二、在Eclipse中配置EGit 1.需要先在https://github.com 上注册账号 三、新建项目,并将代码提交到本地的GIT仓库中 1.新建项目 git_demo,并新建HelloWorld.j
2021-01-08 20:11:01
784
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅