0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度 0.3 相关概念 稳定:如果a原本在b前面 继续阅读
Search Results for: 图解算法
查询到最新的12条
ChatGPT 使用 强化学习:Proximal Policy Optimization算法(详细图解)
ChatGPT 使用 强化学习:Proximal Policy Optimization算法 强化学习中的PPO(Proximal Policy Optimization)算法是一种高效的策略优化方法,它对于许多任务来说具有很好的性能。PPO的核心思想是限制策略更新的幅度,以实现更稳定的训练过程。接下来,我将分步骤向您介绍PPO算法。 步骤1:了解强化学习基础 首先,您需要了解强化学习的基本概念,如状态(state)、动作(action)、奖励(reward)、策略(policy)和价值函 继续阅读
七大经典排序算法图解
插入排序 ①直接插入排序 基本思想 每次从一个有序序列开始,将待排元素与有序序列中的元素从后往前逐个比较, 若有序序列中的元素大于待排元素,则将较大的元素往后覆盖; 否则,将待排元素插入其前面,并结束此轮比较。 动图演示 代码实现 void InsertSort(int* a, int n) { for (int i = 0; i < n - 1; i++) { int end = 继续阅读
C语言 八大排序算法的过程图解及实现代码
目录 前言 一、插入排序 时间复杂度 空间复杂度 代码实现(升序) 二、希尔排序 时间复杂度 空间复杂度 代码实现 三、选择排序 时间复杂度 空 继续阅读
java实现LRU缓存淘汰算法的方法
LRU算法:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的缓存(即使该缓存被访问的次数最多)。 如何实现LRU缓存淘汰算法 场景: 我们现在有这么个真实场景,我在爬取某个网站时,控制该网站的代理IP并发数,太多会搞垮对方网站的对吧,要蹲号子的呢。这里我需要维护一个代理IP代理池,而且这些IP肯定不是一直都很稳定的,但是又不能取一个就丢一个,这样太浪费资源。所以我会将这些IP缓存起来,进行按需提取,采用LRU 继续阅读
使用cocos2dx实现碎片炸裂 P2(凹多边形的三角切割算法)(修订1)
上一章虽然已经能够将纹理碎片化,但是固定一条边,然后依次匹配第三个顶点的作法是无法适用于凹多边形的。 作为一个阿里眼里的菜逼,之前想着这个算法应该很简单,结果网上的各种转载也没找到个说清楚的文章,所以我将算法设计出来并实现了。本章将说一说如何“肢解”凹多边形。注意,这里仅仅是凹多边形,而不是形套洞,洞套形的套娃式复杂多边形,肢解那种多边形的算法相对更为复杂。而且最关键的 继续阅读
算法程序设计 之 循环赛日程表(2/8)
一、实验目的: 理解并掌握分治算法的基本思想和设计步骤。 二、实验内容 设有n个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次; (3)当n是偶数时,循环赛进行n-1天,n为奇数时,循环赛进行n天。 程序代码࿱ 继续阅读
算法程序设计 之 最长公共子序列(4/8)
一、实验目的: 理解并掌握动态规划算法的基本思想和设计步骤。 实验内容若给定序列X={x1,x2,...,xm},Z={z1,z2,...,zk},若Z是X的子序列,当且仅当存在一个严格递增下标序列{i1,...,ik},使得对于所有j=1,2,...,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递 继续阅读
算法程序设计 之 矩阵连乘(3/8)
一、实验目的: 理解动态规划算法的基本思想和设计步骤; 掌握动态规划算法的典型应用范例——矩阵连乘。 二、实验内容 矩阵连乘 给定n个可乘的数字矩阵A1,…,An,以及矩阵的阶p0* p1, p1* p2,…, pn-1* pn,求给定矩阵链的最优计算次序使得所需要的数乘次数最少。 例如,求以下6个矩阵连乘积的最少数乘计算次数及所采用的乘法次序。 A1:30*35;A2:35*15;A3:15*5&# 继续阅读
2023年最新智能优化算法之——IBI逻辑优化算法(IBL),附MATLAB代码
今天给大家带来一个有意思的智能优化算法,IBL算法。 先说效果:在CEC2005函数集测试,基本上毫无压力,把把都能预测的很准确,而且速度极快。大家可以自行尝试哈。 为啥说这个算法有意思呢,大家看IBL的英文全称是:Incomprehensible but Intelligible-in-time logics,我在这里给大家直译成中文就是:难以理解但又能及时理解的逻 继续阅读
算法程序设计 之 模糊数字、真假银币(1/8)
内容 模糊数字、真假银币 一、目的: 理解并掌握枚举算法的基本思想和设计步骤。 二、内容 1模糊数字 问题描述:一张单据上有一个5位数的编码,因为保管不善,其百位数已经变得模糊不清。但是知道这个5位数是57和67的倍数。现在要设计一个算法,输出所有满足这些条件的5位数,并统计这样的数的个数。 输入:每一行对应一个测试样例,每一行包含4个数字,依次是万位数、 继续阅读
chatGPT教你算法(1)——常用的排序算法
0. 引言 最近喜闻ChatGPT能够帮助我们认识世界了,我必须得作为先行者下场一波了。虽然ChatGPT对主观的一些看法是拿不准的,但是常规的基础性教学真的是信手拈来,别的地方不说,作为助教,我给他打200分。 这真的让我想起来了小时候看的一个小说《师士传说》中的没有感情的牧,两者真的是太像了。 好了闲话不说,我们来看看ChatGPT教你常见的排序算法吧!是不是通俗易懂 继续阅读