算法笔记
.
海洋 之心
阿里云社区专家博主,图神经网络-大数据-推荐系统研究者,专注于计算机领域前沿技术的分享等人工智能算法研究工作
展开
-
多入口BFS(上下左右)模板
public static void bfs(char[][] grid, boolean[][] visit, int i, int j) { Queue<int[]> queue = new LinkedList<int[]>(); queue.add(new int[] { i, j }); int[][] directions = new int[][] { { 0, 1 }, { 0, -1 }, { 1, 0 }, { -1, 0 } }; whi.原创 2021-05-25 10:31:07 · 184 阅读 · 0 评论 -
《王者荣耀》AI“绝悟”进化:达到人类顶尖水平,最强 20 关全面开放
来源【IT之家】IT之家 11 月 28 日消息 根据《王者荣耀》官方的消息,AI“绝悟”再次进化,成为 “绝悟完全体”,从以前只精通 40 个英雄,升级到了 100 + 英雄全覆盖,还学会了在 BP 环节(禁选英雄)派出最优英雄组合策略。官方表示,AI“绝悟”的实力比之前得到了大幅度提升,已经达到人类顶尖水平。最强的 20 关将于 11 月 28 日开放,接受 5v5 组队挑战。《王者荣耀》官方表示,技术团队只用了一年时间,就让 AI 掌握了所有英雄和技能。具体的做法是技术团队采用了一原创 2020-12-05 12:33:09 · 330 阅读 · 1 评论 -
重大突破!中国量子计算机“九章”问世!速度超谷歌“量子霸权”100亿倍
今日,潘建伟团队量子计算原型机“九章”问世,实现“量子霸权”。去年美国谷歌曾经推出了一台量子计算原型机“悬铃木”,当时国际科学界都给予很大关注,而一些莫名其妙的议论就占据了中国网络。为何量子计算很重要?因为算力就是战斗力。量子计算的强大在于能够提供强大算力。本次中国发布了76个光子的量子计算原型机“九章”。以速度来看,求解数学算法高斯玻色取样的速度只需200秒,而目前的超级计算机要用6亿年。通常认为,50个量子比特是证明量子计算机有望超越传统计算机的关键门槛。 同等来比,该量子计算系统处理高.原创 2020-12-04 11:31:33 · 4364 阅读 · 8 评论 -
C语言从零开始之Hello World
0X01 第一个程序开始的第一个程序是一个最简单的程序,也就是最经典的Hello World程序,它的功能为打印出Hello World。程序的内容非常简单,也是C语言编写程序的基本结构框架。下面就通过此程序开始介绍C语言。#include <stdio.h>main() { printf("hello world\n");}...原创 2020-12-03 16:41:39 · 1656 阅读 · 1 评论 -
苹果首款自研PCM1芯片居然吊打因特尔 !这款苹果M1芯片能“擎天”
苹果还M1搭配了一套完整的系统,让M1可以在其中发挥出最大的性能,这是Intel和AMD都不能比拟的,真正的软硬件结合,可以说是M1最大的地方,也是最无敌的地方。苹果在凌晨终于发布了公司历史上第二次重大变革,自研处理器M1登场。在40多分钟的发布会上,苹果继续使用十几年来的风格,描绘了一幅极具诱惑的愿景。这幅愿景当然是建立在现实中用户的“痛苦”上。5nm工艺,160亿个晶体管。这颗芯片采用5纳米制程工艺,CPU、GPU、缓存集成在一起,其中包含160亿个晶体管。苹果M1芯片拥有8核CPU,原创 2020-12-02 21:21:41 · 1502 阅读 · 5 评论 -
麒麟 990 系列揭秘:突破物理极限的第二代 7nm 工艺
来源【IT之家】北京时间下午16:30,华为在德国柏林的IFA展上,正式发布了麒麟990 5G版芯片。作为第一个完全集成了5G基带的移动处理芯片 华为首款旗舰5G SoC芯片,7nm+ EUV工艺制程3,首次将5G Modem集成到SoC上,方寸之地集成了约103亿晶体管4,如发丝作画,非奇迹而不为。承袭并进化麒麟优秀基因,融合巴龙卓越5G能力,以硬核技术与超前智慧,决胜千里。麒麟990处理器的硬件参数。麒麟990处理器是采用了7nm制程工艺打造的八核处理器,CPU部分采用三丛集的设计,原创 2020-12-01 20:46:44 · 3292 阅读 · 5 评论 -
华为发布全球最快AI训练集群!1024颗昇腾910组成,总算力相当于50万台PC
来自『IT之家』2019年 9月18日,第四届华为全联接大会开幕,华为首次发布计算战略,基于架构创新、投资全场景处理器族、有所为有所不为的商业策略、构建开放生态进行布局,计算产业新的大航海时代由此开启。同时,华为重磅发布了全球最快AI训练集群Atlas 900,加速科学研究与商业创新的智能化进程。 算力超强 比原世界纪录快出10秒据了解,Atlas 900由数千颗昇腾处理器组成,是当前全球最快的AI训练集群。有多快?在衡量AI计算能力的金标准ResNet-50模型训练中,Atlas 900只原创 2020-12-01 20:33:49 · 486 阅读 · 4 评论 -
Python爬虫百度
转载链接本文中的文章用于做笔记用,来源于网络,并非本人所写# -*- coding: utf-8 -*-import reimport requestsimport timefrom bs4 import BeautifulSoupfrom urllib.request import urlretrieveimport ioimport sys title = 'http://www.baidu.com'contextGF = []logList = [] def getT转载 2020-12-01 19:35:18 · 1092 阅读 · 1 评论 -
利用Python网络爬虫看众人对6G和5G的认识
近期状况:当很多用户还没用上5G的时候,清华大学就宣布已经开始研究6G了!那什么是6G呢?6G相比5G又有什么区别?6G能给我们的生活带来那些改变?我们为什么要提前布局6G?猛戳视频,你就都知道了!6G,即第六代移动通信标准,一个概念性无线网络移动通信技术,也被称为第六代移动通信技术。主要促进的就是互联网的发展。6G网络将是一个地面无线与卫星通信集成的全连接世界。通过将卫星通信整合到6G移动通信,实现全球无缝覆盖,网络信号能够抵达任何一个偏远的乡村,让深处山区的病人能接受远程医疗,让孩子们能接原创 2020-12-01 18:33:00 · 434 阅读 · 0 评论 -
从零开始掌握Python机器学习(循环神经网络、卷积神经网络)
本文中的文章用于做笔记用,来源于网络,并非本人所写,如有侵权,请您联系我标明出处或删除,3Q~只需十四步:从零开始掌握 Python 机器学习(附资源)Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教程或许能帮你成功上手,从 0 到 1 掌握 Python 机器学习,至于后面再从 1 到 100 变成机器学习专家,就要看你自己的努力了。本教程原文分为两个部分,机器之心在本文中将其进行了整合,原文可参阅:suo.im.转载 2020-12-01 18:21:10 · 515 阅读 · 1 评论 -
数据结构创建有向图(C++语言)
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己加油o~ 代码:/** *作者:魏宝航 *2020年11月30日,下午21:22 */#include<iostream>using namespace std;class Graphic {public: char vexs[999]; int graphic[999][999]; int num; Graphic(char vexs[], int edges[][..原创 2020-11-30 21:23:58 · 1284 阅读 · 2 评论 -
单链表的增删改查等操作(C++语言)
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己加油o~ 代码:/** *作者:魏宝航 *2020年11月30日,下午20:50 */#include<iostream>using namespace std;class Node {public: int data=0; Node* next=NULL; Node() {}; Node(int data) { this->data = data; }..原创 2020-11-30 20:51:18 · 297 阅读 · 1 评论 -
二分查找(Java语言)非递归
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己,加油o~ 二分查找:二分查找是基于有序序列的查找方法,一开始令【low - high】为整个序列的下标区间,然后每次测试当前【low - high】的中间位置mid=(low + high )/ 2,判断arr【mid】与查找值的大小。二分查找的高效之处在于,每一步都可以去除当前区间中的一半元素,因此时间复杂度是O(logn),这是十分优秀的。设计思想:二分查找法实质上是不断地将有序..原创 2020-11-29 13:44:55 · 231 阅读 · 1 评论 -
PAT B1009 说反话(Java语言)
题目来源:PAT B1009 说反话 不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己,加油o~ 题目描述:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的原创 2020-11-28 20:15:35 · 213 阅读 · 0 评论 -
判断字符串是否回文(Java语言)
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己,加油o~ 解题思路:判断首尾两字符是否相等不相等则返回false比较s.length()/2次s [ i ] 和 s [ s.length() - i -1 ]代码:/** *作者:魏宝航 *2020年11月28日,下午20:01 */ package 测试;import java.util.*;public class Test{ public static vo..原创 2020-11-28 20:05:03 · 449 阅读 · 2 评论 -
检查数独是否有效(Java语言)
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己,加油o~ 题目描述:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。解题思路:判断每个元素是否在1-9区间,再去判断重复判断列重复,传入i j位置,除去a【i】【j】,其余行是否等于a【i】【j】行重复同理..原创 2020-11-28 08:24:34 · 604 阅读 · 1 评论 -
由后序遍历和中序遍历构建二叉树(C++语言)
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己,加油o~ 设计思路:char* post为后序遍历的顺序char* in为中序遍历的顺序首先建立一个指针p,用循环在in中找到根节点left为左子树个数=p-in(指针差值)right为右子树个数(n-left-1)之后递归调用该函数构建左右子树注意:要想构建二叉树,必须知道中序遍历,这样才可以知道根节点,进而确定左右子树有前序和后序不能够构建二叉树代码:/** *作者:魏..原创 2020-11-27 22:01:34 · 1151 阅读 · 2 评论 -
由前序遍历和中序遍历构建二叉树(C++语言)
设计思路:char* pre为前序遍历的顺序char* in为中序遍历的顺序首先建立一个指针p,用循环在in中找到根节点left为左子树个数=p-in(指针差值)right为右子树个数(n-left-1)之后递归调用该函数构建左右子树代码:/** *作者:魏宝航 *2020年11月27日,下午15:50 */#include<iostream>using namespace std;class Node {public: char ch; N原创 2020-11-27 15:55:35 · 1824 阅读 · 4 评论 -
求二叉树的高度(C++递归实现)
1、实现思路:定义两个变量,left和right分别存储当点节点的左右子树的高度,最后返回根节点的左右最大值递归去遍历每个节点,如果一个节点存在左子树,就将它的left+1,如果存在右子树,就将其right+1,直到全部节点遍历完,最后得到根节点的left和right代码:/** *作者:魏宝航 *2020年11月27日,下午15:13 */int treeDepth(Node* root) { int left = 0, right = 0; if (root ==原创 2020-11-27 15:18:40 · 4073 阅读 · 4 评论 -
二叉树的四种遍历方式(前序遍历,中序遍历,后序遍历,层序遍历)C++语言
1、前序,中序,后序原理差不多,利用递归,只是各自的相对顺序不同而已2、层序遍历用了广度优先遍历用队列去存储根节点只要根节点的左孩子和右孩子不为空,继续入队然后将根节点出队直到队列中无元素为止出队顺序即为层序遍历顺序代码:/** *作者:魏宝航 *2020年11月27日,下午15:08 */#include<iostream>#include<vector>#include<queue>using namespace std;c原创 2020-11-27 15:13:05 · 227 阅读 · 1 评论 -
井号法(#)创建二叉树(利用前序遍历来建树)C++实现
利用#号法来创建二叉树输入:ABD##E##C#F##对应该输入的二叉树应为这样解题思路:用vector数组存储输入的节点数据用前序遍历的顺序去建树如果是#,则表明该节点为空否则先创建左子树,然后右子树递归调用代码:/** *作者:魏宝航 *2020年11月26日,下午23:55 */#include<iostream>#include<vector>using namespace std;class Node {public:原创 2020-11-26 22:56:07 · 2030 阅读 · 1 评论 -
二进制、八进制、十六进制、十进制任意进制的转换(Java语言)
解题思路:将一个P进制的数,转化为Q进制的数,分为两步:1、将P进制数转化为10进制的数 int y=0; int product=1; while(num!=0) { y+=num%10*product; num/=10; product*=p; }2、将十进制转化为Q进制的数 int[] arr=new int[50]; int length=0; do { arr[length++]=num%q; num/=q; }whil原创 2020-11-26 21:10:53 · 372 阅读 · 2 评论 -
codeup 1928 日期差值(Java语言)
题目来源:codeup题目描述:有两个日期,求两个日期之间的天数,如果两个日期是连续的,则规定他们之间的天数为两天。样例输入:2013010120130105样例输出:5解题思路:闰平年的天数可以利用打表法,填入一个二维数组中,方便直接调用最简单的就是一天一天的累加,直到天数小的加到等于大的如果天数达到该月数最大,月数+1,天数置为1如果月数达到13,年数+1,月数置为1优化可以先将year1和year2的差值变为1,之后再进行上述操作代码:/** *作者:魏原创 2020-11-26 20:43:01 · 1286 阅读 · 4 评论