摘要: 思想:非比较而是划分值域 基数排序(Radix Sort)是一种非比较排序算法,它通过逐位对数据进行处理,依次按位从最低有效位(Least Significant Digit, LSD)到最高有效位(Most Significant Digit, MSD)或者反过来,对数据进行排序。 与常见的比较排 阅读全文
posted @ 2025-01-02 16:47 Ofnoname 阅读(157) 评论(0) 推荐(2) 编辑
摘要: 在许多应用中,我们需要快速执行一些操作,比如查询和提取数据中的最大值或最小值。举个例子,当我们需要排序学生的考试成绩时,我们可能要频繁地查找和提取最高或最低分。除此之外,这种需求还广泛存在于优先级调度、数据流处理中。 假定我们要解决这样一个问题:有一个集合,每次操作都可能从中添加数据,或取出最大值, 阅读全文
posted @ 2024-12-25 17:11 Ofnoname 阅读(211) 评论(1) 推荐(0) 编辑
摘要: 线段树(Segment Tree)是一种非常高效的树形数据结构,用于解决区间查询和修改问题。本文将通过分步骤讲解,带领读者熟练掌握线段树的原理与实现,并探索其应用场景。 引言:数组区间修改问题 线段树要解决这样一个经典问题:比如给定一个数组,频繁地需要进行以下操作: 区间查询:查询数组某一子区间内的 阅读全文
posted @ 2024-12-24 23:06 Ofnoname 阅读(241) 评论(2) 推荐(3) 编辑
摘要: 二叉查找树 (Binary Search Tree, 简称 BST) 是一种基本的数据结构,其设计核心在于每个节点的值都满足以下性质: 左子树的所有节点值均小于当前节点值。 右子树的所有节点值均大于当前节点值。 这使得二叉查找树能够高效地支持一系列查找相关操作,包括普通查找、前驱后继查询、基于排名的 阅读全文
posted @ 2024-12-23 18:28 Ofnoname 阅读(182) 评论(0) 推荐(1) 编辑
摘要: 网络通信中,端口(Port)是计算机传输层之间进行数据传输的重要部分。每个端口号唯一标识设备上的特定进程或服务。本文将详细介绍TCP与UDP端口的使用划分及0-1023的常用端口协议。 TCP与UDP端口的划分 TCP(Transmission Control Protocol)和UDP(User 阅读全文
posted @ 2024-12-18 12:35 Ofnoname 阅读(579) 评论(0) 推荐(0) 编辑
摘要: IPv4(Internet Protocol Version 4)是目前最常用的网络协议之一,IPv4 协议定义了一种 检验和(Checksum) 机制,用于检测数据是否在传输中发生了错误。 IPv4 首部检验和是一种 错误检测 技术,专门用于检测IP数据报头部(即IPv4数据包的头部)的完整性。它 阅读全文
posted @ 2024-12-11 19:59 Ofnoname 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 主定理(Master Theorem)是一种常见于算法分析中的工具。它指出了如何解决与分治和递归有关算法的时间复杂度。 主定理 主定理的标准形式是分析以下递归式的实际复杂度: \[T(n) = aT\left(\frac{n}{b}\right) + f(n), \]其中: \(a \geq 1\) 阅读全文
posted @ 2024-12-11 10:25 Ofnoname 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 虚拟机(Virtual Machine, VM)技术是现代计算机科学的基石之一,为用户提供了灵活、高效和隔离的运行环境。随着虚拟化技术的不断进步,其应用已经扩展到服务器整合、云计算、测试环境和灾难恢复等诸多领域。根据虚拟机的架构,我们可以将其划分为第一类虚拟机(Type 1 Hypervisor)和 阅读全文
posted @ 2024-12-10 18:13 Ofnoname 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 在算法分析中,使用符号来表示时间复杂度或空间复杂度是数学化描述算法性能的常用方式。这些符号包括大\(O\)(Big-O)、大\(\Theta\)(Big-Theta)、大\(\Omega\)(Big-Omega)以及小\(o\)(Little-o)和小\(\omega\)(Little-omega) 阅读全文
posted @ 2024-12-08 19:36 Ofnoname 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 在计算机系统中,数据的存储方式对性能、兼容性以及编程有着深远的影响。 现代计算机都是以字节编址的,即每个地址下标对应一个字节,如果我们要以地址下标指代一个多字节数据(如 4 字节的 int),就需要考虑四个字节的排列顺序。大端(Big Endian)和小端(Little Endian)是两种常见的数 阅读全文
posted @ 2024-11-28 10:14 Ofnoname 阅读(229) 评论(0) 推荐(0) 编辑