- 博客(12)
- 收藏
- 关注
原创 分治法(Divide and Conquer)
它的核心思想是将一个大问题分解成若干个规模较小的子问题,递归地解决这些子问题,然后将子问题的解合并起来,得到原问题的解。总之,快速幂利用分治法将一个大的幂运算问题分解成多个小问题,以大幅度提高效率,尤其对于指数非常大的情况,它能显著减少计算的时间。的快速幂利用了二进制的特性,将指数 b 分解为多个二的幂的和。分治法将平面上的点集分成左右两部分,分别求解左右两部分的最近点对,然后再检查跨越分界线的点对是否更近。有三根柱子和若干个大小不同的盘子,盘子最初按大小顺序叠放在一根柱子上,最小的在上,最大的在下。
2025-03-31 15:56:38
997
原创 离散化(discretization)
离散化:把 无限空间中有限的个体 映射到 有限的空间 中去,以此提高算法的时空效率。给出一列数字,有时候这些数字的值的绝对大小不重要,而相对大小重要。例如给一个班级学生的成绩进行排名,此时不关心成绩的绝对值,只需要输出排名。“离散化”即用数字的相对值替代他们的绝对值。是一种数据处理技巧,把分布广疏的数据转为密集分布,从而让算法更快速、省空间地处理。离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。
2025-03-29 16:34:49
410
原创 前缀和(Prefix Sum) 与 差分 (Difference Array)
它应用于区间的修改和询问问题。把给定的数据集 A 分成很多区间,对这些区间做多次操作,每次操作是对某个区间内的所有元素做相同的加减操作,若一个个修改区间内的每个元素很耗时,引入差分数组 D,当修改某个区间时,只需要修改这个区间的端点,就能记录整个区间的修改,而对端点的修改很容易为 O(1)。具体来说,树上前缀和的目标是求解从根节点到某个指定节点,或者从任意节点到根节点之间的路径上的某种累积和(如节点的值的和)。此外,树上前缀和也可以用于计算子树的和,即计算从某个节点出发的子树的所有节点的值之和。
2025-03-29 16:30:29
1662
原创 倍增法(binary lifting)和 ST 算法(Sparse Table)
倍增法 和 二分法 的思想是 “相反”的,效率都很高。二分法是每次将解存在的空间缩小一半,倍增法是每次扩大一倍,快速扩展到大空间,线性的处理转化为对数级的处理,大大地优化时间复杂度。
2025-03-28 15:02:13
977
原创 基本算法—d.三分法(Ternary Search)
三分法(Ternary Method)(数学应用、决策应用、社会应用、三分类)三分法(Ternary Method),在不同的领域有不同的应用,主要指的是在某些情况下将问题或过程分成三部分进行处理。这里,我将从几个常见的角度介绍三分法,包括数学、算法和决策中的应用。一、三分法在数学中的应用在数学中,三分法通常指的是将一个区间分成三个部分,进行迭代计算的过程。最常见的应用是三分查找(Ternary Search),它是优化问题中寻找最优解的一种方法。1.
2025-03-27 11:31:11
737
原创 基本算法—b.尺取法(双指针法)(滑动窗口法)(two pointers)
尺取法(two pointers)尺取法(又称滑动窗口法)是一种常用于解决数组或字符串相关问题的算法技巧。它特别适用于那些需要处理连续 子数组或子字符串的问题,尤其是在时间复杂度要求较高的场合。1. 尺取法的基本思想尺取法的核心思想是通过维护一个“窗口”来不断扫描输入数据。在处理过程中,这个窗口的“大小”可以根据具体情况动态调整。窗口通常是一个连续的区间,它的“左端”和“右端”会在数据中滑动,从而高效地检查和更新相关的结果。
2025-03-26 21:13:18
822
原创 基本算法—a.算法复杂度(Algorithmic Complexity)
算法复杂度 是用于描述一个算法在执行时所需要的资源量,通常是时间和空间。
2025-03-26 21:09:04
865
原创 《数据采集与预处理》(林子雨) 书实验二 实现思路与教程(使用Python爬取豆瓣Top250-显示影片基本信息;存储影片详细信息;访问热搜榜并发送邮件)【爬虫实验&课程设计可参考】[含源码]
访问豆瓣电影Top250,获取每部电影的中文片名、排名、评分及其对应的链接,按照“排名-中文片名-评分-链接”的格式显示在屏幕上。,,在问题1的基础上,获取每部电影的导演、编剧、主演、类型、上映时间、片长、评分人数以及剧情简介等信息,并将获取到的信息保存至本地文件中。访问微博热搜榜(https://s.weibo.com/top/summary),获取微博热搜榜前50条热搜名称、链接及其实时热度,并将获取到的数据通过邮件的形式,每20秒发送一次到个人邮箱中。
2024-10-20 21:13:38
2144
原创 数据库系统概论(第6版)-课后习题答案-(第一章)
什么是:概念模型是按用户的观点来对数据建模(把现实世界的具体事务抽象、组织为某一数据库管理系统支持的数据模型)。从现实世界到概念模型的建模任务由数据库设计人员完成,也可以通过数据库设计工具辅助设计人员完成。概念模型实际上是现实世界到机器世界的一个中间层次作用:概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
2023-10-15 22:38:31
11175
11
原创 基于Python(tkinter库、random库、linecache库)实现的可以用来背四六级单词的小程序QwQ
四个文本文档中分别是四六级的单词和汉语释义,每个单词都在同一行对应。然后我们可以输入我们的答案来检验,答错了就会提示错误。答对了就会显示回答正确,我们可以开始下一个单词。这时候我们可以来一个六级词,然后就会给出汉语。那就写一个可以用来背英语单词的小程序。我们运行后可以得到这样的界面。最近不知道写点什么好=(
2023-09-11 22:59:20
337
1
原创 Python-零基础学Python-Python基础内容和语法学习-python学习笔记-通俗易懂-人生苦短,我学python.
python入门学习资料(0编程基础也可以使用)(相同内容的文件作者已上传,可以下载使用)关于编程............关于python...........序列结构..............控制结构..............函数...............面向对象编程.............文件...............异常...............(内容详细,文章末尾也附有其它相关内容.)
2023-02-24 21:29:31
1673
5
基于Python(tkinter库、random库、linecache库)实现的可以用来背四六级单词的小程序QwQ
2023-09-11
python基础学习资源整理
2023-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人