- 递归全排列问题(Java实现)问题描述算法1. 固定位置放元素2. 固定元素找位置 递归全排列问题(Java实现) 问题描述 生成 {1,2,…,n} 的所有 n! 个排列 算法 1. 固定位置放元素 算法思想 生成元素{2,3,…,n}的所有排列,并且将元素1放到每个排列的开头生成元素{1,3,…,n}的所有排列,并将数字2... 递归全排列问题(Java实现)问题描述算法1. 固定位置放元素2. 固定元素找位置 递归全排列问题(Java实现) 问题描述 生成 {1,2,…,n} 的所有 n! 个排列 算法 1. 固定位置放元素 算法思想 生成元素{2,3,…,n}的所有排列,并且将元素1放到每个排列的开头生成元素{1,3,…,n}的所有排列,并将数字2...
- 基本概念和术语 数据:客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。如:整数、实数、字符串、图形、图像、声音等经过特殊编码后的数据。数据元素:数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。(数据元素也称为元素、记录等)。数据元素用于完整地描述一个对象,如:学生记录、树中棋盘的一个格局、图中的一个顶点等。数据项:组成数据元素的、有... 基本概念和术语 数据:客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。如:整数、实数、字符串、图形、图像、声音等经过特殊编码后的数据。数据元素:数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。(数据元素也称为元素、记录等)。数据元素用于完整地描述一个对象,如:学生记录、树中棋盘的一个格局、图中的一个顶点等。数据项:组成数据元素的、有...
- 目录 常见错误 bash的-x参数 环境变量 LINENO FUNCNAME BASH_SOURCE BASH_LINENO 常见错误 编写 Shell 脚本的时候,一定要考虑到命令失败的情况,否则很容易出错。 #! /bin/bash dir_name=/path/not/exist cd $dir_namerm * 上面脚本中,如果目录$di... 目录 常见错误 bash的-x参数 环境变量 LINENO FUNCNAME BASH_SOURCE BASH_LINENO 常见错误 编写 Shell 脚本的时候,一定要考虑到命令失败的情况,否则很容易出错。 #! /bin/bash dir_name=/path/not/exist cd $dir_namerm * 上面脚本中,如果目录$di...
- 目录 创建数组 读取数组 读取单个元素 读取所有成员 默认位置 数组的长度 提取数组序号 提取数组成员 追加数组成员 删除数组 关联数组 数组(array)是一个包含多个值的变量。成员的编号从0开始,数量没有上限,也没有要求成员被连续索引。 创建数组 数组可以采用逐个赋值的方法创建。 ARRAY[INDEX]=value 上面语法中,ARRA... 目录 创建数组 读取数组 读取单个元素 读取所有成员 默认位置 数组的长度 提取数组序号 提取数组成员 追加数组成员 删除数组 关联数组 数组(array)是一个包含多个值的变量。成员的编号从0开始,数量没有上限,也没有要求成员被连续索引。 创建数组 数组可以采用逐个赋值的方法创建。 ARRAY[INDEX]=value 上面语法中,ARRA...
- 在日常开发中有很多场景我们都需要用到节流函数和防抖函数,比如:实现输入框的模糊查询因为需要轮询ajax,影响浏览器性能,所以需要用到节流函数;实现手机号、姓名之类的的验证,往往我们只需要验证一次,这个时候我们就需要用到防抖函数;防抖函数的实现 节流函数 顾名思义,就是节省流量节省内存性能的一种函数,可以理解为是一种性能优化方案; 举个例子:一个水龙头一直... 在日常开发中有很多场景我们都需要用到节流函数和防抖函数,比如:实现输入框的模糊查询因为需要轮询ajax,影响浏览器性能,所以需要用到节流函数;实现手机号、姓名之类的的验证,往往我们只需要验证一次,这个时候我们就需要用到防抖函数;防抖函数的实现 节流函数 顾名思义,就是节省流量节省内存性能的一种函数,可以理解为是一种性能优化方案; 举个例子:一个水龙头一直...
- 汉诺塔问题 规则: 每次只能移动一个盘子任意一次移动,三个塔的状态必须是小盘子在上,大盘子在上 方法: n=1:直接把A上的一个盘子移动到C上,A->Cn=2: 把小盘子从A放到B上,A->B把大盘子从A放到C上,A->C把小盘子从B放到C上,B->C n=3: 把A上的两个盘子,通过C移动到B上去,调用递归实现把A上剩下的一个最大盘子移动到C... 汉诺塔问题 规则: 每次只能移动一个盘子任意一次移动,三个塔的状态必须是小盘子在上,大盘子在上 方法: n=1:直接把A上的一个盘子移动到C上,A->Cn=2: 把小盘子从A放到B上,A->B把大盘子从A放到C上,A->C把小盘子从B放到C上,B->C n=3: 把A上的两个盘子,通过C移动到B上去,调用递归实现把A上剩下的一个最大盘子移动到C...
- # 传值和传地址的区别 # 对于简单的数值,采用传值操作,即在函数内对参数的操作不影响外面的变量 # 对于复杂变量,采用传地址操作,此时函数内的参数和外部变量是同一份内容, # 任何地方对此内容的更改都影响另外的变量或参数的使用 def a(n): n[2] = 300 print(n) return None def b(n): n += 100 print(n)... # 传值和传地址的区别 # 对于简单的数值,采用传值操作,即在函数内对参数的操作不影响外面的变量 # 对于复杂变量,采用传地址操作,此时函数内的参数和外部变量是同一份内容, # 任何地方对此内容的更改都影响另外的变量或参数的使用 def a(n): n[2] = 300 print(n) return None def b(n): n += 100 print(n)...
- 插入排序基本思想基本步骤:直接插入排序(基于顺序查找)算法描述算法实现算法分析时间复杂度 —— **O(n^2)**空间复杂度 —— O(1)稳定性 折半插入排序(基于折半查找)算法实现算法分析 插入排序 基本思想 每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。 即边插... 插入排序基本思想基本步骤:直接插入排序(基于顺序查找)算法描述算法实现算法分析时间复杂度 —— **O(n^2)**空间复杂度 —— O(1)稳定性 折半插入排序(基于折半查找)算法实现算法分析 插入排序 基本思想 每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。 即边插...
- Huffman tree基本术语构造 Huffman tree哈夫曼构造算法实现 哈夫曼树的应用哈夫曼编码 Huffman tree 基本术语 路径和路径长度 路径:在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路。结点的路径长度:从一个结点到另一个结点的路径上分支的数目。 结点的权及带权路径长度 结点的权:将树中结点赋予一个... Huffman tree基本术语构造 Huffman tree哈夫曼构造算法实现 哈夫曼树的应用哈夫曼编码 Huffman tree 基本术语 路径和路径长度 路径:在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路。结点的路径长度:从一个结点到另一个结点的路径上分支的数目。 结点的权及带权路径长度 结点的权:将树中结点赋予一个...
- 在一个链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点只保留一个,最后返回链表头指针 例如:链表1->2->3->4->4->5, 处理后为 1->2->3->4->5 class LinkedNode: def __init__(self, x): self.val = x self.next = ... 在一个链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点只保留一个,最后返回链表头指针 例如:链表1->2->3->4->4->5, 处理后为 1->2->3->4->5 class LinkedNode: def __init__(self, x): self.val = x self.next = ...
- 排序(sorting)什么是排序排序的目的是什么?什么叫内部排序?什么叫外部排序?排序算法的好坏如何衡量?排序的分类内部排序外部排序 存储方式 各种排序算法比较排序算法比较排序算法选择规则 排序(sorting) 什么是排序 将一组杂乱无章的数据按一定规律顺次排列起来。 数据表 (datalist):它是待排序数据对象的有限集合。主关键字... 排序(sorting)什么是排序排序的目的是什么?什么叫内部排序?什么叫外部排序?排序算法的好坏如何衡量?排序的分类内部排序外部排序 存储方式 各种排序算法比较排序算法比较排序算法选择规则 排序(sorting) 什么是排序 将一组杂乱无章的数据按一定规律顺次排列起来。 数据表 (datalist):它是待排序数据对象的有限集合。主关键字...
- 栈 定义:只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构:一对一关系存储结构 顺序栈链栈 运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)或先进后出(FILO)的原则实现方式 入栈出栈读栈顶元素值建栈判断栈空判断栈慢清空栈销毁栈 栈的表示和操作的实现 顺序栈的C++代码实现 #include<iostream> using nam... 栈 定义:只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构:一对一关系存储结构 顺序栈链栈 运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)或先进后出(FILO)的原则实现方式 入栈出栈读栈顶元素值建栈判断栈空判断栈慢清空栈销毁栈 栈的表示和操作的实现 顺序栈的C++代码实现 #include<iostream> using nam...
- 链栈 链栈的表示 运算是受限的单链表,只能在链表头部进行操作,故没有必要附加头结点。栈顶指针就是链表的头指针。 C++代码实现 #include<iostream> #include<stdlib.h> using namespace std; #define OVERFLOW -2 #define OK 1 #define ERRO... 链栈 链栈的表示 运算是受限的单链表,只能在链表头部进行操作,故没有必要附加头结点。栈顶指针就是链表的头指针。 C++代码实现 #include<iostream> #include<stdlib.h> using namespace std; #define OVERFLOW -2 #define OK 1 #define ERRO...
- 有一个单向链表,请编写一个函数,将这个单向链表反转,并返回反转后的头节点 ''' ''' class LinkedNode: def __init__(self, x): self.val = x self.next = None def reverseLinked(header): if not header or not header.next: return h... 有一个单向链表,请编写一个函数,将这个单向链表反转,并返回反转后的头节点 ''' ''' class LinkedNode: def __init__(self, x): self.val = x self.next = None def reverseLinked(header): if not header or not header.next: return h...
- 下面的语言中哪些语言是动态语言(B ) A.C B.JavaScript C.C++ D.CSS E.Java F.Objective-C 解析 静态语言(强类型语言) 静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。 例如:C++、Java、Delp... 下面的语言中哪些语言是动态语言(B ) A.C B.JavaScript C.C++ D.CSS E.Java F.Objective-C 解析 静态语言(强类型语言) 静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。 例如:C++、Java、Delp...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签