- 在学习Huawei LiteOS源代码的时候,常常会遇到一些数据结构的使用。如果没有掌握这它们的用法,阅读LiteOS源代码的时候会很费解、很吃力。本文会给读者介绍下LiteOS源码中常用的几个数据结构,包括: 双向循环链表LOS_DL_LIST,优先级队列Priority Queue,排序链表SortLinkList等。在讲解时,会结合相关的绘图,培养数据结构的平面想象能力,帮助更好的学习和理解 在学习Huawei LiteOS源代码的时候,常常会遇到一些数据结构的使用。如果没有掌握这它们的用法,阅读LiteOS源代码的时候会很费解、很吃力。本文会给读者介绍下LiteOS源码中常用的几个数据结构,包括: 双向循环链表LOS_DL_LIST,优先级队列Priority Queue,排序链表SortLinkList等。在讲解时,会结合相关的绘图,培养数据结构的平面想象能力,帮助更好的学习和理解
- 该位置在LRU列表长度的5/8处:innodb_old_blocks_pct 默认值是37,表示新读取的页插入到LRU列表尾端的37%的位置(差不多3/8的位置)。在innodb存储引擎中,把midpoint之后的列表称为old列表,之前的列表称为new列表。可以简单理解为new列表中的页都是最为活跃的热点数据。建议innodb_old_blocks_pct 调成20%(调整内存参数):(查... 该位置在LRU列表长度的5/8处:innodb_old_blocks_pct 默认值是37,表示新读取的页插入到LRU列表尾端的37%的位置(差不多3/8的位置)。在innodb存储引擎中,把midpoint之后的列表称为old列表,之前的列表称为new列表。可以简单理解为new列表中的页都是最为活跃的热点数据。建议innodb_old_blocks_pct 调成20%(调整内存参数):(查...
- 2021-02-21:手写代码:高性能路由,也就是一个字符串和多个匹配串进行模糊匹配。一个数组arr里是["*a*","moonfdd"],字符串"moonfdd"能匹配到,理由是arr里有。字符串"xayy"也能匹配到,理由是arr里的"*a*",第1个星对应"x",第2个星对应"yy"。福哥答案2021-02-21:1.前缀树。字符匹配和星号匹配。abcd和ab*cd,当左c和右*对应的... 2021-02-21:手写代码:高性能路由,也就是一个字符串和多个匹配串进行模糊匹配。一个数组arr里是["*a*","moonfdd"],字符串"moonfdd"能匹配到,理由是arr里有。字符串"xayy"也能匹配到,理由是arr里的"*a*",第1个星对应"x",第2个星对应"yy"。福哥答案2021-02-21:1.前缀树。字符匹配和星号匹配。abcd和ab*cd,当左c和右*对应的...
- 对比 Python 中字符串拼接的几种方式,探究 f-string 实现字符串拼接的原理 对比 Python 中字符串拼接的几种方式,探究 f-string 实现字符串拼接的原理
- 跟着Classroom学习C语言,#10复杂数据类型。 跟着Classroom学习C语言,#10复杂数据类型。
- 高内聚、低耦合是我们在软件设计过程中必须遵循的一个重要原则,在整个软件工程中占有很大的比重。而对于内聚和耦合你还是仅仅局限于“高内聚,低耦合”的模糊概念吗?那你是如何判断何为高低呢?本篇文章将带你分别深度剖析和总结内聚与耦合的 7 种类型和描述,为在以后的项目开发与考试中更好地判断类型助你一臂之力! 高内聚、低耦合是我们在软件设计过程中必须遵循的一个重要原则,在整个软件工程中占有很大的比重。而对于内聚和耦合你还是仅仅局限于“高内聚,低耦合”的模糊概念吗?那你是如何判断何为高低呢?本篇文章将带你分别深度剖析和总结内聚与耦合的 7 种类型和描述,为在以后的项目开发与考试中更好地判断类型助你一臂之力!
- 福哥答案2021-02-03:Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,常用于在一个文本串 S 内查找一个模式串 P 的出现位置。这个算法由 Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这 3 人的姓氏命名此算法。下面直接给出 KMP算法 的操作流程:1.假设现在文本串 S 匹配到 i... 福哥答案2021-02-03:Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,常用于在一个文本串 S 内查找一个模式串 P 的出现位置。这个算法由 Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这 3 人的姓氏命名此算法。下面直接给出 KMP算法 的操作流程:1.假设现在文本串 S 匹配到 i...
- 认识堆(优先级队列)1.堆又叫优先级队列,逻辑上上是一棵完全二叉树,堆物理上基于数组实现2.堆可分为大堆(大根堆、最大堆)和小堆(小根堆、最小堆)堆(优先级队列)操作方法public class MyHeap { private int[] elem; private int usedSzie; public MyHeap(int k){ this.elem ... 认识堆(优先级队列)1.堆又叫优先级队列,逻辑上上是一棵完全二叉树,堆物理上基于数组实现2.堆可分为大堆(大根堆、最大堆)和小堆(小根堆、最小堆)堆(优先级队列)操作方法public class MyHeap { private int[] elem; private int usedSzie; public MyHeap(int k){ this.elem ...
- 性能优化通常是在现有系统和代码基础上做改进,考验的是开发者反向修复的能力,而性能设计考验的是设计者的正向设计能力,但性能优化的方法可以指导性能设计,两者互补。 性能优化通常是在现有系统和代码基础上做改进,考验的是开发者反向修复的能力,而性能设计考验的是设计者的正向设计能力,但性能优化的方法可以指导性能设计,两者互补。
- 福哥答案2021-01-12:这个面试题很偏,连题意都不知道。多维表达式 (MDX) 是用于在 MicrosoftAnalysis Services 中处理和检索多维数据的查询语言。MDX 基于 XML for Analysis (XMLA) 规范,并带有特定于 SQL ServerAnalysis Services 的扩展。MDX 使用由标识符、值、语句、函数和运算符组成的表达式,Anal... 福哥答案2021-01-12:这个面试题很偏,连题意都不知道。多维表达式 (MDX) 是用于在 MicrosoftAnalysis Services 中处理和检索多维数据的查询语言。MDX 基于 XML for Analysis (XMLA) 规范,并带有特定于 SQL ServerAnalysis Services 的扩展。MDX 使用由标识符、值、语句、函数和运算符组成的表达式,Anal...
- java基本类型 对应的 封装类型基本类型 封装类型byte Byteshort Shortboolean Booleanchar Charsetint Integerlong Longfloat Floatdouble Double封装类型常用的方法1、其它封装类型转为String ,String.valueOf(e)2、‘0’-'9’的char字符用(int)(‘9’-‘0’) , 超过... java基本类型 对应的 封装类型基本类型 封装类型byte Byteshort Shortboolean Booleanchar Charsetint Integerlong Longfloat Floatdouble Double封装类型常用的方法1、其它封装类型转为String ,String.valueOf(e)2、‘0’-'9’的char字符用(int)(‘9’-‘0’) , 超过...
- 福哥答案2020-01-04:面试官刚开始问我看过mysql源码没,然后问了这个问题。回答B+树,过不了面试官那关。答案来自《MySQL技术内幕 InnoDB存储引擎 第2版》第四章,时间仓促,答案不一定对,如果有更好的答案,请直接留言评论。表空间tablespace:所有数据都放在表空间中。段segment:数据段、索引段、回滚段。区extent:一个区有64个连续页,一个引擎页为16... 福哥答案2020-01-04:面试官刚开始问我看过mysql源码没,然后问了这个问题。回答B+树,过不了面试官那关。答案来自《MySQL技术内幕 InnoDB存储引擎 第2版》第四章,时间仓促,答案不一定对,如果有更好的答案,请直接留言评论。表空间tablespace:所有数据都放在表空间中。段segment:数据段、索引段、回滚段。区extent:一个区有64个连续页,一个引擎页为16...
- Shell 数组数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。与大部分编程语言类似,数组元素的下标由0开始。Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:array_name=(value1 ... valuen)实例#!/bin/bash# author:W3Cschool教程# url... Shell 数组数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。与大部分编程语言类似,数组元素的下标由0开始。Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:array_name=(value1 ... valuen)实例#!/bin/bash# author:W3Cschool教程# url...
- 福哥答案2020-12-07:源码位于runtime/slice.go文件中的slice结构体。```gotype slice struct { array unsafe.Pointer len int cap int}```切片的结构体由3部分构成,Pointer 是指向一个数组的指针,len 代表当前切片的长度,cap 是当前切片的容量。cap 总是大于等于... 福哥答案2020-12-07:源码位于runtime/slice.go文件中的slice结构体。```gotype slice struct { array unsafe.Pointer len int cap int}```切片的结构体由3部分构成,Pointer 是指向一个数组的指针,len 代表当前切片的长度,cap 是当前切片的容量。cap 总是大于等于...
- 福哥答案2020-11-29:1,先让整个数组都变成大根堆结构,建立堆的过程: 1)从上到下的方法,时间复杂度为O(N*logN)。 2)从下到上的方法,时间复杂度为O(N)。2,把堆的最大值和堆末尾的值交换,然后减少堆的大小之后,再去调整堆,一直周而复始,时间复杂度为O(N*logN)。3,堆的大小减小成0之后,排序完成。golang代码如下:```gopackage clas... 福哥答案2020-11-29:1,先让整个数组都变成大根堆结构,建立堆的过程: 1)从上到下的方法,时间复杂度为O(N*logN)。 2)从下到上的方法,时间复杂度为O(N)。2,把堆的最大值和堆末尾的值交换,然后减少堆的大小之后,再去调整堆,一直周而复始,时间复杂度为O(N*logN)。3,堆的大小减小成0之后,排序完成。golang代码如下:```gopackage clas...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签