错题 算法

算法工程师学习运筹学 笔记一 P,NP,NPC问题

算法的时间复杂度 我之前理解的时间复杂度,是指的解决一个问题所需要的时间。但其实并不准确,时间复杂度应该是 当问题规模扩大后,程序需要的时间长度增长得有多快。 时间复杂度有两种类型:一种是O(1),O(log(n)),O(n^a)等,我们把它叫做多项式级的复杂度,因为它的规模n出现在底数的位置;另一 ......
运筹学 算法 工程师 笔记 工程

强化学习Chapter4——两个基本优化算法(1)

# 强化学习Chapter4——两个基本优化算法(1) 上一节导出了状态价值函数的贝尔曼方程以及最优状态价值函数: $$ \begin{aligned} V^\pi(s) &=E_{a\sim \pi,s’\sim P}[r(s,a)+\gamma V^\pi(s‘)]\\ &= \sum_{a}\ ......
算法 Chapter4 两个 Chapter

代码随想录算法训练营第九天| 复习字符串和双指针法(看卡哥文章复习)

KMP算法就是在一个字符串中寻找另一个子串,避免了“跳回下一个字符再重新匹配”,实现了在一次字符串的遍历过程中就可以匹配出子串。 28. 实现 strStr() (本题可以跳过) 卡哥建议:因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问,先留着,别期望立 ......
针法 随想录 训练营 九天 字符串

MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩|附代码数据

全文链接:http://tecdat.cn/?p=30832 最近我们被客户要求撰写关于K-Means(K-均值)聚类算法的研究报告,包括一些图形和统计输出。 本文首先阐明了聚类算法的基本概念,介绍了几种比较典型的聚类算法,然后重点阐述了K-均值算法的基本思想,对K-均值算法的优缺点做了分析,回顾了 ......
均值 数据 数据挖掘 算法 成绩

代码随想录算法训练营第八天| LeetCode 344.反转字符串 541. 反转字符串II 151.翻转字符串里的单词

344.反转字符串 卡哥建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数 题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD ......
字符串 字符 随想录 训练营 随想

BFPRT 算法学习

今天看了MIT 算法导论的视频课程,学习top K问题的时候,按leetcode惯例,会用大顶堆来解决,但是现在学到的BFPRT算法,记录一下 PS,此算法的最坏结果是O(n)PS,好厉害 1 package com.example; 2 3 import java.util.Arrays; 4 5 ......
算法 BFPRT

[算法学习笔记] [算法总结] dp背包模型

### 前言 dp背包模型属dp的一种,可以帮助我们快速的转移状态,解题。dp背包模型题的关键是判断这是哪种背包,属于什么类型的dp,只有判断出这是什么类型的背包,才能进一步朝这个方向思考。 ### 01背包 01背包的常规形式是有$n$种物品,每间物品都有重量和价值两个参数。每件物品都可以选or不 ......
算法 背包 模型 笔记

C练习题-数据结构与算法

1、将一棵二叉树的根节点放入队列,然后非递归的执行如下操作:将出队节点的所有子节点入队。以上操作可以实现哪种遍历( ) A、前序遍历 B、中序遍历 C、后续遍历 D、层序编历 答案:D; 二叉树的遍历: ①前序遍历:根、左、右 ②中序遍历:左、跟、右 ③后序遍历:左、右、跟 ④层序遍历:从上到下,从 ......
数据结构 练习题 算法 结构 数据

【ML算法基础】一欧元滤波器

前言 参考 1. 算法笔记 | 一欧元滤波器(1€ Filter, OneEuroFilter); 2. 1€ Filter Demo; 3. 一欧元滤波器(OneEuroFilter)_胖胖腐乳的博客-CSDN博客; 4. Noise Filtering Using 1€ Filter | Jaa ......
滤波器 欧元 算法 基础

[算法学习笔记] 多重背包--二进制拆分

### 多重背包 回顾一下多重背包是什么?有$n$种物品,每个物品都有有限个,每个物品都有重量和价值两个参数,你有一个限重为$W$的背包,求背包内价值最大。 我们朴素的做法是将多重背包拆分成01背包求解,因为每个物品都有有限个,假设第$i$个物品有$j$个,那么跑$j$次01背包即可。 但是这样复杂 ......
二进制 算法 背包 笔记

算法-19-计数排序

......
算法 19

[算法题python]728.自除数

自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有 ......
除数 算法 python 728

文心一言 VS 讯飞星火 VS chatgpt (70)-- 算法导论6.5 9题

# 九、请设计一个时间复杂度为 (n lgk)的算法,它能够将 k 个有序链表合并为一个有序链表,这里 n 是所有输入链表包含的总的元素个数。(提示:使用最小堆来完成 k 路归并。 ## 文心一言: 要设计一个时间复杂度为 O(n log k) 的算法,将 k 个有序链表合并为一个有序链表,可以使用 ......
文心 导论 算法 chatgpt VS

基础算法

