【Zig 入门】控制流:if、switch、while 与 for
承接前文 在前两篇文章中,我们学习了 Zig 的基础知识:变量与数据类型、数组与字符串,以及使用 defer 进行内存管理。掌握了这些基础概念后,今天我们就来探索 Zig 的**控制流(Control Flow)**机制。 控制流是编程语言的核心,它决定了程序的执行路径。Zig 提供了多种控制流结构: if - 条件判断 switch - 多分支选择 while - 条件循环 for -...
【Zig 入门】数组、字符串与内存管理
承接前文 在上一篇文章中,我们深入了解了 Zig 的基础知识:如何声明变量、理解数据类型,以及掌握代码块和作用域的概念。我们了解到 Zig 是一门强调显式优于隐式的语言,编译器的严格检查帮助我们在编译期就发现潜在问题。 今天,我们将继续 Zig 的学习之旅,探索三个核心主题: 数组(Arrays) - 固定大小的同类型数据集合 字符串(Strings) - Zig 中特殊的字节序列 内存...
【Zig 入门】对象、数据类型与代码块
Zig 的哲学 Zig 是一门现代、底层的通用编程语言,被许多程序员视为 C 语言的现代化改进版本。Zig 的核心理念可以用"少即是多"来概括——它不是通过不断增加新特性来变得现代,而是通过移除 C 和 C++ 中令人困扰的特性来实现改进。 正如 Zig 官网所言: “Focus on debugging your application rather than de...
【Zig 学习】Zig 入门指南:从零开始探索现代系统编程语言
前言:为什么选择 Zig? 最近偶然发现了 Nullclaw 这个项目——一个用 Zig 编写的轻量级工具。令我惊讶的是,它在保持出色性能的同时,二进制体积也非常小巧。这让我对 Zig 这门语言产生了浓厚的兴趣,决定深入探索一番。 Zig 是一门现代化的系统级编程语言,由 Andrew Kelley 于 2016 年创建。它的设计目标是成为 C 的更好替代品,主打简洁、健壮和可维护性。与 ...
数据结构实验 - Huffman编码
项目说明 本次实验项目是一个简单的Huffman编码工具,作了两种不同的实现。 由于在前面的课程中实现了Huffman树的C++类,所以这个项目实现起来相当容易,对应hufftree.cpp中的代码,但是该方法并没有用到书上的Huffman Table,而是直接利用指针的形式构建出了一颗树,因此没有去完成项目要求的输出Table的终态。 因此,为完成上述的要求,又撰写了一份与书上代码更接近...
数据结构 - 作业一
1 分析算法复杂度 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748// 1. x = 90; // 初始化xy = 100; // 初始化ywhile (y > 0) { if (x > 100) { x = x - 10;...
数据结构实验 - DNA序列匹配
实验过程 任务要求 分别利用BF算法和KMP算法实现DNA序列的匹配. 分析 在之前的课程中已经实现了两种匹配算法,只需要稍作修改,改成返回bool值即可. 核心思路: 遍历生成环状DNA序列; 利用算法匹配; 文件分配 dnamatch.cpp: DNA序列匹配算法; match.cpp: 两种匹配算法; utils.cpp: 读入与保持数据; gen_test.py:...
数据结构 - 字符串
本文将重点阐述字符串中的KMP模式匹配算法。 本文代码放置在Github处。 BF 算法 不多赘述了,给一个简要的代码: 123456789101112131415161718192021vector<int> bf_search(const string &text, const string &pattern){ vector<int&...
VPteam 神经网络任务 - 1
Task-1 训练⼀个⽹络识别⼿写数字 Task-2 利⽤BASNet将VPteam Python 问题中的所有图⽚转化为显著性图⽚ Solution-1 对于这个问题,其实在《PyTorch深度学习实践》完结合集这个教程中,前10章主要就是对于MINST数据集的训练,这个教程中的所有代码都放置在仓库中了,对于这个题目可以使用第10章的代码 首先我们先回顾一下这个课程中讲到构建神经网络...
数据结构 - 图书管理系统实现详解
本文是对数据结构与算法分析课程中第一个实验项目实现的详细解析, 由于原始代码很长, 所以文章中只会截取部分代码, 具体代码请在 Github仓库 中查看. 实现思路 在之前的文章中, 我们已经实现过了 SequentialList 和 SinglyLinkedList 两个类, 所以这里只需要基于这两个类构建子类 BookList 即可. 并且由于顺序表和链表我们实现的接口名称与参数位置基...