自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 回溯法:(二)旅行者售货员问题(TSP)

旅行者售货员问题,核心目标是:给定 n 个城市和两两城市间的距离,找到一条经过每个城市且最后回到起点的最短路径。

2026-03-09 12:05:19 242

原创 回溯法:(1)生成 0 和 1 的全排列

回溯法(Backtracking)是算法设计中一种非常重要的思想,核心是 “试探 - 回退”:在解决问题时,逐步构建解的路径,当发现当前路径无法得到有效解时,就回退到上一步,尝试其他可能的选择。本文将通过一个经典案例 —— 生成 0 和 1 的全排列,带你理解回溯法的底层逻辑和实现方式。

2026-03-07 11:35:23 47

原创 子集树:用回溯法生成集合的所有子集

本文系统讲解了子集树的原理与实现。子集树是一种满二叉树结构,通过"选或不选"每个元素的二分支决策,枚举集合所有子集。文章详细分析了子集树的递归构建过程、状态记录方法以及回溯操作,给出了完整的C++实现代码,并展示了运行结果。同时讨论了优化输出格式的方法,分析了算法的时间复杂度(O(n×2ⁿ))和空间复杂度(O(n))。子集树作为回溯算法的基础模型,适用于组合问题、0-1背包等多种场景,是理解回溯思想的经典案例。

2026-03-07 11:17:08 278

原创 全排列算法:递归(排列树)与非递归(字典序)实现

全排列是算法领域的经典问题,核心是生成一个序列的所有可能排列组合。本文将从和两种思路出发,详解全排列的实现原理与代码,帮助读者理解两种方法的核心逻辑。

2026-03-06 18:12:14 86

原创 二分查找完全指南(基础进阶)

二分查找是一种高效的搜索算法,适用于有序数组,时间复杂度为O(logn)。基本框架包括初始化指针、循环条件和边界更新,关键要注意循环终止条件和中间值计算方式。对于含重复元素的数组,进阶应用可以查找目标值的最左或最右边界,通过调整边界更新逻辑实现。虽然二分查找原理简单,但实际应用中容易在边界条件、重复元素处理上出错。此外,二分查找在单链表等非随机访问结构中的实用性较低。掌握这些核心要点能有效提升算法应用能力。

2026-03-03 23:26:44 376

原创 1.线性结构之顺序表

顺序表是用一段物理地址连续的存储单元,依次存储线性表中的元素。简单来说,就是把数据 “排成一串” 存放在连续的内存空间里,每个(元素)紧紧挨着前一个。这种 “连续存储” 的特性,让顺序表可以通过元素的索引(位置)直接访问数据—— 比如想找第 i 个元素,无需遍历前面的元素,直接通过公式计算地址即可(这是它与链表的核心区别)。

2025-10-22 23:12:50 1505

原创 C语言指针(基础篇从地址底层到指针)

本文系统讲解了C语言指针的核心概念与操作。首先介绍了内存地址的基础知识,包括内存编址方式、数据类型存储占用空间等。其次详细解析了指针的定义、声明语法及初始化操作,强调指针是存储地址的特殊变量。通过实例演示了取地址运算符(&)和取值运算符(*)的使用方法,说明如何通过指针间接修改变量值。此外,深入探讨了指针与数组的关系,包括数组名的地址特性、指针步长计算以及多维数组的指针访问方式。文中还穿插了大小端存储、指针类型转换等扩展知识,并提醒注意野指针风险。全文以代码示例辅助理论讲解,帮助读者全面理解指针的工

2025-09-23 16:02:36 1518

原创 结构体详解:让数据排列更“有条理”

本文系统介绍了C语言结构体的核心概念与使用要点。主要内容包括:1.结构体的定义与声明方式,包括匿名结构体和typedef简化;2.结构体变量的创建与初始化方法;3.成员访问的两种操作符(.和->)及其应用场景;4.结构体的嵌套定义与访问;5.结构体作为函数参数的传值/传址方式;6.结构体指针的动态内存分配;7.内存对齐规则与结构体大小计算;8.位段的特殊用法。文章通过学生信息管理等实例,详细讲解了结构体在数据组织和内存优化中的重要作用,并总结了常见错误及注意事项,为C语言复合数据类型的使用提供了全面指

2025-08-21 10:19:08 1429

原创 扔鸡蛋零界楼层问题(2个鸡蛋,n层楼)

摘要:针对2个鸡蛋和n层楼的问题,探讨了四种寻找临界楼层h的方法: 1)暴力逐层法(最坏n次); 2)二分法(效率不稳定,最坏达n/2次); 3)固定间隔法(需经验调整); 4)最优间隔法(数学推导最小次数)。 最优解采用等差数列14+13+...+1≥100确定x=14次,实现最坏情况下14次内解决。不同方法体现了在鸡蛋数量和尝试次数间的平衡优化,最优解虽高效但仅适用于2个鸡蛋场景。

2025-08-13 00:17:23 909

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除