- 1 简介本文用例子 + 逐位演算来说明 二元按位异或(XOR, ^) 在 Go 中的过程,以速览方式了解该运算过程。异或定义(真值表) 0 ^ 0 = 0 0 ^ 1 = 1 1 ^ 0 = 1 1 ^ 1 = 0异或有两个重要代数性质:a ^ a = 0,a ^ 0 = a,且对换、结合律成立(commutative & associative)。... 1 简介本文用例子 + 逐位演算来说明 二元按位异或(XOR, ^) 在 Go 中的过程,以速览方式了解该运算过程。异或定义(真值表) 0 ^ 0 = 0 0 ^ 1 = 1 1 ^ 0 = 1 1 ^ 1 = 0异或有两个重要代数性质:a ^ a = 0,a ^ 0 = a,且对换、结合律成立(commutative & associative)。...
- 1 简介Go 中按位非(^x)的过程,按位非把二进制表示的数字每一位翻转:0→1,1→0,并且在该类型的位宽内进行。无符号示例(uint8) package main import "fmt" func main() { var a uint8 = 0b01011010 // 0x5A = 90 r := ^a ... 1 简介Go 中按位非(^x)的过程,按位非把二进制表示的数字每一位翻转:0→1,1→0,并且在该类型的位宽内进行。无符号示例(uint8) package main import "fmt" func main() { var a uint8 = 0b01011010 // 0x5A = 90 r := ^a ...
- 1 简介本文介绍“扁平树(flat tree)”的算法思想、使用场景及其将扁平的注释数组转换为树状结构。当需要在 Web 应用程序中呈现嵌套注释或任何其他分层数据时,此技术特别有用。我们将编写一个名为 buildCommentsTree 的函数,该函数将注释的平面数组作为输入,并返回一个类似树的注释数组。 2 扁平树的算法原理(“路径 → blob 哈希”)此方法涉及创建映射或引用对象来存... 1 简介本文介绍“扁平树(flat tree)”的算法思想、使用场景及其将扁平的注释数组转换为树状结构。当需要在 Web 应用程序中呈现嵌套注释或任何其他分层数据时,此技术特别有用。我们将编写一个名为 buildCommentsTree 的函数,该函数将注释的平面数组作为输入,并返回一个类似树的注释数组。 2 扁平树的算法原理(“路径 → blob 哈希”)此方法涉及创建映射或引用对象来存...
- 1 简介在 Go 里按位或是 |,|| 是逻辑或(只用于 bool)。本文都以 按位或 | 为例说明 2 按位或的过程(Go 示例)规则(逐位): 0|0=0, 0|1=1, 1|0=1, 1|1=1 package main import "fmt" func main() { a := 6 // 0110 b := 11 // 1011 r... 1 简介在 Go 里按位或是 |,|| 是逻辑或(只用于 bool)。本文都以 按位或 | 为例说明 2 按位或的过程(Go 示例)规则(逐位): 0|0=0, 0|1=1, 1|0=1, 1|1=1 package main import "fmt" func main() { a := 6 // 0110 b := 11 // 1011 r...
- 1 简介本文通过例子来说明 Go 语言中 按位与运算(&)的过程,并对比 Python 中的差异。 2. Go 语言中的按位与运算Go 使用 & 运算符对两个整数逐位执行 AND 运算。规则和大多数语言一致:二进制位都为 1 → 结果为 1否则结果为 0示例: package main import "fmt" func main() { a := 6 // 二进制: 0... 1 简介本文通过例子来说明 Go 语言中 按位与运算(&)的过程,并对比 Python 中的差异。 2. Go 语言中的按位与运算Go 使用 & 运算符对两个整数逐位执行 AND 运算。规则和大多数语言一致:二进制位都为 1 → 结果为 1否则结果为 0示例: package main import "fmt" func main() { a := 6 // 二进制: 0...
- 1 简介经典背景里,我们研究**开放定址(open addressing)**哈希表,不允许在插入之后再搬动旧元素(no reordering)。负载越高(越接近满表),查找/插入会变慢。用 δ 表示空槽比例(slack,越小越满),令 x=1/δ 表示“接近满”的程度。姚期智(1985)证明了:在“贪心”开放定址(每个键用自己的探查序列里第一个空位)的世界里,均匀探查(uniform p... 1 简介经典背景里,我们研究**开放定址(open addressing)**哈希表,不允许在插入之后再搬动旧元素(no reordering)。负载越高(越接近满表),查找/插入会变慢。用 δ 表示空槽比例(slack,越小越满),令 x=1/δ 表示“接近满”的程度。姚期智(1985)证明了:在“贪心”开放定址(每个键用自己的探查序列里第一个空位)的世界里,均匀探查(uniform p...
- 1 新的散列简介克拉皮文(Karp)的新策略发现,Richard M. Karp(克拉皮文)是计算机科学领域的著名学者,以其在算法和理论计算机科学中的贡献而闻名。文中提到的“在不知道姚猜想的情况下发现了新的策略”,可能指的是 Karp 在研究哈希表或相关数据结构时,独立提出了一种与线性探测相关的优化策略或新的散列方法。以下是对其发现的分析: 2 Karp 的背景与贡献Karp 在算法设计、... 1 新的散列简介克拉皮文(Karp)的新策略发现,Richard M. Karp(克拉皮文)是计算机科学领域的著名学者,以其在算法和理论计算机科学中的贡献而闻名。文中提到的“在不知道姚猜想的情况下发现了新的策略”,可能指的是 Karp 在研究哈希表或相关数据结构时,独立提出了一种与线性探测相关的优化策略或新的散列方法。以下是对其发现的分析: 2 Karp 的背景与贡献Karp 在算法设计、...
- 1 简介术语 “开放地址探测”(Open Addressing)。我们先搞清楚这个核心概念,然后对比:什么是“开放地址探测(Open Addressing)”?在哈希表中,开放地址探测 是一种解决哈希冲突的方法。当两个 key 计算出相同的哈希槽(bucket)时,它不会用链表储存多个元素(如 Go 旧版或 Java HashMap 可能做的),而是寻找下一个“可用”的槽位进行存储。核心思... 1 简介术语 “开放地址探测”(Open Addressing)。我们先搞清楚这个核心概念,然后对比:什么是“开放地址探测(Open Addressing)”?在哈希表中,开放地址探测 是一种解决哈希冲突的方法。当两个 key 计算出相同的哈希槽(bucket)时,它不会用链表储存多个元素(如 Go 旧版或 Java HashMap 可能做的),而是寻找下一个“可用”的槽位进行存储。核心思...
- 1 简介编程语言Go 1.24 中引入了 Swiss Table 作为 map 数据类型的新底层实现,这是 Go 语言发展中的一个重要改进。这个实现借鉴了现代编程语言(如 C++ 和 Rust)中的哈希表优化技术,尤其是来自 Google 的 SwissTable 实现(在 C++ 的 absl::flat_hash_map 和 Rust 的 HashMap 中应用)。这次更改提升了性能、... 1 简介编程语言Go 1.24 中引入了 Swiss Table 作为 map 数据类型的新底层实现,这是 Go 语言发展中的一个重要改进。这个实现借鉴了现代编程语言(如 C++ 和 Rust)中的哈希表优化技术,尤其是来自 Google 的 SwissTable 实现(在 C++ 的 absl::flat_hash_map 和 Rust 的 HashMap 中应用)。这次更改提升了性能、...
- Python callable 函数的基本使用Python 的 callable() 函数可以判断一个对象是否可以被调用,常用于检查函数、方法等对象。判断函数def hello(): print("Hello Python")print(callable(hello))输出:True判断普通变量number = 100print(callable(number))输出:False实际使... Python callable 函数的基本使用Python 的 callable() 函数可以判断一个对象是否可以被调用,常用于检查函数、方法等对象。判断函数def hello(): print("Hello Python")print(callable(hello))输出:True判断普通变量number = 100print(callable(number))输出:False实际使...
- Python oct 函数的基本使用Python 的 oct() 函数可以把整数转换成八进制字符串。基本用法number = 10result = oct(number)print(result)输出:0o12其中 0o 表示这是一个八进制数。转换其他数字print(oct(8))print(oct(16))输出:0o100o20去掉 0o 前缀number = 10result = oct... Python oct 函数的基本使用Python 的 oct() 函数可以把整数转换成八进制字符串。基本用法number = 10result = oct(number)print(result)输出:0o12其中 0o 表示这是一个八进制数。转换其他数字print(oct(8))print(oct(16))输出:0o100o20去掉 0o 前缀number = 10result = oct...
- Python hex 函数的基本使用Python 的 hex() 函数可以把整数转换成十六进制字符串。基本用法number = 255result = hex(number)print(result)输出:0xff其中 0x 表示这是一个十六进制数。转换其他数字print(hex(16))print(hex(32))输出:0x100x20去掉 0x 前缀number = 255result ... Python hex 函数的基本使用Python 的 hex() 函数可以把整数转换成十六进制字符串。基本用法number = 255result = hex(number)print(result)输出:0xff其中 0x 表示这是一个十六进制数。转换其他数字print(hex(16))print(hex(32))输出:0x100x20去掉 0x 前缀number = 255result ...
- Python bin 函数的基本使用Python 的 bin() 函数可以把整数转换成二进制字符串。基本用法number = 10result = bin(number)print(result)输出:0b1010其中 0b 表示这是一个二进制数。转换其他数字print(bin(5))print(bin(8))输出:0b1010b1000去掉 0b 前缀number = 10result =... Python bin 函数的基本使用Python 的 bin() 函数可以把整数转换成二进制字符串。基本用法number = 10result = bin(number)print(result)输出:0b1010其中 0b 表示这是一个二进制数。转换其他数字print(bin(5))print(bin(8))输出:0b1010b1000去掉 0b 前缀number = 10result =...
- Python slice 函数的基本使用Python 的 slice() 函数可以创建一个切片对象,用来截取列表、字符串等序列中的部分内容。基本用法numbers = [10, 20, 30, 40, 50]part = numbers[slice(1, 4)]print(part)输出:[20, 30, 40]设置步长numbers = [1, 2, 3, 4, 5, 6]part = n... Python slice 函数的基本使用Python 的 slice() 函数可以创建一个切片对象,用来截取列表、字符串等序列中的部分内容。基本用法numbers = [10, 20, 30, 40, 50]part = numbers[slice(1, 4)]print(part)输出:[20, 30, 40]设置步长numbers = [1, 2, 3, 4, 5, 6]part = n...
- Python delattr 函数的基本使用Python 的 delattr() 函数可以删除对象中的指定属性。基本用法class User: name = "Tom" age = 25user = User()delattr(user, "age")删除后,再访问 age 属性可能会报错。配合 hasattr 使用为了避免删除不存在的属性,可以先进行判断:if hasattr(... Python delattr 函数的基本使用Python 的 delattr() 函数可以删除对象中的指定属性。基本用法class User: name = "Tom" age = 25user = User()delattr(user, "age")删除后,再访问 age 属性可能会报错。配合 hasattr 使用为了避免删除不存在的属性,可以先进行判断:if hasattr(...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签