【算法拾忆】教程文章相关的互联网学习教程文章

排序算法----插入排序【代码】【图】

1、如何进行插入排序650) this.width=650;" src="/upload/getfiles/default/2022/11/9/20221109015215511.jpg" title="捕获.PNG" />2、程序实现void InsertSort(int* a,size_t size) {assert(a);//注意是size-1for(int i = 0;i < size-1;i++)//7 3 6 2 8end只能到2的位置,tmp到8的位置,否则将越界{ int end = i; int tmp = a[end + 1]; while(end >= 0 && tmp < a[end]) { a[end+1] = a[end]; end--; } a[...

最大熵算法及简单样例【图】

近期在学模式识别,正在看Introduction to Pattern Recognition这本书,挺不错的一本书。好。以下和大家一起来学习最大熵算法。首先,最大熵算法是干什么的呢?通常是用来预计一个分布,至于把分布预计出来之后用来干什么,那要视详细问题而定。那这里的“熵”是什么意思呢?它是指信息熵,一个分布的均匀程度能够用熵的大小来衡量。熵越大,就越均匀。而最大熵就是要求在满足特定约束下,分布是什么样的时候。熵最大。也就是越均匀...

算法小结-冒泡、选择排序、直接插入排序【代码】

1.冒泡排序法:比较相邻的两个元素,如果前边比后边大,就对调两元素,一趟下来,最大的数放在最右边,就像泡泡上升一样。代码:/** 冒泡*/staticvoid bubble_sort(int[] array){for (int i = 0; i < array.length; i++){for (int j = i; j < array.length; j++){if (array[i] > array[j]){int temp = array[i];array[i] = array[j];array[j] = temp;}}}}2.选择排序:每一趟选择最小的一个元素,放在已排好的元素的最右边,直至全部...

KMP算法板子【代码】【图】

luogu P3375 【模板】KMP字符串匹配题目描述如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。为了减少骗分的情况,接下来还要输出子串的前缀数组next。(如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。)输入输出格式输入格式: 第一行为一个字符串,即为s1(仅包含大写字母)第二行为一个字符串,即为s2(仅包含大写字母) 输出格式: 若干行,每行包含一个整数,表示s2在...

机器学习之--kmeans聚类简单算法实例【代码】【图】

import numpy as np import sklearn.datasets #加载原数据import matplotlib.pyplot as plt import random#点到各点距离def PointToData(point,dataset):a = np.multiply(dataset - point,dataset - point)# print(‘a‘,a)distence = np.sqrt(a[:,0]+a[:,1])return distence#选择初始的k个中心簇def startpoint(k,dataset):m, n = np.shape(dataset)index1 = random.randint(0,len(dataset) - 1)A = [] # 初始的k个中...

斐波那契递归和非递归算法【代码】

附蓝桥杯题目链接,这个不能直接在上面跑,还是需要改一改的,因为涉及到取余的问题。修改fib2()里面的c=(a+b)%10007思路:刷的蓝桥杯,那个还需要10007取余。一开始也是看得一愣一愣的。。非递归方法,算起来还是蛮快的。而且,递归方法存在问题还真的不少。不过,这种递归思想是值得学习的,算是入门经典了。代码:#include <iostream>using namespace std; //递归算法 很容易超时 int fib(int n) {if(n==1||n==2)return 1;elser...

HDU 2586 LCA离线算法 tarjan算法

LCA tarjan算法模板题 题意:给一个无根树,有q个询问,每个询问两个点,问两点的距离。用tarjan离线算法算出每个询问的两点的最近公共祖先ans[i]=dis[x[i]]+dis[y[i]]-2*dis[z[i]]; // x[i],y[i]分别存储每次询问的两点,z[i]存储这两点的最近公共祖先#include "stdio.h" #include "string.h"int tot,n,m; int f[40010],x[40010],y[40010],z[40010],dis[40010],vis[40010],head[40010];struct node {int to,next,v; }edge[80010]...

蓝桥杯算法 数的分解(JAVA)【代码】

问题描述????把2019分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法? ????注意交换3个整数的顺序被视为同一种方法,例如1000+1001+18和1001+1000+18被视为同一种。样例输出 ????40785算法思路????该算法需要将2019拆成三部分,并且三部分如果只是顺序不一样则视为同一种,因而我们可以通过两成for循环直接暴力解题,并在每层循环中键入一个check方法用于检查数中是否含有“2”或...

