- 链表是否有环问题看似简单,但实际处理上有很多需要注意的,这个问题是非常高频笔试面试题,记忆不牢固容易遗忘,可以认真看看学习一波!当然今天这两题对应力扣141和力扣142,有个小伙伴就在某手面试中遇到了。 判断链表是否有环 问题描述:给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 如果链表中存在... 链表是否有环问题看似简单,但实际处理上有很多需要注意的,这个问题是非常高频笔试面试题,记忆不牢固容易遗忘,可以认真看看学习一波!当然今天这两题对应力扣141和力扣142,有个小伙伴就在某手面试中遇到了。 判断链表是否有环 问题描述:给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 如果链表中存在...
- 用希尔排序法对一组数据由小到大进行排序,数据分别为69、56、12、136、3、55、46、99、88、25。 希尔排序的全过程如下: 代码实现: /*第九天、希尔排序*/ #include <stdio.h> #include <stdlib.h> /******************... 用希尔排序法对一组数据由小到大进行排序,数据分别为69、56、12、136、3、55、46、99、88、25。 希尔排序的全过程如下: 代码实现: /*第九天、希尔排序*/ #include <stdio.h> #include <stdlib.h> /******************...
- 前言 上一篇文章我们介绍了字典这个数据结构,这一篇文章我们接着来学习下另外一个数据结构,跳表。那么什么是跳表呢? 跳表的基本概念 跳表是一种有序的数据结构,它通过在每个节点中维持多个指向其他的节点指针,从而达到快速访问队尾的目的。 这么说是不是感觉有点云里雾里呢?那么我们详细解释下这个概念。 想象一下,对于一个单链表,如果我们要查找单链表中的某个结点,我们该怎么做... 前言 上一篇文章我们介绍了字典这个数据结构,这一篇文章我们接着来学习下另外一个数据结构,跳表。那么什么是跳表呢? 跳表的基本概念 跳表是一种有序的数据结构,它通过在每个节点中维持多个指向其他的节点指针,从而达到快速访问队尾的目的。 这么说是不是感觉有点云里雾里呢?那么我们详细解释下这个概念。 想象一下,对于一个单链表,如果我们要查找单链表中的某个结点,我们该怎么做...
- 快速排序算法及其优化 一、题目描述二、算法设计与分析三、核心代码四、结果与分析五、总结六、附录(Java源代码) 一、题目描述 当输入数据已经“几乎有序时”,插入排序很快,在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上一层的快速排序调用返回后,对整个数组运行插入排序完成排... 快速排序算法及其优化 一、题目描述二、算法设计与分析三、核心代码四、结果与分析五、总结六、附录(Java源代码) 一、题目描述 当输入数据已经“几乎有序时”,插入排序很快,在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上一层的快速排序调用返回后,对整个数组运行插入排序完成排...
- 一、题目描述 哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间。哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。一个包含100,000个字符的文件,各字符出现频率不同,如下表所示: 有多种方式表示文件中的信息,若用0,1码表示字符的方法,即每个字符用唯一的一个0,1串表示。若采用定长编... 一、题目描述 哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间。哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。一个包含100,000个字符的文件,各字符出现频率不同,如下表所示: 有多种方式表示文件中的信息,若用0,1码表示字符的方法,即每个字符用唯一的一个0,1串表示。若采用定长编...
- 前言 前面我们手写实现了一个单向队列,一个循环队列,今天我们再手写实现一个阻塞队列。顾名思义,阻塞队列就是在普通队列的基础上加了阻塞功能。本文是为了后面看ArrayBlockingQueue的源码做的前期准备。 阻塞队列 阻塞队列顾名思义就是一个具有阻塞功能的队列,当队满时,对这个队列的入队操作就要被阻塞,当队空时,对这个队列的出队操作就要被阻塞。那么阻塞队列是如... 前言 前面我们手写实现了一个单向队列,一个循环队列,今天我们再手写实现一个阻塞队列。顾名思义,阻塞队列就是在普通队列的基础上加了阻塞功能。本文是为了后面看ArrayBlockingQueue的源码做的前期准备。 阻塞队列 阻塞队列顾名思义就是一个具有阻塞功能的队列,当队满时,对这个队列的入队操作就要被阻塞,当队空时,对这个队列的出队操作就要被阻塞。那么阻塞队列是如...
- 线性表 前面我们学习了链表的相关知识,今天我们接着来学习另外一种数据结构-----》队列。其实,不管是数组还是链表,都是属于线性表,那么什么是线性表呢?线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,当n=0时,该线性表是一个空表。若用 L 命名线性表,则其一般表示如下: L = ( a1 , a2 , a3 , … , a(i) ,... 线性表 前面我们学习了链表的相关知识,今天我们接着来学习另外一种数据结构-----》队列。其实,不管是数组还是链表,都是属于线性表,那么什么是线性表呢?线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,当n=0时,该线性表是一个空表。若用 L 命名线性表,则其一般表示如下: L = ( a1 , a2 , a3 , … , a(i) ,...
- 循环队列定义 上一篇我们利用数组和链表分别实现了一个单向队列。今天我们接着来看看另外一个队列,循环队列,循环队列就是,其实循环队列就是将单向队列拉成一个环。我们知道,在单向队列中,当tail==n,表示队列已满,就需要进行数据的迁移。而如果是循环队列的话,则不需要进行数据的迁移。 循环队列说明 如下图所示,将一个长度为7的链表,链表中已有a,b,c三个元素,hea... 循环队列定义 上一篇我们利用数组和链表分别实现了一个单向队列。今天我们接着来看看另外一个队列,循环队列,循环队列就是,其实循环队列就是将单向队列拉成一个环。我们知道,在单向队列中,当tail==n,表示队列已满,就需要进行数据的迁移。而如果是循环队列的话,则不需要进行数据的迁移。 循环队列说明 如下图所示,将一个长度为7的链表,链表中已有a,b,c三个元素,hea...
- 前言 周末被社会的皮鞭狠狠的抽打了几下。人微言轻,为生计奔波,劳碌一生。富则妻妾成群,穷则孤独一生。个人牢骚。今天接着来学习Redis的第三篇,字典的数据结构。字典的数据结构其实完全可以类比Java中的HashMap数据结构,两者都是哈希表。 字典 简介说明 字典,又称为符号表 ,关联数组或映射。是一种用于保存键值对(key-value pair)的抽象数据结构... 前言 周末被社会的皮鞭狠狠的抽打了几下。人微言轻,为生计奔波,劳碌一生。富则妻妾成群,穷则孤独一生。个人牢骚。今天接着来学习Redis的第三篇,字典的数据结构。字典的数据结构其实完全可以类比Java中的HashMap数据结构,两者都是哈希表。 字典 简介说明 字典,又称为符号表 ,关联数组或映射。是一种用于保存键值对(key-value pair)的抽象数据结构...
- 前言 Redis用了这么久,一直没有认真的去了解其内部的数据结构和实现原理。从今天开始正式系统性的学习Redis。首先,还是从工作中经常打交道的数据类型开始说起,然后,在说到其内部使用的数据结构。 Redis的简介 Redis是一个开源的高性能的key-value数据库,与其他的key-value缓存产品相比有以下三个特点: Redis支持数据的持久化,可以将内... 前言 Redis用了这么久,一直没有认真的去了解其内部的数据结构和实现原理。从今天开始正式系统性的学习Redis。首先,还是从工作中经常打交道的数据类型开始说起,然后,在说到其内部使用的数据结构。 Redis的简介 Redis是一个开源的高性能的key-value数据库,与其他的key-value缓存产品相比有以下三个特点: Redis支持数据的持久化,可以将内...
- 函数原型: int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle ); 注:应先将项目属性中的字符集属性改为多字符集(Unicode)。 参数解释: hwnd:父窗口的句柄,为NULL说明消息框没有父窗口;大多数情况下可以省略不写。lpText:指向... 函数原型: int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle ); 注:应先将项目属性中的字符集属性改为多字符集(Unicode)。 参数解释: hwnd:父窗口的句柄,为NULL说明消息框没有父窗口;大多数情况下可以省略不写。lpText:指向...
- 前言 上一篇文章我们学习了Redis的数据结构之简单动态字符串,这一篇我们接着来学习Redis中另外一个数据结构-链表。链表有很多种,首先,本文会首先回顾一下一些常见的链表,接着就是介绍Redis中的链表的结构。 链表回顾 链表和数组 数组时需要一块连续的内存空间来存储的,而链表值需要零散的内存碎片,数组的插入和删除的时间复杂度是0(n),查询的某个元素的时间复... 前言 上一篇文章我们学习了Redis的数据结构之简单动态字符串,这一篇我们接着来学习Redis中另外一个数据结构-链表。链表有很多种,首先,本文会首先回顾一下一些常见的链表,接着就是介绍Redis中的链表的结构。 链表回顾 链表和数组 数组时需要一块连续的内存空间来存储的,而链表值需要零散的内存碎片,数组的插入和删除的时间复杂度是0(n),查询的某个元素的时间复...
- 前言 前面我们学习了Redis04-Redis的数据结构之跳表,跳表这种数据结构,这篇我文章我们来学习另外一种数据结构----整数集合。 整数集合的概念 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,它可以保存的类型为int16_t、int32_t或者int64_t的整数值,集合中不允许有重复元素,Red... 前言 前面我们学习了Redis04-Redis的数据结构之跳表,跳表这种数据结构,这篇我文章我们来学习另外一种数据结构----整数集合。 整数集合的概念 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,它可以保存的类型为int16_t、int32_t或者int64_t的整数值,集合中不允许有重复元素,Red...
- 计算机常用算法大致有两大类,一类叫蛮力算法,一类叫贪心算法,前者常使用的手段就是搜索,对全部解空间进行地毯式搜索,直到找到指定解或最优解。 【建立解空间】 问题的解应该如何描述,如何建立?借助图论的思想,我们可以用图来描述,图的定义为G,由顶点集和边集构成,顶点即实实在在的数 据、对象,而边可以抽象为关系,即顶点间的关系,这种关系不一定非要在数据结构上表现出来,用数... 计算机常用算法大致有两大类,一类叫蛮力算法,一类叫贪心算法,前者常使用的手段就是搜索,对全部解空间进行地毯式搜索,直到找到指定解或最优解。 【建立解空间】 问题的解应该如何描述,如何建立?借助图论的思想,我们可以用图来描述,图的定义为G,由顶点集和边集构成,顶点即实实在在的数 据、对象,而边可以抽象为关系,即顶点间的关系,这种关系不一定非要在数据结构上表现出来,用数...
- Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0 < n < = 10000),... Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0 < n < = 10000),...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
回顾中
热门标签