Algorithms
Algorithm implementations and analysis.
Notes / Tag
23 public notes use this tag.
Related
Concepts
Notes
Algorithm implementations and analysis.
数组是一种将相同类型的数据元素存储在连续内存空间中的基础数据结构。
C语言数组属于构造数据类型。 一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。 因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
条件运算符的语法格式为
# 常量 常量是固定值,在程序执行的过程中不会发生改变。
if else 是C语言中最常用的一种选择结构(分支结构)
本章导览 C 语言除了基本数据类型(int、float、char 等),还允许用户自己构造数据类型来描述复杂的现实对象。本章介绍三种构造类型和一种类型重命名机制: 类型 关键字 用途 结构体 struct 将不同类型的数据组合成一个整体 共用体 union 多个成员共享同一段内存 枚举 enum 将变量的取值限定在有限集合内 类型重命名 typedef 为已有类型起一个更简洁的别名 本章涵盖:结构体(定义、变量、数组、指针) → 链表(见 c-linked-list) → 共
基本类型 整型类型 基本整型 短整型 长整型 双长整型 字符型 浮点类型 单精度浮点型 双精度浮点型 复数浮点型 枚举类型 空类型 派生类型 指针类型 数组类型 结构体类型 共用体类型 函数类型 --- 基本整型(int型):16位软件2个,32位软件4个字节 短整型(short int):32位软件占2个字节 长整型(long int):32位软件占4个字节 双长整型(long long int):8个字节,C99新增的
本章导览 程序运行时数据存放在内存中,程序结束后数据就消失了。要想持久化保存数据,必须将数据写入文件。本章讲解 C 语言中文件操作的完整流程。 本章涵盖:文件基本知识 → 打开与关闭文件 → 顺序读写(字符、字符串、格式化、二进制) → 随机读写 → 出错检测 核心流程:定义文件指针 → fopen 打开 → 读写操作 → fclose 关闭 相关基础:c-io、c-pointers、c-custom-types
函数(Function) 是一段可以重复使用的代码,用来独立地完成某个功能。
将格式化的数据发送到标准输出设备 语法:int printf(const char format, ...); 参数: format:格式化字符串,指定输出的格式。 ...:可变参数列表,根据格式化字符串中的格式说明符,提供要输出的数据。 printf() 可以在输出文本中指定占位符 占位符的含义指的是:这个位置可以用其他的值代入 C printf("%s will be better","tomorrow");
本章导览 链表是 C 语言中最重要的动态数据结构之一。与数组的连续存储不同,链表通过指针将散落在内存各处的结点串联起来,可以在运行时灵活地增删数据。 本章涵盖:链表基本概念 → 静态链表 → 动态链表的创建 → 链表的遍历输出 → 综合练习 相关基础:c-pointers、c-custom-types
算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 --- 假设变量 A 的值为 10,变量 B 的值为 20
本章导览 指针是 C 语言最强大也最容易出错的特性。指针 = 地址,理解了这一点,其余都是推论。 本章涵盖:指针基本概念 → 指针变量 → 指针运算 → 数组指针 → 字符串指针 → 函数指针 → 指针数组与多级指针 → 动态内存分配 → 综合小结
C程序主要包括一下部分: 预处理器指令 函数 变量 语句&表达式 注释
Computer science fundamentals covering algorithms and data structures.
Fundamental data structures and their implementations.
1. 文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。 2. 文件包括文本文件和二进制文件两种类. 型。 3. 文本文件和二进制文件的存储方式不同。 4. Python 为源文件指定的默认字符编码是UTF-8 5. 文件的打开方式对应为: ‘r’:只读方式 ‘w’:只写方式,若文件存在,覆盖原来内容 ‘a’:只写方式若文件存在,内容追加在原文件内容后面 ‘t’:文本文件模式 ‘b’:二进制文件模式 ‘x’:创建写模式,文件不存在则创建,存在则返回异常FileEx
核心提要 print() 是 Python 中最常用的内置函数,用于向控制台或文件输出信息。除了把文本显示在屏幕上,它还内置了几个非常实用的控制参数(sep、end、file 等),可以轻松实现数据排版和日志写入。
random库是Python的标准库,用于产生各种分布的伪随机数序列。 它采用梅森旋转算法生成伪随机数序列。 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间 2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间 3. random.randint(a,b): 返回随机生成的[a,b]之间的整数 4. random.randrange(a, b, step=c): 在指定范围内,在指定的基数和
定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d a, d b,而r = a - kb,因此d r 因此d是(b,a mod b)的公约数 假设d 是(b,a mod b)的公约数,则 d b , d r ,但是a = kb +r 因此d也是(a,b)的公约数 因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证
核心概念 循环链表是链表的一种变体。它的核心特点是:链表中最后一个节点的 next 指针不再指向 NULL,而是指向链表的头节点(Head),从而形成一个闭环。
树(Tree) 是 n(n>=0) 个结点的有限集。n=0 时称为空树。 在任意一颗非空树中: 1. 有且仅有一个特定的称为根(Root)的结点。 2. 当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树。