| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 算法复习——填空题 -> 正文阅读 |
|
[数据结构与算法]算法复习——填空题 |
算法复习算法填空题子集生成给定一个正整数集合X={x1,x2, ... , xn}和一个正整数y,设计一个回溯算法求集合x的一个子集Y,使得Y中的元素之和等于y 算法如下: 输入:数组x,解向量p,开始下标from,目标y 输出:true或者false 1.若X[from]等于y,则p[from] = 1,返回ture//找到解 2.若X[from]大于y,则p[from] = 0,返回false//剪枝回溯 3.置p[from] = 1 3.1调用本算法,参数X,p,from+1,y-X[from]; 3.2若算法返回true,则找到一组解,返回true 4.置p[from] = 0 4.1调用本算法,参数X,p,from+1,y 4.2若算法返回true,则找到一组解,返回true 代码:
全排列生成给定一个 没有重复 数字的序列,返回其所有可能的全排列。 算法如下: 全局变量:数组P存放符合条件的结果,对象数组result,存放结果,used Boolean[]数组,判断是否使用过 输入:数组X 输出:无 1:若数组P的长度等于X的长度,则将数组P添加到result数组中 2:循环遍历数组X[i] 2.1如果used[i]为真,则continue 2.2把used[i]置为真,并且将X[i]添加到P中 2.3再次调用本算法 2.4将X[i]从P中移除,将used置为false
最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 用动态规划法求两个字符串A="xzyzzyx"和B="zxyyzxz"的最长公共子序列。写出求解过程。 设的最长公共子序列的长度。动态规划函数定义为: 状态矩阵定义为: 长度矩阵、状态矩阵如下:
长度矩阵L
状态矩阵S 由长度矩阵可知,A和B的最大公共子序列长度为4。最大公共子序列为:xyyx、xyzx、zyyx、xyzz、zyzz等。
最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 动态规划函数定义为: L(i)=max(L(i-1)+nums[i],nums[i]) 输入:nums = [-2,1,-3,4,-1,2,1,-5,4],对应的状态如下 状态矩阵:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 14:33:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |