Happy月月鸟的博客

Thinking will not overcome fear but action will.

算法与数据结构 (Algorithms and Data Structures)

链表(4)

链表(Linked List)是一种线性数据结构,由一组节点(Node)组成,每个节点包含数据域和指向下一个节点的指针(或引用)。链表具有灵活的内存分配方式,适用于需要频繁插入和删除操作的场景。 1. 链表的结构 每个节点通常包含两个部分: 数据域(Data): 用于存储数据,可以是任何数据类型。 指针域(Next): 存储指向下一个节点的指针(或引用)。 链表通过每个节...

算法与数据结构 (Algorithms and Data Structures)

数组(3)

1. 数组理论基础 1.1 数组的定义 数组作为一种基础的数据结构,在计算机科学领域具有重要的地位,尤其在面试中常常被用来考察候选人的基本编程能力和代码掌控能力。数组问题的核心在于其思维过程通常相对简单,但要将这种思维过程准确地转化为代码实现,往往需要对数组的底层原理和内存管理有深刻的理解。 从内存存储的角度来看,数组是一组相同类型的数据元素的集合,这些数据被紧密地存储在连续的内存地址...

算法与数据结构 (Algorithms and Data Structures)

复杂度分析(2)

算法复杂度分析是评估算法性能的关键步骤。主要关注两个方面:时间复杂度和空间复杂度。以下是详细解析: 1. 时间复杂度(Time Complexity) 时间复杂度衡量的是算法执行所需时间的增长率,通常用大 O 符号(Big O notation)表示。它表示了输入规模 ( n ) 增加时,算法运行时间的变化情况。 常见时间复杂度 常数时间复杂度 ( O(1) ):算法...

算法与数据结构 (Algorithms and Data Structures)

初识算法与数据结构(1)

1. 算法 定义: 算法是一组在有限时间内解决特定问题的明确步骤或过程。这些步骤必须是可执行的,并且在相同的输入和运行条件下能产生相同的输出。 详细特征: 输入:接受一个或多个初始数据。 输出:生成一个或多个处理结果。 明确性:每个步骤必须清晰且无歧义。 有限性:必须在有限的步骤内完成。 可行性:每一步骤必须在有限时间内可执行。 例子: 欧几里得算法:计算...