- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 算法入门(7)——简单搜索(1)
本文介绍了迷宫最短路径问题的两种搜索算法:深度优先搜索(DFS)和广度优先搜索(BFS)。DFS通过递归回溯探索所有可能路径,最终找到最短解,但效率较低;BFS通过队列按层次遍历,首次到达终点时即为最短路径,效率更高。两种算法的时间复杂度均为O(nm),适用于N×M网格的迷宫问题。文章包含算法原理、流程图解和C++代码实现,并通过具体示例演示了两种搜索过程。BFS由于能直接找到最短路径,更适合解决此类问题。
2026-08-05 21:30:27
161
原创 算法入门(6)——线性数据结构
本文介绍了四种基本线性数据结构及其特性:1)数组支持O(1)随机访问但插入/删除效率低;2)链表实现O(1)增删但需遍历访问;3)栈遵循LIFO原则,仅允许栈顶操作;4)队列采用FIFO机制,支持双端操作。通过对比表格展示了各结构在插入、删除、查询等操作的时间复杂度差异。文章包含C++代码示例(链表、栈、队列的实现),强调根据实际需求选择数据结构的重要性,为后续算法学习奠定基础。
2026-07-23 17:51:36
176
原创 算法入门(5)——递推与递归
本文介绍了算法中递推与递归的核心概念。递推通过已知信息逐步推导新信息,适用于阶乘求和等问题;递归则是函数自我调用,适用于斐波那契数列等递归定义的问题。文章通过阶乘求和、斐波那契数列等具体例题,展示了递推和递归的实现方法,并强调了终止条件的重要性。最后提供了两道递归练习题,帮助读者巩固所学内容。这两种思想是算法设计的基础,需要重点掌握。
2026-04-29 18:49:37
400
原创 算法入门(4)——初等数论基础(1)
算法竞赛里,数学题是并不少见的。有些题目甚至会把数学题和一些算法以一种不可思议的方式关联在一起,十分巧妙。因此,在学习更多的算法之前,数学是很有必要学习的。特别是数论部分的内容将会频繁出现。注:接下来我们对初等数论的研究将会聚焦自然数部分。任意一个大于 111 的正整数,除自身和 111 外,都有 ≥0\ge0≥0 个因数,这是我们小学就学过的内容。因数又称约数,指能整除某整数的非零整数。若整数 nnn 可被整数 mmm 整除(记作 m∣nm|nm∣n),则称 mmm 是 nnn 的因数,nnn 称为
2026-02-20 21:08:41
635
原创 算法入门(3)——二分法
二分”是大部分算法学习者最早学习的算法。二分的思想将会频繁出现在各种题目里,是很重要的一种算法。因此本篇文章我们单独开一篇来讲解二分法。二分法是一种常见的算法,它分为二分查找和二分答案。二分查找能在一些特定情况(下文将解释是什么样的特定情况)下在数组中以OlognO(\log n)Ologn的时间快速找到一个特定元素,作为对比,暴力查找(遍历数组查找)的时间复杂度是OnO(n)On的。
2026-02-11 21:29:15
870
原创 算法入门(2)——模拟、状态机
状态读入’-’读入’.’读入数字1. 确定符号322. 整数部分423.(负)整数部分434. 小数部分4注:数字表示转移到的状态编号,表示不存在此转移,表格只描述转移,而不描述每种情况应该执行的操作。得到如下流程图:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;数字数字数字数字其他字符/结束开始。
2026-02-07 00:24:26
746
原创 算法入门(1)——程序结构
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间,空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
2026-02-02 13:45:42
660
原创 Java从入门到小有所成
Java是一门面向对象的编程语言。它可以与C++相媲美,且比起C++更像是面向对象的语言。它是一门编译型语言,相比于解释型语言(如Python)来说运行速度更快。它连续多年成为最受欢迎的语言,是名副其实的“老大哥”。……到这里,Java的基础你已经学会了。当然后面的路还有很长,敬请期待我的续作吧!
2023-07-28 12:12:31
547
第三方程序用法.exe
2020-07-11
第三方程序用法.exe的.pyc(附属)
2020-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
3