# Python 归约 Python是一种高级编程语言,具有简单易学、可读性强的特点,广泛应用于数据分析、人工智能、网络开发等领域。在Python中,有一种常见的编程技巧叫做"归约",它的作用是将一个序列中的所有元素通过某种运算合并成一个结果。 ## 归约的基本概念 归约是指将一个序列中的所有元素通过某种运算合并成一个结果。常见的归约运算有求和、求积、求最大值、求最小值等。 在Python
原创 2023-12-13 11:16:36
51阅读
作者是一名沉迷于Python无法自拔的蛇友,为提高水平,把Python的重点和有趣的实例发在简书上。一、递归是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。使用递归解决问题,思路清晰,代码少。但是在主流高级语言中(如C语言、Pascal语言等)使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制时(如
在C++primer p618中介绍了递归实现的版本,主要的形式: template<typname ARGS> void print(const T&t,const ARGS&... rest) { print(t); print(t,rest...); } template<typename T ...
转载 2021-10-30 12:43:00
101阅读
2评论
Practice:使用递归函数计算阶乘(factorial) 1 def factorial(n): 2 if n==1: 3 return 1 4 else: 5 return n*factorial(n-1) 6 7 result = factorial(5) 8 print(result)   内存分析
转载 2023-05-26 08:41:15
110阅读
朗日乘子(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子,在有不等约束时使用KKT条件。前提是:只有当目标函数为凸函数时,使用这两种方法才保证求得的是最优解。1. 拉格朗日乘子:     这个问题转换为    &nbs
# Python 射线的科普与应用 射线(Ray Casting)是一种常用的图形学技术,广泛应用于计算机图形学、游戏开发和物理模拟中。它的基本思想是通过从一点发射射线,检测与多个对象的交点,以实现诸如碰撞检测、场景渲染和光线追踪等功能。在本篇文章中,我们将探讨射线的基本概念,并通过 Python 代码示例来展示其应用。 ## 射线的基本概念 在射线中,我们通常先定义一条射线,该射
原创 2024-08-23 04:19:02
229阅读
# 追赶:在Python中实现高效的追赶算法 ## 引言 在计算机科学中,追赶是一种常用于解决动态规划问题的技术,尤其是在处理一些具有最优子结构和重叠子问题的场景中。追赶的基本思想是通过使用一个或多个状态变量来追踪当前解的最优性。在本文中,我们将介绍追赶的基本概念,并通过Python示例展示其实现过程。 ## 追赶的基本概念 追赶的核心思想是利用动态规划的性质,通过对状态的空间
原创 10月前
63阅读
# Python递推实现 ## 1. 流程图 首先,让我们来看一下实现Python递推的整体流程图: ``` 输入初始值 循环执行递推计算直到满足条件: - 执行递推公式 - 判断是否满足条件 输出结果 ``` ## 2. 代码实现 接下来,我们将逐步介绍每个步骤需要做什么,并附上相应的代码。 ### 2.1 输入初始值 首先,我们需要用户输入初始值。这个初始值是
原创 2023-07-23 10:05:43
338阅读
一、枚举算法        枚举算法,将问题的所有可能的情况进行逐一列举,然后筛选出符合要求的一种程序处理算法。        枚举算法(特别是暴力枚举的时候)的缺点是,容易超时。一个计算机一般 1 秒最多运行 1e8 次,一旦超过 1e8 组数据,就有可能超时。       
1.直方图双峰 2.最大类间方差 3.迭代阈值化图像分割是一种最基本的图像分割方法,其基本原理就是选取一个或多个处于灰度图像范围之中的灰度阈值,然后将图像中各个像素的灰度值与阈值比较,并根据比较的结果将图像中的对应像素分成两类或多类,从而把图像划分成互不重叠的区域集合,达成图像分割的目的。全局阈值分割和局部阈值分割两种。若根据分割算法常用的分割方法有图双峰、最大类间方差、迭代等一、直方
二分图基本操作二分图的概念 二分图又称作二部图,是图论中的一种特殊模型。  设G=(V, E)是一个无向图。如果顶点集V可分割为两个互不相交的 子集X和Y,并且图中每条边连接的两个顶点一个在X中,另一个在Y 中,则称图G为二分图。 二分图的性质 定理:当且仅当无向图G的每一个环(即回路、圈,英文为circle)的结数均是偶(补充{why?}我的理解:若有回路,则为X->Y-&gt
在机器学习中,“肘部”是一种常用的选择聚类个数的技术。通过绘制不同聚类个数的 SSE(误差平方和)与聚类个数之间的关系图,可以直观地识别出最佳聚类数。在 Python 中实现肘部,能够帮助我们更好地选择模型参数。为了便于理解和实现相关的技术细节,本文将以“肘部python”为主题,从多个方面深入探讨,包括:版本对比、迁移指南、兼容性处理、实战案例、排错指南、性能优化。 ### 版本对比
# Python 冒泡排序法科普 冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过重复遍历待排序的序列,比较相邻元素,如果它们的顺序错误就把它们交换过来,直到整个序列有序。在这篇文章中,我们将详细介绍冒泡排序的工作原理,并提供 Python 代码示例,展示其实现过程。 ## 冒泡排序的工作原理 冒泡排序的基本思路是将最大的元素“冒泡”到数组的末尾。这个过程重复进行,每
原创 2024-10-24 04:04:17
64阅读
# Python 打靶:直观理解优化问题的求解 在数学优化、运筹学以及计算机科学领域中,求解最优化问题是一个极其重要的任务。各种算法都会被用到。其中,打靶(Shooting Method)是一种解决边值问题的数值方法。本文将通过 Python 编程实现打靶,同时带您了解打靶的基本原理和应用。 ## 1. 什么是打靶? 打靶起源于解决边值问题,边值问题是一类特殊的微分方程,其求解要
原创 10月前
253阅读
# 如何在 Python 中实现枚举 在编程领域,枚举是一种常用的算法思想,用于寻找问题的所有可能解。对于刚入行的小白来说,理解如何实现枚举至关重要。本文将给你一个详细的指导,使你能够在 Python 中实现枚举。 ## 流程概述 首先,我们简要介绍一下实现枚举的步骤。为了更清楚地理解,我将提供一个表格,以便你可以直观地看到整个过程: | 步骤 | 说明
原创 10月前
75阅读
# Python 追赶入门指南 在这篇文章中,我将向您介绍如何使用Python实现追赶。追赶是一种在运动学和算法中常用的技术,主要用于解决追逐问题。我们将一步步走过这个过程,确保理解每一部分细节。 ## 实现步骤 以下是实现追赶的基本步骤: | 步骤 | 描述 | |------|------------------------| | 1
原创 10月前
98阅读
简单移动平均简单移动平均的各元素的权重都相等。简单的移动平均的计算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n加权移动平均加权移动平均给固定跨越期限内的每个变量值以不同的权重。其原理是:历史各期产品需求的数据信息对预测未来期内的需求量的作用是不一样的。除了以n为周期的周期性变化外,远离目标期的变量值的影响力相对较低,故应给予较低的权重。 加权移动平均的计算公
在计算机图形学中,射线(Ray Casting)通常用于判断二维或三维空间中的点是否在某个多边形或物体内部。这个方法的核心在于发射一条射线来检测与物体的交点,从而判断点的位置关系。接下来,我们将深入研究如何在Python中实现射线,并逐步解决相关问题。 ## 背景定位 设想你正在开发一个游戏引擎,一个关键的功能是检测角色与物体的碰撞,以及确定某个点是否在特定区域内。这个功能依赖于射线的核
原创 6月前
37阅读
## 向量在计算机图形学中的应用 在计算机图形学中,向量(法线)是一种辅助计算光照、投影、碰撞检测等操作的重要概念。向量可以用于确定物体表面的方向和倾斜程度,从而使得渲染的图像更加真实和逼真。本文将介绍什么是向量,以及如何使用Python计算法向量。 ### 什么是向量? 向量是垂直于曲面的矢量,它垂直于曲面的每一个点。在三维空间中,向量通常使用三维向量表示,其方向和大小都与曲
原创 2023-07-21 09:52:07
427阅读
# 使用 Python 实现手肘 手肘(Elbow Method)是一种常用的聚类算法评估方法,特别是在确定 K-means 聚类的最佳 K 值时。本文将通过详细的步骤和代码实现手肘,帮助你理解整个过程。 ## 整体流程 在实现手肘之前,我们需要了解整个流程。以下是实现手肘的基本步骤: | 步骤 | 描述 | |------|------| | 1 | 导入必要的库 | |
原创 2024-10-23 06:09:55
151阅读
  • 1
  • 2
  • 3
  • 4
  • 5