- 博客(24)
- 收藏
- 关注
原创 康威生命游戏(附python源码)
本项目实现了一个高性能康威生命游戏模拟器,支持GPU/CPU双模式计算。系统采用Pygame构建图形界面,通过Numba优化CPU计算,可选CUDA实现GPU加速。核心功能包括经典生命游戏规则模拟、实时交互绘制、聚集生成初始状态等。可视化方面提供800×440高清网格、可调帧率(15-300FPS)和深色主题界面。交互功能包含可调画笔、暂停/恢复、清屏等操作。性能方面实现智能设备切换、内存优化和并行计算,适合大规模细胞模拟。环境要求Python3.11+,可选的NVIDIA显卡支持CUDA加速。
2025-08-19 14:52:30
645
原创 C++常见面试题-6.算法
本文整理了C++面试中常见的排序算法及其实现,包括:冒泡排序(O(n²)时间,稳定)、选择排序(O(n²),不稳定)、插入排序(O(n²),稳定)、希尔排序(O(n^1.3),不稳定)、归并排序(O(n log n),稳定)、快速排序(O(n log n),不稳定)、堆排序(O(n log n),不稳定)、计数排序(O(n+k),稳定)、桶排序(O(n+k),稳定)和基数排序(O(n*k),稳定)。提供了冒泡排序、快速排序和归并排序的C++实现代码示例,展示了基本排序逻辑和测试方法。
2025-08-19 14:24:10
838
原创 C++常见面试题-5.数据结构
本文整理了C++数据结构相关的面试问题,重点对比了数组与链表的存储方式、访问效率及适用场景,并提供了示例代码。同时阐述了栈(LIFO)和队列(FIFO)的特性、基本操作及典型应用,如函数调用和任务调度。此外还介绍了双端队列(Deque)的特点,说明其相比普通队列支持两端操作的高灵活性。全文通过具体代码示例展示了这些数据结构的实现方式和使用方法。
2025-08-19 14:23:38
671
原创 C++常见面试题-4.STL
STL(标准模板库)是C++的核心组件,包含六大模块:容器(存储数据)、迭代器(访问元素)、算法(操作元素)、函数对象(仿函数)、适配器(调整接口)和分配器(内存管理)。容器分为顺序容器(如vector、list)、关联容器(如set、map)和无序容器(如unordered_set)。vector适合频繁随机访问,list适合任意位置插入删除;map基于红黑树实现有序存储,unordered_map基于哈希表实现快速查找。STL各组件协同工作,为C++提供了强大的泛型编程能力。
2025-08-19 14:23:07
851
原创 C++常见面试题-3.C++11 及后续特性
C++11新特性概述:C++11相比C++98在性能、安全性、代码简化等方面有显著改进,包括移动语义、智能指针、auto类型推导、lambda表达式等。类型推导与别名部分详细介绍了auto和decltype的区别、优缺点,以及typedef与using定义类型别名的差异。移动语义与智能指针章节重点讲解了移动构造函数和移动赋值运算符的实现方式,通过MyString类示例展示了资源转移的机制。这些特性共同提升了C++的编程效率和性能表现。
2025-08-19 14:22:21
988
原创 C++常见面试题-2.C++类相关
本文总结了C++类相关的重要面试知识点,包括: 类的三大特性:封装(隐藏实现细节)、继承(代码复用)和多态(运行时动态行为) 面向对象编程的意义和优势,如代码复用、封装性、可维护性等 不同继承方式(公有/保护/私有)的区别及访问规则 组合与聚合的概念及其相比继承的优缺点 构造函数和析构函数的作用及调用顺序(基类先构造后析构) 文章通过代码示例详细说明了核心概念,适合C++面试准备时快速回顾类相关的重要知识点。
2025-08-19 14:21:34
549
原创 C++常见面试题-1.C++基础
本文整理了C++基础知识相关的面试问题,主要包括语言特性、关键字、内存管理等方面。内容涵盖C++与C的主要区别、基本数据类型、指针与引用差异、结构体与联合体区别、const/volatile等关键字用法、typedef与#define区别、static作用、auto与decltype区别、nullptr优势等。还介绍了C++内存分区(栈、堆、全局/静态存储区等)的特点,以及动态内存管理的注意事项。这些问题涉及C++基础但关键的概念,是程序员面试中常见的考察点,对理解C++语言特性和内存管理机制有重要帮助。
2025-08-19 14:18:41
625
原创 用python模拟天体运动(二体运动与天体轨道稳定问题)
事实上,它们的图像都是这样的形势的。有趣的是,行星始终在一个环形区域内运动。而这个轨道是稠密的,也就是说,只要时间足够,行星就能够与该环形区域内的任意一点无限接近。当且仅当 1
2024-03-18 17:00:06
1984
原创 C++初阶 类(上)
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。值得注意的是,类的定义有两种。第一种是类中的成员函数在类当中定义;第二种是类中的成员函数在类当中声明,在其他文件中定义。如:在实际当中,我们定义一个类经常都是采用声明定义分离的方法。
2024-03-07 19:31:12
2068
原创 C++入门(上 - C99)
如果函数的所有参数都是缺省参数,则该函数称为全缺省函数,若函数至少有一个参数是缺省参数,且并非所有的参数是缺省参数,则该函数称为半缺省函数。有时候,我们知道在命名空间之外,是不会有变量于该命名空间中的变量存在命名冲突的,因此我们可以直接将该命名空间展开,这样当我们想访问该命名空间中的元素的时候就不用一直都辛辛苦苦地打域作用限定符了。A:: 表示我将访问的是A作用域中的内容。中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存。值得注意的是,只有函数的返回类型不同是不构成函数重载的。
2024-02-28 23:23:20
573
原创 Linux系统常用指令
13.要求系统打印出我所指定的指令名称所在系统的所在路径,指令的本质是系统中的可执行文件。也可以采用:rm 普通文件路径 的方式来删除指定路径下的普通文件·。在这里我们默认加上了 -f选项以进行强制删除,你也可以不添加该选项。也可以采用 rm -rf 文件夹路径 的方式删除指定路径下的文件夹。也可以使用 -f选项强制删除,以防计算机总是询问你是否删除。14.列出目录内容,以长格式显示文件和目录的详细信息。22.将目录下的文件或文件夹剪切到指定目录。10.列出当前目录的文件名,包括隐藏文件。
2023-12-01 14:45:49
644
原创 顺序表&链表(及其相关代码)
而顺序表则是一个数组,只不过它会实时记录自己的长度,当长度不够的时候会自动扩容。值得注意的是扩容会有不少的消耗,因此我们每次都会扩容两倍或1.5倍。顺序表的好处是一个动态的数组更方便我们进行广泛的编程,适用性更强,且不会造成过多的空间浪费。顺序表的本质是数组,它们在内存上是连续存储的。而链表则是由散落的点,通过地址连接起来的链。链表的一个节点分为值域和指针域,值域用于存储当前节点的数值,以单链表为例,指针域存储的是其下一个节点的地址,链表正是以这种方法链接起来的。
2023-12-01 11:39:48
451
原创 用C语言实现较为完善的扫雷游戏(含递归展开,有标记功能,第一步不会踩雷)
用C语言实现较为完善的扫雷游戏(含递归展开,有标记功能,第一步不会踩雷)
2023-07-31 22:59:02
441
1
原创 个人学习计划与目标
在当今时代,计算机的效率是如此的高,不好好利用实在可惜。除此之外,我认为学习C语言也是非常重要的,因此我将以它作为入门,将来还打算学习C++。我对于数学,物理学,天文学等方面都非常感兴趣,较喜欢偏理论方面的研究。目前学习过卓里奇数学分析,高等代数,复变函数与积分变换,常微分方程和偏微分方程,理论力学和电动力学。我叫做汪培祥,是一名来自于福建理工大学的信息与计算科学专业22级的学生,对数学,物理学,计算机都很感兴趣。喜欢研究数学和物理学方面的问题,同时很乐意利用编程来处理数学和物理学方面的问题。
2023-07-09 15:11:47
219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