- 1. 堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象。 堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值; · 堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 ②堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分... 1. 堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象。 堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值; · 堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 ②堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分...
- 下午的时候写了一下位运算的:位运算 - 初见 我个人感觉如果对位运算不是很熟的话可以先看一下上面那个 文章目录 位图 - 数据结构位图设计数据结构构造新元素插入位图中元素移出位图元素查找 完整代码找出二次出现的数据思考 位图 - 数据结构 为什么要位图?上一篇里面有个例子,是这样的: 你要给1亿个int型数据去重(本篇不讲int以外... 下午的时候写了一下位运算的:位运算 - 初见 我个人感觉如果对位运算不是很熟的话可以先看一下上面那个 文章目录 位图 - 数据结构位图设计数据结构构造新元素插入位图中元素移出位图元素查找 完整代码找出二次出现的数据思考 位图 - 数据结构 为什么要位图?上一篇里面有个例子,是这样的: 你要给1亿个int型数据去重(本篇不讲int以外...
- #include <stdio.h> int main(){ int n, top, j; char str[10000],stack[5000]; scanf("%d",&n); while (n--) { scanf("%s",str); if (str[0] == ')' || str[0] == ']') { stack[0] = '1'... #include <stdio.h> int main(){ int n, top, j; char str[10000],stack[5000]; scanf("%d",&n); while (n--) { scanf("%s",str); if (str[0] == ')' || str[0] == ']') { stack[0] = '1'...
- 举例子: int data[3][4] ={ {1,2,3,4} , {5,6,7,8} , {9,10,11,12} }; int total = sum(data,3); 请自己先尝试写出sum函数的原型 思考过后,请继续看下面详细分析: data 是一个数组名,该数组有3个元素,第一个元素本身又是一个数组,有4个int 值组成。 因此... 举例子: int data[3][4] ={ {1,2,3,4} , {5,6,7,8} , {9,10,11,12} }; int total = sum(data,3); 请自己先尝试写出sum函数的原型 思考过后,请继续看下面详细分析: data 是一个数组名,该数组有3个元素,第一个元素本身又是一个数组,有4个int 值组成。 因此...
- #include <stdio.h>#include <stdlib.h> #define LIST_INIT_SIZE 100#define LISTLNCREMENT 10#define OK 1#define ERROR 0#define OVERFLOW -2 typedef int ElemType; typedef struct{ Elem... #include <stdio.h>#include <stdlib.h> #define LIST_INIT_SIZE 100#define LISTLNCREMENT 10#define OK 1#define ERROR 0#define OVERFLOW -2 typedef int ElemType; typedef struct{ Elem...
- 思维导图是依旧还没有的啊 文章目录 栈①后进先出的叫栈②API设计③顺序栈实现④双端栈实现多端栈 ⑤动态栈⑥汉诺塔⑦单调栈性质: 波兰式与逆波兰式什么是波兰表达式中缀表达式转逆波兰表达式后缀表达式运算流程放码过去 队列消息队列 栈 想当一个合格的程序员,你敢出去说你不会栈吗? 我不敢的。 栈有很多用途,也分很多种类,顺序栈、双端... 思维导图是依旧还没有的啊 文章目录 栈①后进先出的叫栈②API设计③顺序栈实现④双端栈实现多端栈 ⑤动态栈⑥汉诺塔⑦单调栈性质: 波兰式与逆波兰式什么是波兰表达式中缀表达式转逆波兰表达式后缀表达式运算流程放码过去 队列消息队列 栈 想当一个合格的程序员,你敢出去说你不会栈吗? 我不敢的。 栈有很多用途,也分很多种类,顺序栈、双端...
- #include <stdio.h>#include <stdlib.h>#include <iostream.h> #define OK 1#define ERROR 0#define OVERFLOW -2 typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next;}LNod... #include <stdio.h>#include <stdlib.h>#include <iostream.h> #define OK 1#define ERROR 0#define OVERFLOW -2 typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next;}LNod...
- 剑指Offer–图的操作 前言 企业笔试过程中会涉及到数据结构的方方面面,现将有关图的深度优先搜索与广度优先搜索进行整理归纳,方便日后查阅。 在已做过的笔试题目中,可用DFS解决的题目有: “地牢逃脱”–网易“遍历最短路径长度”–携程“小青蛙走迷宫”–滴滴 三道题目都是DFS的经典应用,主要采用递归+回溯的方式。 下面主要讲解一下DFS与BF... 剑指Offer–图的操作 前言 企业笔试过程中会涉及到数据结构的方方面面,现将有关图的深度优先搜索与广度优先搜索进行整理归纳,方便日后查阅。 在已做过的笔试题目中,可用DFS解决的题目有: “地牢逃脱”–网易“遍历最短路径长度”–携程“小青蛙走迷宫”–滴滴 三道题目都是DFS的经典应用,主要采用递归+回溯的方式。 下面主要讲解一下DFS与BF...
- 目录 预备的基础知识 将C-风格字符串作为参数的函数 C-风格字符串与常规char数组之间的区别 统计某个字符串中含有字符个数的程序 预备的基础知识 C-风格字符串由一系列字符组成,以空值字符结尾('\0') 将字符串作为参数时意味着传递的是 地址,但可以使用const来禁止对 字符串参数进行修改 将C-风格字符串作为参数的函数 表... 目录 预备的基础知识 将C-风格字符串作为参数的函数 C-风格字符串与常规char数组之间的区别 统计某个字符串中含有字符个数的程序 预备的基础知识 C-风格字符串由一系列字符组成,以空值字符结尾('\0') 将字符串作为参数时意味着传递的是 地址,但可以使用const来禁止对 字符串参数进行修改 将C-风格字符串作为参数的函数 表...
- 岛屿的最大面积 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。) 示例 1: [[0,0,1,0,... 岛屿的最大面积 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。) 示例 1: [[0,0,1,0,...
- 文章目录 前言:头文件源文件list *listCreate(void);void listEmpty(list *list);void listRelease(list *list);list *listAddNodeHead(list *list, void *value);list *listAddNodeTail(list *list, void *... 文章目录 前言:头文件源文件list *listCreate(void);void listEmpty(list *list);void listRelease(list *list);list *listAddNodeHead(list *list, void *value);list *listAddNodeTail(list *list, void *...
- 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入: nums = [... 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入: nums = [...
- 文章目录 前言堆,是什么?二叉堆的应用堆的插入代码实现 重新看这篇文章向下调整算法代码实现(大堆) 向上调整算法代码实现(大堆) 堆顶元素删除代码实现 堆排序(大堆)代码实现 前言 自从写完了上一篇:程序员必备数据结构:栈之后,就一直盘算着写一篇“堆”,今天动手了。 堆,是什么? 二叉堆是完全二叉树或者是近似完全二叉树。 二叉... 文章目录 前言堆,是什么?二叉堆的应用堆的插入代码实现 重新看这篇文章向下调整算法代码实现(大堆) 向上调整算法代码实现(大堆) 堆顶元素删除代码实现 堆排序(大堆)代码实现 前言 自从写完了上一篇:程序员必备数据结构:栈之后,就一直盘算着写一篇“堆”,今天动手了。 堆,是什么? 二叉堆是完全二叉树或者是近似完全二叉树。 二叉...
- 剑指Offer——归并排序思想应用 前言 在学习排序算法时,初识归并排序,从其代码量上感觉这个排序怎么这么难啊。其实归并排序的思想很简单:将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效排序算法。该算法是采用分治法(Divi... 剑指Offer——归并排序思想应用 前言 在学习排序算法时,初识归并排序,从其代码量上感觉这个排序怎么这么难啊。其实归并排序的思想很简单:将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效排序算法。该算法是采用分治法(Divi...
- 剑指Offer——迅雷笔试题+知识点总结 情景回顾 时间:2016.9.19 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:迅雷笔试 总体来说,迅雷笔试内容体量不算多,主要分为30道选择题,2道编程题,半小时将选择题做完,1个半小时两道编程题一道29%,一道超时。关键是第二道编程题直接输出错误语句居然通过17%!也是醉了,绝对的判题... 剑指Offer——迅雷笔试题+知识点总结 情景回顾 时间:2016.9.19 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:迅雷笔试 总体来说,迅雷笔试内容体量不算多,主要分为30道选择题,2道编程题,半小时将选择题做完,1个半小时两道编程题一道29%,一道超时。关键是第二道编程题直接输出错误语句居然通过17%!也是醉了,绝对的判题...
上滑加载中
推荐直播
-
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 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签