# 复健$Day3$ 一些基础的算法(模板) ## $1.$位运算 进行状压$DP$时常用到位运算 ### $64$位整数乘法 https://www.acwing.com/problem/content/92/ ``` #include #include #define LL long long ......
算法 基础

基于机器视觉工具箱的车辆检测计数算法matlab仿真

1.算法理论概述 1.1、研究背景 随着城市化进程的加速和汽车保有量的增加,交通拥堵和交通事故等交通问题日益突出,如何对城市交通进行有效管理和调控成为了城市交通管理的重要任务。车辆检测计数是交通管理中的一个重要问题,它可以用于交通状况的监测、交通流量的统计以及交通信号灯的控制等。因此,研究基于机器视 ......
工具箱 算法 车辆 视觉 机器

算法-18-希尔排序

......
算法 18

算法笔记(二)—— 认识N(logN)的排序算法

递归行为的时间复杂度估算 整个递归过程是一棵多叉树,递归过程相当于利用栈做了一次后序遍历。 对于master公式,T(N)表明母问题的规模为N,T(N/b)表明每次子问题的规模,a为调用次数,加号后面表明,除去调用之外,剩余语句的复杂度是多少,算出d。根据上次三个判断公式进行算法时间复杂度计算。 归 ......
算法 笔记 logN

算法-15-归并排序

......
算法 15

C/C++ 数据结构五大核心算法之动态规划算法-给你一根长度为 n 的金条,请把金条剪成 m 段 (m 和 n 都是整数,n>1 并且 m>1)每断金条的长度记为 k[0],k[1],…,k[m].请问 k[0] k[1]…*k[m]可能的最大乘积是多少?

动态规划也是一种分治思想,但与分治算法不同的是,分治算法是把原问题分解为若干子问题,自顶向下,求解各子问题,合并子问题的解从而得到原问题的解。动态规划也是自顶向下把原问题分解为若干子问题,不同的是,然后自底向上,先求解最小的子问题,把结果存储在表格中,在求解大的子问题时,直接从表格中查询小的子问题的 ......
金条 算法 长度 乘积 数据结构

代码随想录算法训练营第四十五天| 739. 每日温度 496.下一个更大元素 I

739. 每日温度 单调栈的思路: 如果要找左边第一个比当前数字大的节点 这个栈里面存放的是index,大——》小 如果一个新节点,比栈顶大,那么就是栈顶的第一个大于它的节点 代码: 1 // 单调栈:一维数组,寻找 元素右边,或者左边自己大或者小的元素的位置 2 3 // 要求:找到比当前节点值高 ......
随想录 训练营 随想 算法 元素

算法-13-堆排序

......
算法 13

算法-12-快速排序-快排的最好最坏情况

class Solution { public int[] sortArray(int[] nums) { quickSort(nums, 0, nums.length - 1); return nums; } public void quickSort(int[] nums, int l, int ......
算法 情况 最好 12

算法-11-快速排序

......
算法 11

LeetCode从算法到算命——每日一题(0802)

LeetCode从算法到算命—每日一题(0802) # 822. 翻转卡片游戏 ## 题目信息 在桌子上有 n 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字 ......
算法 LeetCode 0802

算法-09-插入排序

......
算法 09

m基于大规模MIMO技术的5G网络上下行功率优化算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 基于大规模MIMO技术的5G网络上下行功率优化算法"是针对5G网络中的大规模多输入多输出(MIMO)系统进行功率优化的一种算法。该算法旨在通过优化上行和下行通信的功率分配,以实现网络资源的高效利用、提高系统容量和降低干 ......
算法 功率 大规模 上下 matlab

代码随想录算法训练营第四十四天| 647. 回文子串 516.最长回文子序列

647. 回文子串 要求: 找出回文子串的个数 思路: 设置起始节点 如果头尾相等,且是相差为1,指定回文 如果相差很多,那么就看它的字串 代码: 1 // 要求:找出 正反相等,且连续字符,开始结束位置不同,也认为是一个 2 // dp[n][n] 起始-中止位置 3 // 4 // 如果两边相等 ......
回文 随想录 训练营 序列 随想

算法-08-选择排序

选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素, 存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 # 简单 li_new = [] def select ......
算法 08

采用PCA算法&KMeans算法来实现用户对物品类别的喜好细分(菜篮子分析)(附带数据集下载)

实现该项目的流程如下 """ 项目:用户对物品类别的喜好细分(菜篮子分析) 主算法:PCA降维算法 KMeans算法 总思路 1、导包 2、获取数据 3、数据处理 5、特征工程(使用PCA降维) 6、使用KMeans算法进行模型训练 7、模型评估 """ First of all!!导包 # 1、导 ......
算法 菜篮 菜篮子 类别 物品

算法-06-冒泡排序

import random def bubble_sort(li): for i in range(len(li) - 1): for j in range(len(li) - i - 1): if li[j] > li[j + 1]: li[j], li[j + 1] = li[j + 1], l ......
算法 06