꧁Q༒ོγ꧂
退役信奥生,精通c++,python等语言与各种算法
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法详解(六)---动态规划(DP)
本文介绍了动态规划(DP)的基本概念和常见应用。动态规划通过分解问题为重叠子问题并存储解来提高效率,具有最优子结构、重叠子问题和无后效性三大特征。文章详细讲解了斐波那契数列、爬楼梯问题、最长公共子序列(LCS)和最小路径和等经典DP问题的解题步骤,包括状态定义、转移方程、边界条件和计算顺序,并提供了C++实现代码及空间优化版本。这些案例展示了DP在解决最优化和计数问题中的强大能力。原创 2026-01-12 13:26:08 · 737 阅读 · 0 评论 -
算法详解(五)---搜索算法(DFS,BFS,A*,IDA*,回溯,记忆化搜索,剪枝策略)
本文全面介绍了C++中的搜索算法,从基础概念到高级实现。主要内容包括:搜索算法的定义与分类(线性、树形、图形搜索);基础查找算法如顺序查找(O(n))和二分查找(O(log n));深度优先搜索(DFS)和广度优先搜索(BFS)的原理与实现;以及回溯算法的通用框架。通过代码示例和复杂度分析,帮助读者系统掌握各类搜索算法的核心思想与应用场景。文章还推荐了可视化演示工具,便于加深理解。原创 2026-01-10 09:15:32 · 77 阅读 · 0 评论 -
算法详解(四)--排序算法(十大排序+动画演示)
本文详细介绍了C++中常见的排序算法及其实现。主要内容包括: 基础排序算法:冒泡排序、选择排序和插入排序的原理、实现代码及对比分析 改进算法:希尔排序的分组插入思想及实现 高级排序算法:堆排序的二叉树结构应用 算法对比表:全面比较了10种排序算法的时间复杂度、空间复杂度、稳定性等特性 每种算法均配有思路说明、动画演示和C++实现代码 这些排序算法是数据处理的基础,适用于不同场景,如小规模数据、几乎有序数据或需要稳定排序的情况。掌握这些算法有助于解决实际问题时选择最优方案。原创 2026-01-09 19:42:19 · 403 阅读 · 0 评论 -
算法详解(三)--递归与分治
本模块系统讲解C++中的递归与分治算法。核心内容包括递归三要素(边界条件、递归定义、递推关系)和调用栈机制,通过阶乘计算和汉诺塔问题展示递归思维。重点分析了递归优化技巧,如尾递归转循环、记忆化搜索避免重复计算(斐波那契数列案例),以及回溯算法在全排列问题中的应用。模块强调将复杂问题分解为相同形式的子问题,并通过递归调用栈和分治策略高效解决,同时指出递归可能存在的效率陷阱及优化方案。原创 2026-01-08 22:55:26 · 594 阅读 · 0 评论 -
算法详解(二)--算法思想基础
本文介绍了C++算法基础模块,重点讲解算法分析方法和暴力枚举与模拟思想。内容包括:1)时间复杂度与空间复杂度分析,使用大O表示法评估算法效率;2)暴力枚举策略,如排列组合生成和优化方法;3)模拟算法设计,包括过程模拟和状态机实现。文章提供了典型代码示例,并强调培养算法思维习惯,如从暴力解入手、复杂度预估和优化思考。最后给出学习建议和掌握程度检查,帮助读者巩固基础算法知识,为后续高级算法学习奠定基础。原创 2026-01-08 22:38:55 · 837 阅读 · 0 评论 -
算法详解(一)--算法系列开篇:什么是算法?
算法定义与特性算法是解决特定问题的明确有限步骤,具有五大核心特性:必须在有限步骤内结束(有穷性)、每步操作明确无歧义(确定性)、能用基本操作实现(可行性)、可接受输入数据、并产生输出结果。算法是抽象思想,不同于具体代码实现。效率评估体系通过时间复杂度和空间复杂度衡量算法效率。时间复杂度关注运行时间随数据规模的增长趋势,使用大O表示法描述;空间复杂度分析算法所需的额外内存空间。实际设计常需在时间与空间效率间权衡取舍。原创 2026-01-08 22:28:34 · 2088 阅读 · 0 评论 -
算法详解---大纲
本文详细介绍了C++算法学习的完整知识体系,共12个核心模块。从基础的算法思想、递归分治,到动态规划、图论算法等高级内容,系统性地构建了算法知识框架。每个模块包含关键知识点和典型应用场景,如排序算法、搜索优化、数据结构应用等。特别强调问题建模能力和实战技巧,包括算法选择策略、调试优化方法及竞赛准备要点。附录提供学习资源和路径建议,推荐通过典型题目实践巩固知识。该体系兼顾理论基础和实战应用,适合系统学习算法设计与优化技术。原创 2026-01-09 20:52:37 · 112 阅读 · 0 评论 -
C++ 入门完全指南-(一)--编程基础与环境搭建
本文介绍了C++编程语言的入门知识,主要包括三部分内容:1)C++语言概述,包括编程语言层次、C++发展历史和特点,以及其在游戏开发、系统软件等领域的应用;2)开发环境配置指南,推荐了GCC、Clang和MSVC等主流编译器,并提供了Windows环境搭建建议和验证脚本;3)C++程序结构讲解,从简单的"Hello World"示例到完整程序框架,详细说明了预处理指令、命名空间、函数声明等核心元素。文章还推荐了官方文档、学习网站和经典书籍等资源,适合编程新手系统学习C++基础知识。原创 2026-01-04 21:17:28 · 1093 阅读 · 0 评论 -
C++ 入门完全指南(二)--基本数据类型与运算
本章详细介绍了C++中的变量与数据类型,重点讲解了基本数据类型的分类和使用。内容包括整型(char、short、int等)、浮点型(float、double)、字符型、布尔型和字符串类型,每种类型都通过表格展示了其大小、范围和典型用法,并配有代码示例演示如何声明、初始化和操作这些数据类型。此外,还介绍了数据类型选择的重要性,包括内存管理、操作定义、精度控制和类型安全等方面。通过实际代码展示了如何获取各类型的取值范围和存储大小,帮助读者理解不同数据类型的特性和适用场景。原创 2026-01-05 18:38:55 · 501 阅读 · 0 评论 -
C++ 入门完全指南(三)--程序控制流程
本章介绍了程序中的条件判断结构,包括三种流程控制结构:顺序、选择和循环。重点讲解了if语句(单分支选择)和if-else语句(双分支选择)的使用方法,通过多个示例演示了条件判断的实际应用,如成绩等级判断、三角形类型判断和闰年判断等。同时强调了if语句的语法细节,包括大括号的使用、条件表达式等注意事项。此外还展示了嵌套if-else语句的用法,以及如何通过条件组合实现复杂逻辑判断。原创 2026-01-05 18:57:21 · 966 阅读 · 0 评论 -
C++ 入门完全指南(四)--函数与模块化编程
本章介绍了C++函数的基础知识,包括函数的作用、基本语法和参数传递方式。函数通过代码复用、模块化提高程序的可维护性和可读性。基本语法涵盖函数定义、声明与调用,演示了有返回值和无返回值函数的实现。参数传递部分详细对比了值传递(创建参数副本,不影响原始变量)和引用传递(直接操作原始变量)的区别,并通过交换变量等实例展示其应用场景。本章内容为后续函数高级特性学习奠定了基础,帮助读者掌握模块化编程的基本方法。原创 2026-01-06 21:30:57 · 506 阅读 · 0 评论 -
C++ 入门完全指南(五)--复合数据类型
本章介绍了数组的基本概念、声明与初始化方法,以及安全性问题。数组是存储同类型数据的连续内存结构,具有固定大小和随机访问特性。一维数组可通过多种方式声明和初始化,包括自动推断大小和部分初始化。示例代码展示了数组访问、修改、大小计算和内存地址分析等操作。特别强调了数组边界检查的重要性,演示了未初始化数组、越界访问的危险,并介绍了安全访问方法和C++11的std::array容器。此外还涉及哨兵值使用、多维数组初始化等内容,为后续算法和数据结构学习奠定基础。原创 2026-01-07 07:21:40 · 317 阅读 · 0 评论 -
C++ 入门完全指南(六)--指针与动态内存
指针基础与内存管理 本章介绍了指针的核心概念,包括内存地址、指针定义和使用方法。主要内容涵盖: 内存地址特性:展示了变量、数组和结构体的内存布局,不同类型变量的地址差异,以及内存对齐现象 指针基本操作:详细说明了指针的声明、初始化、解引用,以及void指针、空指针的正确使用方法 潜在风险:特别强调了野指针和悬垂指针的危险性,演示了未初始化指针和已释放内存指针可能导致的未定义行为 系统特性:通过代码示例分析了不同平台的指针大小差异(32位/64位系统)和字节序(大端/小端)问题 最佳实践:推荐使用nullpt原创 2026-01-08 20:49:33 · 284 阅读 · 0 评论
分享