- c++ list头文件 简介 list实际上是双向链表,故亦可称之为doubly-linked list性质 双向链表 双向 双向即给定一个元素,我们能够知道后一个元素和前一个元素list的迭代器是双向迭代器 链表 优点:与向量(vectors)相比,它可以快速的插入和删除–插入和删除操作是常数时间的缺点:随机访问比较慢–元素的访问不是常数时间的,获取元素... c++ list头文件 简介 list实际上是双向链表,故亦可称之为doubly-linked list性质 双向链表 双向 双向即给定一个元素,我们能够知道后一个元素和前一个元素list的迭代器是双向迭代器 链表 优点:与向量(vectors)相比,它可以快速的插入和删除–插入和删除操作是常数时间的缺点:随机访问比较慢–元素的访问不是常数时间的,获取元素...
- 冒泡排序 比较相领的元素 如果第一个比第二个大(升序),就交换他们两个。对每一个相领元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。复杂度计算 最优时间复杂度:O(n) (表示遍历一次发现没有任何可以交换的元素,排序结... 冒泡排序 比较相领的元素 如果第一个比第二个大(升序),就交换他们两个。对每一个相领元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。复杂度计算 最优时间复杂度:O(n) (表示遍历一次发现没有任何可以交换的元素,排序结...
- Python:Python技巧之80个经典题——课程笔记(一) 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40... Python:Python技巧之80个经典题——课程笔记(一) 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40...
- 递归全排列问题(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...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
即将直播
热门标签