- 在一个链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点只保留一个,最后返回链表头指针 例如:链表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...
- 查找的基本概念查找算法的评价指标线性表的查找顺序查找顺序查找的性能分析顺序查找算法特点 折半查找算法描述折半查找性能分析 分块查找(块间有序,块内无序)分块查找性能分析分块查找优缺点 查找的基本概念 查找表:由同一类型的数据元素(或记录)构成的集合静态查找表:查找的同时对查找表不做修改操作(如插入和删除)动态查找表:查找的同时对查找表... 查找的基本概念查找算法的评价指标线性表的查找顺序查找顺序查找的性能分析顺序查找算法特点 折半查找算法描述折半查找性能分析 分块查找(块间有序,块内无序)分块查找性能分析分块查找优缺点 查找的基本概念 查找表:由同一类型的数据元素(或记录)构成的集合静态查找表:查找的同时对查找表不做修改操作(如插入和删除)动态查找表:查找的同时对查找表...
- 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注... 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注...
- 链队列 空队列 元素x入队列 元素y入队列 元素x出队列 C++代码实现 /*------链队列基本操作-------*/ /* front指针指向头结点(第一个结点的前一个) rear指针指向最后一个结点 */ #include<iostream> #include<stdlib.h> using namespace std; ... 链队列 空队列 元素x入队列 元素y入队列 元素x出队列 C++代码实现 /*------链队列基本操作-------*/ /* front指针指向头结点(第一个结点的前一个) rear指针指向最后一个结点 */ #include<iostream> #include<stdlib.h> using namespace std; ...
- 快速排序基本思想算法实现算法分析 快速排序 基本思想 任取一个元素 (如第一个) 为中心所有比它小的元素一律前放,比它大的元素一律后放,形成左右两个子表;对各子表重新选择中心元素并依此规则调整,直到每个子表的元素只剩一个 算法实现 int Partition(SqList &L, int low, int... 快速排序基本思想算法实现算法分析 快速排序 基本思想 任取一个元素 (如第一个) 为中心所有比它小的元素一律前放,比它大的元素一律后放,形成左右两个子表;对各子表重新选择中心元素并依此规则调整,直到每个子表的元素只剩一个 算法实现 int Partition(SqList &L, int low, int...
- 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。 举个例子,假设有个名为 flatten 的函数可以做到数组扁平化, var arr = [1, [2, [3, 4]]];console.log(flatten(arr)) // [1, 2, 3, 4] 我们最一开始能想到的莫过于循环数组元素,如果... 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。 举个例子,假设有个名为 flatten 的函数可以做到数组扁平化, var arr = [1, [2, [3, 4]]];console.log(flatten(arr)) // [1, 2, 3, 4] 我们最一开始能想到的莫过于循环数组元素,如果...
- 平衡二叉树定义存储结构平衡旋转LL平衡旋转RR平衡旋转LR平衡旋转RL平衡旋转旋转操作特点 平衡二叉树插入算法思想平衡二叉树的查找性能分析 变种的AVL树——红黑树 平衡二叉树 世界需要平衡,破坏平衡的一方,也许会一时很强势的称霸,最终的结局逃不过孤立和落空 定义 左、右子树是平衡二叉树;所有结点的左、右子树深度之差的绝对值≤ 1 ... 平衡二叉树定义存储结构平衡旋转LL平衡旋转RR平衡旋转LR平衡旋转RL平衡旋转旋转操作特点 平衡二叉树插入算法思想平衡二叉树的查找性能分析 变种的AVL树——红黑树 平衡二叉树 世界需要平衡,破坏平衡的一方,也许会一时很强势的称霸,最终的结局逃不过孤立和落空 定义 左、右子树是平衡二叉树;所有结点的左、右子树深度之差的绝对值≤ 1 ...
- 最小生成树求最小生成树构造最小生成树的准则贪心算法(Greedy Algorithm)Prim(普里姆)算法算法思想 —— 归并顶点算法设计 KrusKal(克鲁斯卡尔)算法算法思想 —— 归并边算法设计 Prim和KrusKal比较 最小生成树 生成树(极小连通子图):含有图中全部n个顶点,但只有n-1条边。并且n-1条边不能构成回路。... 最小生成树求最小生成树构造最小生成树的准则贪心算法(Greedy Algorithm)Prim(普里姆)算法算法思想 —— 归并顶点算法设计 KrusKal(克鲁斯卡尔)算法算法思想 —— 归并边算法设计 Prim和KrusKal比较 最小生成树 生成树(极小连通子图):含有图中全部n个顶点,但只有n-1条边。并且n-1条边不能构成回路。...
- 选择排序简单选择排序基本思想算法实现算法分析 树形选择排序基本思想算法分析 堆排序基本思想无序序列建成堆如何在输出堆顶元素后**调整**,使之成为新堆? 算法实现算法分析 选择排序 简单选择排序 基本思想 每一趟在后面 n-i +1个中选出关键码最小的对象, 作为有序序列的第 i 个记录 算法实现 void SelectSort... 选择排序简单选择排序基本思想算法实现算法分析 树形选择排序基本思想算法分析 堆排序基本思想无序序列建成堆如何在输出堆顶元素后**调整**,使之成为新堆? 算法实现算法分析 选择排序 简单选择排序 基本思想 每一趟在后面 n-i +1个中选出关键码最小的对象, 作为有序序列的第 i 个记录 算法实现 void SelectSort...
- 归并排序基本思想算法分析 基数排序多关键字排序最高位优先MSD法最低位优先LSD法 链式基数排序基本思想算法设计算法分析 归并排序 归并:将两个或两个以上的有序表组合成一个新有序表 基本思想 初始序列看成n个有序子序列,每个子序列长度为1两两合并,得到n/2个长度为2或1的有序子序列再两两合并,重复直至得到一个长度为n... 归并排序基本思想算法分析 基数排序多关键字排序最高位优先MSD法最低位优先LSD法 链式基数排序基本思想算法设计算法分析 归并排序 归并:将两个或两个以上的有序表组合成一个新有序表 基本思想 初始序列看成n个有序子序列,每个子序列长度为1两两合并,得到n/2个长度为2或1的有序子序列再两两合并,重复直至得到一个长度为n...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化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 规格体系从零搭建业务项目。
回顾中
热门标签