数据结构与算法分析(C语言描述)习题2.7【代码】

问题描述:假设需要生成前N个自然数的一个随机置换。例如,{4,1,2,5,2}和{3,1,4,2,5}就是合法的置换,但{5,4,1,2,1}却不是,因为数1出现了两次而数3缺没有。这个程序常常用于模拟一些算法。我们假设存在一个随机数生成器randInt(i, j),它以相同的概率生成i和j之间的一个整数。下面是三个算法:1.如下填入A[0]到A[N-1]的数组A;为了填入A[i],生成随机数直到它不同于已经生成的A[0],A[1], ... , A[i-1]时,再将其填入A[i]。2.同算法...

c语言实现bit反转的最佳算法-从msb-lsb到lsb-msb【代码】

问题实现如下转换的最佳算法是什么?0010 0000 => 0000 0100 具体的转换是从MSB->LSB到LSB->MSB, 所有的Bit都必须反转,那意味着,这并不是字节顺序的交换。最佳答案注意: 下面的算法都用C实现,但应该可以迁移到其它语言(只是不那么快的时候可别找我)。可选方案内存占用少(32位int,32位机器)(来源于这里)unsigned int reverse(register unsigned int x) {x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));x = (((x & 0x...

Mahout实现基于用户的协同过滤算法【代码】【图】

Mahout中对协同过滤算法进行了封装,看一个简单的基于用户的协同过滤算法。基于用户:通过用户对物品的偏好程度来计算出用户的在喜好上的近邻,从而根据近邻的喜好推测出用户的喜好并推荐。图片来源 程序中用到的数据都存在MySQL数据库中,计算结果也存在MySQL中的对应用户表中。package com.mahout.helloworlddemo;import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.S...

使用朴素贝叶斯算法,通过用户安装的APP列表来推测用户的性别

从本质上来说,这是一个分类问题,类似于通过邮件内容来推测垃圾邮件,通过用户的相关信息来推测用户是否会拖欠贷款,而通过用户的APP安装列表来推测用户的性别也是一个类似的问题。对于贝叶斯算法来说,我们首先需要一个训练集数据,这个训练集是一个已经打好标签的数据。而要对一堆的数据打标签,人工来做是不太合适的,在这里需要结合人类与计算机各自的优势,来半自动化的识别出比较明显的有性别倾向的APP的列表,再通过这些(...

《冒泡排序》算法设计之二【图】

冒泡排序过程 1.首先比较相邻的两个元素,如果前面数据大于后面数据的话,就将这两个数进行交换,依次推,直到完成第N-1个记录与第N个记录交换为止(第一趟起泡)。 2.然后再进行第二趟气泡。由第一趟气泡,可知末尾是最大数,所以第二趟之比较前N-1个数 3.第三趟…… 比较N-2个数 ................................................................................... 冒泡分析 通过上述的过程分析,可以知道冒泡就好比一个倒置...

机器学习/梯度下降算法【代码】

当在现实生活中的遇到问题时,我们总是希望找到最佳的解决方案。制造软件产品也是一样的道理,最优化的程序才是最理想的产品。最优化意味着获得最佳输出。它既是一个数学的重要分支,也在现实生活中有着重要的作用。现代的计算机科学和人工智能科学把最优化作为一个重要的领域来研究。我们也认为人工智能的一些算法,就是模拟了人类寻求实际问题最优解的过程。例如,利用人工智能算法设计软件,配合外部的电子设备例如摄像头识别人...

编程算法 - 食物链 并查集 代码(C)【图】

食物链 并查集 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有N只动物, 分别编号为1,2,...,N. 所有动物都属于A,B,C中的一种. 已知A吃B, B吃C, C吃A.按顺序给出两种信息K条.第一种: x和y属于同一类.第二种: x吃y. 信息之间可能会出错和矛盾, 求不正确的信息数.例如:有N=10只动物, 给定K=7条信息.(1) 1: x=101, y=1; 出错:没有101的动物.(2) 2: x=1, y=2; 动物1吃动物2.(3) 2: x=2, y=3; 动物2吃动物3.(4) 2: x=3, y...