- 文章目录 哈希散列表小故事加载因子哈希函数的安全我的困惑 资料 哈希散列表 需要我说一下什么是哈希表吗?上面那张图可以先看一下,然后我搬一段官方话过来。 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数... 文章目录 哈希散列表小故事加载因子哈希函数的安全我的困惑 资料 哈希散列表 需要我说一下什么是哈希表吗?上面那张图可以先看一下,然后我搬一段官方话过来。 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数...
- 文章目录 跳表跳表的搜索跳表的插入抛硬币 跳表的删除 跳表的代码实现跳表数据结构初始化跳表插入节点删除节点销毁跳表 为什么Redis要用跳表来实现有序集合? 跳表 让你现场手写一棵红黑树、AVL树、伸展树之类的,你行吗? 要不让我查资料,我估计只能扯皮。 跳表就不一样了,看懂它的原理很简单,根据它的原理直接手写也是可以实现的。 为什么? 跳表... 文章目录 跳表跳表的搜索跳表的插入抛硬币 跳表的删除 跳表的代码实现跳表数据结构初始化跳表插入节点删除节点销毁跳表 为什么Redis要用跳表来实现有序集合? 跳表 让你现场手写一棵红黑树、AVL树、伸展树之类的,你行吗? 要不让我查资料,我估计只能扯皮。 跳表就不一样了,看懂它的原理很简单,根据它的原理直接手写也是可以实现的。 为什么? 跳表...
- C++字符串数组定义在C++中不仅可以用string定义字符串变量,也可以用string定义字符串数组。string array[3]; 表示定义一个字符串数组,这个数组包含3个字符串元素。C++字符串数组初始化string array[3]={{"li"},{"zhang"},{"wang"}} 读者在使用字符串数组时应该注意以下几点:在一个字符串数组中包含若干个元素,每个元... C++字符串数组定义在C++中不仅可以用string定义字符串变量,也可以用string定义字符串数组。string array[3]; 表示定义一个字符串数组,这个数组包含3个字符串元素。C++字符串数组初始化string array[3]={{"li"},{"zhang"},{"wang"}} 读者在使用字符串数组时应该注意以下几点:在一个字符串数组中包含若干个元素,每个元...
- C++多维数组元素的地址在C++中,用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。 设有一个二维数组array,它有3行4列,如下:int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}; array是一个数组名,array数组包含3行,及3个元素:array[0],array[1],array[2],而每一个元素又... C++多维数组元素的地址在C++中,用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。 设有一个二维数组array,它有3行4列,如下:int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}; array是一个数组名,array数组包含3行,及3个元素:array[0],array[1],array[2],而每一个元素又...
- C++指向函数的指针作函数参数学到这里的读者应该知道在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参,这样可以在调用一个函数的过程中根据给定的不同实参调用不同的函数,在C++中同样如此。C++返回指针值的函数在C++中,一个函数可以带回一个整型值、字符值、实型值 等,也可以带回指针型的数据,即地址,带回的值的类型是指针类型,返回指针值的函数简称... C++指向函数的指针作函数参数学到这里的读者应该知道在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参,这样可以在调用一个函数的过程中根据给定的不同实参调用不同的函数,在C++中同样如此。C++返回指针值的函数在C++中,一个函数可以带回一个整型值、字符值、实型值 等,也可以带回指针型的数据,即地址,带回的值的类型是指针类型,返回指针值的函数简称...
- 01数组元素作函数实参1、数组元素可以用作函数实参,不能用作形参。2、在用数组元素作函数实参时,把实参的值传给形参,是“值传递”方式。3、数据传递的方向是从实参传到形参,单向传递。02数组名作函数参数1、除了可以用数组元素作为函数参数外,还可以用数组名作函数参数。2、用数组元素作实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,向形参传递的是数组首元素的地址。3、... 01数组元素作函数实参1、数组元素可以用作函数实参,不能用作形参。2、在用数组元素作函数实参时,把实参的值传给形参,是“值传递”方式。3、数据传递的方向是从实参传到形参,单向传递。02数组名作函数参数1、除了可以用数组元素作为函数参数外,还可以用数组名作函数参数。2、用数组元素作实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,向形参传递的是数组首元素的地址。3、...
- 文章目录 前言线索二叉树存储结构构建中序遍历建立线索二叉树 线索二叉树的用武之地 前言 早就想办了这个线索二叉树,但是一直又没什么动力。这次就办了吧、 线索二叉树 在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。 存储结构... 文章目录 前言线索二叉树存储结构构建中序遍历建立线索二叉树 线索二叉树的用武之地 前言 早就想办了这个线索二叉树,但是一直又没什么动力。这次就办了吧、 线索二叉树 在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。 存储结构...
- 01广义表的定义1、广义表是线性表的推广,也有人称其为列表(lists,用复数形式以示与统称的表list的区别)。广泛地用于人工智能等领域的表处理语言LISP语言,把广义表作为基本的数据结构。02广义表的存储结构1、由广义表(a1,a2,a3...an)中的数据元素可以具有不同的结构(或是原子,或是列表),因此难以用顺序存储结构表示,通常采用链式存储结构,每个数据元素可用一个结... 01广义表的定义1、广义表是线性表的推广,也有人称其为列表(lists,用复数形式以示与统称的表list的区别)。广泛地用于人工智能等领域的表处理语言LISP语言,把广义表作为基本的数据结构。02广义表的存储结构1、由广义表(a1,a2,a3...an)中的数据元素可以具有不同的结构(或是原子,或是列表),因此难以用顺序存储结构表示,通常采用链式存储结构,每个数据元素可用一个结...
- 01归并排序1、归并排序(Merging Sort)是又一类不同的排序方法。2、“归并”的含义是将两个或两个以上的有序表组成一个新的有序表。3、归并的实现无论是顺序存储结构还是链表存储结构,都可在O(m+n)的时间量级上实现。4、利用归并的思想容易实现排序。5、2-路归并排序中的核心操作是将一堆数组中前后相邻的两个有序序列归并为一个有序序列。6、实现归并排序需和待排记录等数量的... 01归并排序1、归并排序(Merging Sort)是又一类不同的排序方法。2、“归并”的含义是将两个或两个以上的有序表组成一个新的有序表。3、归并的实现无论是顺序存储结构还是链表存储结构,都可在O(m+n)的时间量级上实现。4、利用归并的思想容易实现排序。5、2-路归并排序中的核心操作是将一堆数组中前后相邻的两个有序序列归并为一个有序序列。6、实现归并排序需和待排记录等数量的...
- 文章目录 前言线索二叉树存储结构构建中序遍历建立线索二叉树 线索二叉树的用武之地 前言 早就想办了这个线索二叉树,但是一直又没什么动力。这次就办了吧、 线索二叉树 在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。 存储结构... 文章目录 前言线索二叉树存储结构构建中序遍历建立线索二叉树 线索二叉树的用武之地 前言 早就想办了这个线索二叉树,但是一直又没什么动力。这次就办了吧、 线索二叉树 在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。 存储结构...
- 01链表1、链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构,是根据需要开辟内存单元。2、链表有一个“头指针”变量,它存放一个地址,该地址指向一个元素。3、链表中每一个元素称为“结点”,每个结点都应包括两个部分(1)用户需要的实际数据。(2)下一个结点的地址。4、链表中各元素在内存中的地址可以是不连续的。5、要找某一元素,必须先找到上一个元素,根据它提供的下一元... 01链表1、链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构,是根据需要开辟内存单元。2、链表有一个“头指针”变量,它存放一个地址,该地址指向一个元素。3、链表中每一个元素称为“结点”,每个结点都应包括两个部分(1)用户需要的实际数据。(2)下一个结点的地址。4、链表中各元素在内存中的地址可以是不连续的。5、要找某一元素,必须先找到上一个元素,根据它提供的下一元...
- 例64:C语言实现找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。解析:读者看着道题的时候,首先要了解什么是鞍点,先找出一行中值最大的元素,然后检查它是否为该列中最小值,如果是,则是鞍点,输出该鞍点;如果不是,则再找下一行的最大数......如果每一行的最大数都不是鞍点,则此数组无鞍点。源代码演示:#include<stdio.h&g... 例64:C语言实现找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。解析:读者看着道题的时候,首先要了解什么是鞍点,先找出一行中值最大的元素,然后检查它是否为该列中最小值,如果是,则是鞍点,输出该鞍点;如果不是,则再找下一行的最大数......如果每一行的最大数都不是鞍点,则此数组无鞍点。源代码演示:#include<stdio.h&g...
- 例31:C语言用指针方法对10个整数按由大到小顺序排序。解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort将数组中的元素按由大到小排序。排序函数:void sort(int x[],int n)//自定义排序函数 { int i,j,k,t;//定义整型变量 for(i=0;i<9;i++)//外层for循环 ... 例31:C语言用指针方法对10个整数按由大到小顺序排序。解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort将数组中的元素按由大到小排序。排序函数:void sort(int x[],int n)//自定义排序函数 { int i,j,k,t;//定义整型变量 for(i=0;i<9;i++)//外层for循环 ...
- 目录 Numpy基础 介绍 代码操作 生成ndarray ndarray的数据类型 Numpy 数组计算 基础索引和切片 布尔索引 特殊索引 数组的转换和换轴 总结 每文一语 Numpy基础 介绍 目前它是Python数值计算中最为重要的基础包,将numpy的数组的对象作为数据交互的通用语,一般我们要充分理解好矩阵计算的原理,这需要你要有一些线... 目录 Numpy基础 介绍 代码操作 生成ndarray ndarray的数据类型 Numpy 数组计算 基础索引和切片 布尔索引 特殊索引 数组的转换和换轴 总结 每文一语 Numpy基础 介绍 目前它是Python数值计算中最为重要的基础包,将numpy的数组的对象作为数据交互的通用语,一般我们要充分理解好矩阵计算的原理,这需要你要有一些线...
- 文章目录 前言优胜树优胜树的重构优胜树代码实现 淘汰树难点突破淘汰树代码实现 前言 大部分人称呼它们为“胜者树”和“败者树”,也有人称呼它们为“优胜树”和“淘汰树”,我觉得还是优胜树和淘汰树比较好听点。 优胜树 优胜树是完全二义树,每个结点的取值足两个孩子的较小值。根据定义,根结点的取值是整个树的最小值。 这里给出了八路大军的前... 文章目录 前言优胜树优胜树的重构优胜树代码实现 淘汰树难点突破淘汰树代码实现 前言 大部分人称呼它们为“胜者树”和“败者树”,也有人称呼它们为“优胜树”和“淘汰树”,我觉得还是优胜树和淘汰树比较好听点。 优胜树 优胜树是完全二义树,每个结点的取值足两个孩子的较小值。根据定义,根结点的取值是整个树的最小值。 这里给出了八路大军的前...
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签