算法笔记

以下是为您整理出来关于【算法笔记】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法笔记】技术教程文章

算法笔记_160:算法提高 约数个数(Java)【代码】【图】

目录1 问题描述2 解决方案 1 问题描述 输入一个正整数N (1样例输入12样例输出6样例说明  12的约数包括:1,2,3,4,6,12。共6个 2 解决方案 具体代码如下:import java.util.Scanner;publicclass Main {publicstaticvoid main(String[] args) {int count = 0;Scanner in = new Scanner(System.in);int n = in.nextInt();for(int i = 1;i <= n;i++) {if(n % i == 0)count++;}System.out.println(count);} } 原文:http://www.cnblo...

算法笔记--三分查找【代码】

好菜啊,现在才学三分。三分:查找凸形(凹形)函数的极大值(极小值)。模板1:double three_divide() {double l=0,r=1000;double mid=(l+r)/2;double mm=(l+mid)/2; while(r-l>=eps){if(F(mid)>F(mm))r=mid;else l=mm;mid=(l+r)/2;mm=(l+mid)/2;}return F(mid); } 模板2: double three_divide() {double l=0,r=1000;double m1=(l+l+r)/3;double m2=(l+r+r)/3; while(r-l>=eps){if(F(m2)>F(m1))r=m2;else l=m1;m1=(l+l+r)/3;m2=(...

算法笔记_164:算法提高 最小方差生成树(Java)【代码】【图】

目录1 问题描述2 解决方案 1 问题描述问题描述给定带权无向图,求出一颗方差最小的生成树。输入格式输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。输出格式对于每组数据,输出最小方差,四舍五入到0.01。输出格式按照样例。样例输入4 51 2 12 3 23 4 24 1 12 4 34 61 2 12 3 23 4 34 1 12 4 31 3 30 0样例输出Case 1: 0.22C...

【算法笔记】B1029 旧键盘【代码】

1029 旧键盘 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一行中输出坏掉的...

【算法笔记】基本算法分类

一、穷举法  思想:在没有很好的算法进行运算的情况下,可以尝试穷举所有情况。  EX:顺序找K值二、回溯、搜索  回溯的思想:能进则进,不能进则换,不能再后退的过程。  EX:八皇后、树和图遍历三、递归分治  思想:通过统一的方法,对整体中的部分进行循环调用,最终实现对整体的处理。  EX:二分找K值、快速排序、归并排序四、贪心法  思想:每次求解的时候都去看当前的最佳解,每次贪心求最佳最后得到的总体的结...

算法笔记_048:找零问题(Java)【代码】【图】

目录1 问题描述2 解决方案2.1 动态规划法 1 问题描述现需找零金额为n,则最少需要用多少面值为d1 < d2 < d3 < ... < dm的硬币?(PS:假设这m种面值d1 < d2 < d3 < ... < dm的硬币,其中d1 = 1,且每种硬币数量无限可得) 2 解决方案2.1 动态规划法本文编码思想参考自《算法设计与分析基础》第三版,具体讲解如下: 具体代码如下:package com.liuzhen.chapter8;publicclass ChangeMaking {publicvoid getChangeMakingN(int[] coi...

算法笔记_084:蓝桥杯练习 11-1实现strcmp函数(Java)【代码】【图】

目录1 问题描述2 解决方案 1 问题描述问题描述  自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇‘\0‘为止(注意‘\0‘值为0,小于任意ASCII字符)。如:  "A"<"B"  "a">"A"  "computer">"compare...

算法笔记--单调队列优化dp【代码】

单调队列:队列中元素单调递增或递减,可以用双端队列实现(deque),队列的前面和后面都可以入队出队。单调队列优化dp:问题引入:dp[i] = min( a[j] ) ,i-m < j <= i普通的做法是O(nlogn),但是当n很大是,这个复杂度就不行了,考虑用单调队列优化来达到O(n)。单调队列优化dp时维护的一般都是两个值{ id(下表),value(值)},且它们都保持单调。对于这个问题,我们维护一个两个值都单调递增的序列。查询:队首不断删除,直到...

【算法】一个小白的算法笔记: 归并排序算法的编码和优化 (,,? ? ?,,)【代码】【图】

参考资料《算法(第4版)》 — — Robert Sedgewick, Kevin Wayne 归并排序的概念归并排序的实现我是这样来描述的:先对少数几个元素通过两两合并的方式进行排序,形成一个长度稍大一些的有序序列。然后在此基础上,对两个长度稍大一些的有序序列再进行两两合并,形成一个长度更大的有序序列,有序序列的的长度不断增长,直到覆盖整个数组的大小为止,归并排序就完成了。 归并排序的两种实现方式:递归和循环归并排序有两...

数据结构与算法笔记 - 绪论【图】

数据结构与算法笔记 - 绪论 1. 什么是计算2. 评判DSA优劣的参照(直尺)3. 度量DSA性能的尺度(刻度)4. DSA的性能度量的方法5. DSA性能的设计及其优化x1. 理论模型与实际性能的差异x2. DSA优化的极限(下界) 计算机与算法计算机科学(computer science)的核心在于研究计算方法与过程的规律,而不仅仅是作为计算工具的计算机本身,因此E. Dijkstra及其追随者更倾向于将这门科学称作计算科学(computing science)。计算 = 信息处理计算...