AC自动机算法详解以及Java代码实现
详细介绍了AC自动机算法详解以及Java代码实现。
文章目录
- 1 概念和原理
- 2 节点定义
- 3 构建Trie前缀树
- 4 构建fail失配指针
- 5 匹配文本
- 6 案例演示
- 7 总结
1 概念和原理
一般的字符串匹配算法都是匹配一个子串,例如KMP、Trie,那么如果同时匹配多个子串呢?此时就需要用到AC自动机了。
AC自动机算法是一个多模式字符串匹配算法,在模式匹配领域被广泛应用,例如违禁词查找替换、搜索关键词查找等等。
关于Trie树和KMP算法,我们此前已经讲解过了:
- 前缀树Trie的实现原理以及Java代码的实现
- KMP算法详解以及Java代码实现
AC自动机算法常被认为是Trie树+KMP算法的结合体,为什么呢?我们先看看它的构建步骤:
- 对所有的关键词构建Trie前缀树。
- 为Trie树上的所有节点构建fail失配指针。
第一步,对所有的关键词构建Trie前缀树。这一步利用Trie的特点构建快速前缀查找结构,trie树的特点是可以从字符串头部开始匹配,并且相同前缀的词共用前面的节点,因此它可以避免相同前缀pattern的重复匹配,但是对于相同的后缀无能为力。
第二步,为Trie树上的所有节点构建fail失配指针,即匹配失败后应该跳到哪个节点。所谓节点的失配指针,就是指向当前字符串最长真后缀位置的指针节点。这里需要理解KMP的next数组的概念,这一步就是利用KMP前后缀匹配的思想实现关键词前缀失配时利用相同的后缀信息快速跳转到另一个关键词继续前缀匹配。他们的区别是:
- 在KMP算法中,是针对单个关键词匹配,求出的最长匹配长度的前缀和后缀都位于同一个关键词内。例如关键词abcdabc,最长匹配前后缀,为abc,他们属于该关键词。
- 在AC自动机算法中,是针对多个关键词匹配,求出的最长匹配长度的前缀和后缀分别属于不同的关键词的前缀和后缀。
例如两个关键词dabab,ababd,那么关键词dabab中第二个b位置的失败指针应该指向关键词ababd中的第二个b。即dabab的后缀与ababd的前缀能够匹配的最长子串为abab。
2 节点定义
在这里,我们给出一个比较简单的节点的定义。
- next,表示经过该节点的模式串的下层节点,这是Trie树结构的保证,存储着子节点的值到对应的节点的映射关系。
- depth,表示以当前即诶单结尾的模式串的长度,也是节点的深度,默认为0。
- failure,失配指针,其指向表示另一个关键词前缀的最长后缀节点,如果当前节点没有匹配到,则跳转到此节点继续匹配。如果当前节点匹配到了,那么可以通过此指针找到该节点的模式串包含的最长后缀模式串。
class AcNode {/*** 经过该节点的模式串的下层节点*/Map<Character, AcNode> next = new HashMap<>();/*** 模式串的长度,也是节点的深度*/int depth;/*** 失配指针,如果没有匹配到,则跳转到此状态。*/AcNode failure;public boolean hashNext(char nextKey) {return next.containsKey(nextKey);}public AcNode getNext(char nextKey) {return next.get(nextKey);}
}
3 构建Trie前缀树
构建Ac自动机的Trie的方法和构建普通Trie的方法几乎一致。在添加每个模式串成功后,会为最后一个节点的depth赋值为当前模式串的长度。
/*** trie根节点*/
private AcNode root;
/*** 加入模式串,构建Trie** @param word 模式串,非空*/
public void insert(String word) {AcNode cur = root;for (char c : word.toCharArray()) {if (!cur.next.containsKey(c)) {cur.next.put(c, new AcNode());}cur = cur.next.get(c);}cur.depth = word.length();
}
4 构建fail失配指针
构建fail失配指针的一种常见的方法如下,实际上是一个BFS层序遍历的算法:
- Trie的root节点没有失配指针,或者说失配指针为null,其他节点都有失配指针,或者说不为null。
- 遍历root节点的所有下一层直接子节点,将它们的失配指针设置为root。因为这些节点代表着所有模式串的第一个字符,基于KMP的next数组定义,单个字符没有最长真后缀,此时直接指向root。
- 继续循环向下遍历每一层的子节点,由于bfs的遍历,那么上一层父节点的失配指针肯定都已经确定了。基于next数组的构建思想,子节点的失配指针可以通过父节点的是失配指针快速推导出来。设当前遍历的节点为c,它的父节点为p,父节点的失配指针为pf。
- 如果pf节点的子节点对应的字符中,包含了当前节点的所表示的字符。那么基于求最长后缀的原理,此时c节点的失配指针可以直接指向pf节点下的相同字符对应的子节点。
- 如果pf节点的子节点对应的字符中,没有包含了当前节点的所表示的字符。那么继续获取pf节点的失配指针节点,继续重复判断。直到满足第一种情况,或者pf指向了根节点,并且根节点的子节点也没有匹配,那么此时直接将c节点的失配指针指向根节点。
/*** 为所有节点构建失配指针,一个bfs层序遍历*/
public void buildFailurePointer() {ArrayDeque<AcNode> queue = new ArrayDeque<AcNode>();//将所有root的直接子节点的failure设置为root,并且加入queuefor (AcNode acNode : root.next.values()) {acNode.failure = root;queue.addLast(acNode);}//bfs构建失配指针while (!queue.isEmpty()) {//父节点出队列AcNode parent = queue.pollFirst();//遍历父节点的下层子节点,基于父节点求子节点的失配指针for (Map.Entry<Character, AcNode> characterAcNodeEntry : parent.next.entrySet()) {//获取父节点的失配指针AcNode pf = parent.failure;//获取子节点AcNode child = characterAcNodeEntry.getValue();//获取子节点对应的字符Character nextKey = characterAcNodeEntry.getKey();//如果pf节点不为null,并且pf节点的子节点对应的字符中,没有包含了当前节点的所表示的字符while (pf != null && !pf.hashNext(nextKey)) {//继续获取pf节点的失配指针节点,继续重复判断pf = pf.failure;}//pf为null,表示找到了根节点,并且根节点的子节点也没有匹配if (pf == null) {//此时直接将节点的失配指针指向根节点child.failure = root;}//pf节点的子节点对应的字符中,包含了当前节点的所表示的字符else {//节点的失配指针可以直接指向pf节点下的相同字符对应的子节点child.failure = pf.getNext(nextKey);}//最后不要忘了,将当前节点加入队列queue.addLast(child);}}
}
5 匹配文本
构建完AC自动机之后,下面我们需要进行文本的匹配,匹配的方式实际上比较简单。
- 遍历文本的每个字符,依次匹配,从Trie的根节点作为cur节点开始匹配:
- 将当前字符作为nextKey,如果cur节点不为null且节点的next映射中不包含nextKey,那么当前cur节点指向自己的failure失配指针。
- 如果cur节点为null,说明当前字符匹配到了root根节点且失败,那么cur设置为root继续从根节点开始进行下一轮匹配。
- 否则表示匹配成功的节点,cur指向匹配节点,获取该节点继续判断:
- 如果该节点是某个关键词的结尾,那么取出来,也就是depth不为0,那么表示匹配到了一个关键词。
- 继续判断该节点的失配指针节点表示的模式串。因为失配指针节点表示的模式串是当前匹配的模式串的在这些关键词中的最长后缀,且由于当前节点的路径包括了失配指针的全部路径,并且失配指针路径也是一个完整的关键词,需要找出来。
/*** 匹配文本** @param text 文本字符串*/
public List<ParseResult> parseText(String text) {List<ParseResult> parseResults = new ArrayList<>();char[] chars = text.toCharArray();//从根节点开始匹配AcNode cur = root;//遍历字符串的每个字符for (int i = 0; i < chars.length; i++) {//当前字符char nextKey = chars[i];//如果cur不为null,并且当前节点的的子节点不包括当前字符,即不匹配while (cur != null && !cur.hashNext(nextKey)) {//那么通过失配指针转移到下一个节点继续匹配cur = cur.failure;}//如果节点为null,说明当前字符匹配到了根节点且失败//那么继续从根节点开始进行下一轮匹配if (cur == null) {cur = root;} else {//匹配成功的节点cur = cur.getNext(nextKey);//继续判断AcNode temp = cur;while (temp != null) {//如果当前节点是某个关键词的结尾,那么取出来if (temp.depth != 0) {int start = i - temp.depth + 1, end = i;parseResults.add(new ParseResult(start, end, new String(chars, start, temp.depth)));//System.out.println(start + " " + end + " " + new String(chars, start, temp.depth));}//继续判断该节点的失配指针节点//因为失配指针节点表示的模式串是当前匹配的模式串的在这些关键词中的最长后缀,且由于当前节点的路径包括了失配指针的全部路径//并且失配指针路径也是一个完整的关键词,需要找出来。temp = temp.failure;}}}return parseResults;
}class ParseResult {int startIndex;int endIndex;String key;public ParseResult(int startIndex, int endIndex, String key) {this.startIndex = startIndex;this.endIndex = endIndex;this.key = key;}@Overridepublic String toString() {return "{" +"startIndex=" + startIndex +", endIndex=" + endIndex +", key='" + key + '\'' +'}';}
}
6 案例演示
基于上面的方法,假如关键词为:he、shes、shers、hes、h、e,那么最终构建的AC自动机的结构如下(红色圈表示某个关键词的结束位置)。
假如我们的文本为sheshe,那么我们来看看AC自动机匹配的过程:
遍历文本,cur首先指向root。
nextKey=s,cur.next包含s,表示这是一个匹配成功的节点,那么获取到该节点s,cur=s,s不是某个关键词的结尾,failure节点也不包含模式串,那么查找完毕进行下一轮。
nextKey=h,cur=s,cur.next包含h,表示这是一个匹配成功的节点,那么获取到该节点h,cur=h,h节点不是某个关键词的结尾,但是它的failure节点包含模式串h,因此找到了第1个匹配的关键词h,查找完毕后进行下一轮。
nextKey=e,cur=h,cur.next包含e,表示这是一个匹配成功的节点,那么获取到该节点e,cur=e,e节点不是某个关键词的结尾,但是它的failure节点包含模式串he,因此找到了第2个匹配的关键词he。
而fuilure节点e又包含另一个模式串e,因此找到了第3个匹配的关键词e,查找完毕后进行下一轮。
nextKey=s,cur=e,cur.next包含s,表示这是一个匹配成功的节点,那么获取到该节点e,cur=e,s节点是关键词shes的结尾,因此找到了第4个匹配的关键词shes。
继续判断s的failure,它的failure节点包含模式串hes,因此找到了第5个匹配的关键词hes,查找完毕后进行下一轮。
nextKey=h,cur=s,cur.next不包含h,表示这是一个匹配失败的节点,那么继续匹配它的failure节点,经过s-s-s的匹配,最终匹配到子节点h。
该节点h并不是关键词的结尾,但是h的failure,它的failure节点包含模式串h,因此找到了第6个匹配的关键词h,查找完毕后进行下一轮。
nextKey=e,cur=h,cur.next包含e,表示这是一个匹配成功的节点,那么获取到该节点e,cur=e,e节点不是某个关键词的结尾,但是它的failure节点包含模式串he,因此找到了第7个匹配的关键词he。
而fuilure节点e又包含另一个模式串e,因此找到了第8个匹配的关键词e。
到此字符串遍历完毕,查找完毕!
最终文本sheshe,匹配到关键词如下:
[{startIndex=1, endIndex=1, key='h'}, {startIndex=1, endIndex=2, key='he'},
{startIndex=2, endIndex=2, key='e'}, {startIndex=0, endIndex=3, key='shes'},
{startIndex=1, endIndex=3, key='hes'}, {startIndex=4, endIndex=4, key='h'},
{startIndex=4, endIndex=5, key='he'}, {startIndex=5, endIndex=5, key='e'}]
7 总结
AC自动机匹配某个文本text,需要遍历文本的每个字符,每次遍历过程中,都可能涉及到循环向上查找失配指针的情况,但是这里的循环次数不会超过Trie树的深度,在最后匹配成功时,同样涉及到向上查找失配指针的情况,这里的循环次数不会超过Trie树的深度。
设匹配的文本长度m,模式串平均长度n,那么AC自动机算法的匹配的时间复杂度为O(m*n)。可以发现,匹配的时间复杂度和关键词的数量无关,这就是AC自动机的强大之处。如果考虑模式串平均长度不会很长,那么时间复杂度近似O(m)。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3832275.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
保持学习,持续进步
在近些年来,程序员这个职业越来越广为大众所知,这一方面是一些互联网企业的迅速发展让很多人看到了这个方向的希望,另一方面程序员的工资普遍高。因此报IT方向的大学学生越来越多,除了主修这个专业的之外,还有很多别的…...

不断提升自己创造溢价的能力,分享面经
第一个模块:数据库 1.1 腾讯数据库面试问题 解释ACID四大特性 原子性的底层实现 数据库宕机后恢复的过程 如何保证事务的ACID特性 MySQL日志类型 这5个题目相对来说是比较普遍的,这里我就不一一给出答案了,给大家看下我的那个数据库学…...

ios15UITableView分组高度异常
ios15UITableView分组高度异常 if (available(iOS 15.0, *)) {_tableView.sectionHeaderTopPadding 0; }全局设置 if (available(iOS 15.0, *)) {[UITableView appearance].sectionHeaderTopPadding 0; }...

[附源码]Python计算机毕业设计Django基于vue的软件谷公共信息平台
项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…...

第3章 Tomcatservlet
1.BS与CS *CS:客户端服务器架构模式 优点:充分利用客户端机器的资源,减轻服务器的负荷 缺点:需要安装;升级维护成本较高 *BS:浏览器服务器架构模式 优点:客户端不需要安装,维护成本…...

android 按钮点击式储存和读取本地文件方法
我们在进行一些活动时,需要对数据进行储存和读取。 这里向大家分享一个方便,快捷的方法。通过按钮点击在储存和读取指定文件夹中的内容。 首先我们创建一个带activity的类。 我们在布局创建两个按钮一个用于储存,一个用于读取。 然后修改Sh…...

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
全文下载链接:http://tecdat.cn/?p20678在本文中,预测股价已经受到了投资者,政府,企业和学者广泛的关注。然而,数据的非线性和非平稳性使得开发预测模型成为一项复杂而具有挑战性的任务(点击文末“阅读原文…...

JAVA在编写内部类时No enclosing instance of type XXX is accessible. Must qualify原因及解决
错误信息如下: No enclosing instance of type Analysis_IDCard is accessible. Must qualify the allocation with an enclosing instance of type Analysis_IDCard (e.g. x.new A() where x is an instance of Analysis_IDCard). 导致的原因为: pac…...

Eclipse多行注释
Eclipse写C代码时多行注释快捷键 选中多行,按Ctrl /,如果想要取消这些行的注释,再次按Ctrl /。...

关于虚拟机
Vm虚拟机 想要在windows电脑上操作linux操作系统需要安装这个软件 CentOS 是linux操作系统 配置 linux里面创建文件夹<mkdir> 1.在/opt文件下分贝别创建两个文件夹(software和module) 注.Software里面存放我们解压前的文件 Module里面存放我们解…...

微信小程序点播插件_小程序直播插件接入 - 微信小程序
当下直播带货还是挺火的,对于直播项目理解拉流和推流基本就能搞定。之前小程序直播插件未开放的时候,当时是引入第三方直播服务进行做的;当下又有直播需求,这次便把小程序直播插件模块体验了下:小程序直播插件还是挺方…...

MapINFO栅格图像载入方法
MapInfo是美国MapInfo公司的桌面地理信息系统软件,是一种数据可视化、信息地图化的桌面解决方案。它依据地图及其应用的概念、采用办公自动化的操作、集成多种数据库数据、融合计算机地图方法、使用地理数据库技术、加入了地理信息系统分析功能,形成了极…...

[总结前端pink老师推荐]刚下载vscode需要安装的插件
【都需要在联网状态下进行】 1.Chinese(Simplified)[汉化] 安装方法: 然后关闭vscode,再打开 2.open in browser[altB默认浏览器打开] 安装方法: 然后关闭vscode,再打开 这样在vscode中 ,右击会有默认浏览器打开(快捷键ALTB)…...

语言模型也会“地域黑”?实验表明ALBERT最能黑,BART最友善
文 | ZenMoore前言今天我们来谈论一个不那么硬核的问题:预训练语言模型中的歧视与偏见(bias)。这个问题虽然不像技术问题那样核心,但仍然非常重要。想象一下:你接到了一笔外交级别的订单,要做一个生成语言模型,先不论效…...

python tornado.websocket服务器主动给客户端发消息
import tornado.web import tornado.websocket from tornado.ioloop import IOLoop #异步池 from tornado import gen #多线程 import tornado.options #全局显示命令行 from tornado.concurrent import run_on_executor #同步转异步 from concurrent.futures import ThreadPoo…...

Excel怎么快速完成每列数据汇总求和
今天小编跟大家分享一下Excel怎么快速完成每列数据汇总求和 1.打开Excel文件 2.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说。) 3.选择【统计与分析】 4.点击【本表各列总和】 5.选择总和存放…...

ESP8266物联网时钟-需求分析
产品定义: 本产品是定义为桌面时钟,一般场景是放在办公桌、床头、学生宿舍桌、书架、茶几上等家用有WIFI的环境,可以方便用户随时查看当前时间、当前天气。 产品特点: 注意该产品和手机的时钟有所重合,需要注意区分二…...
固高运动卡的使用 3 运动之Jog运动
理论篇: Jog运动是机器运动中的一种运动模式,它具备操作简单、独立性、没有目的性,常常被用于机器的测试和调试。 关于Jog运动的变速过程: 另外在Jog运动模式下,初始目标速度为 100pulse/ms。动态改变目标速度时&…...

Java基础3.1---Scanner、Random、String和其正则表达式、StringBuilder
1. API 1. API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要…...

移动web开发基础
笔记来源:拉勾教育 - 大前端就业集训营 文章内容:学习过程中的笔记、感悟、经验一、基础 1、移动端调试方法 Chrome DevTools(谷歌浏览器)的模拟手机调试搭建本地web服务器,手机和服务器一个局域网内,通过…...

git pull更新不到最新代码
(一个实习小白。。。。。。。) 今天,又发现了一个错误,以前为了方便操作个分支,直接拷贝了仓库(这样完全为了节省时间,拉代码要好久),这样就一个仓库一个分支࿰…...

对象转为字符串方法
第一种方法 依赖 <dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.10</version></dependency>Student student new Student() //对象 String content ObjectMapper.writeV…...

使用JavaScript怎么对数字数组进行排序?
转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习网站 JavaScript的Array.sort()方法被用来就地数组元素进行排序,并返回排序后的数组。此函数以字符串格式对元素进行排序。它对字符串数…...

Leetcode 剑指 Offer II 004. 只出现一次的数字
题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给你一个整数数组 nums ,除某个元素仅出现 一次 外&a…...

【网络】解决校园网Wi-Fi登录页无法自动弹出
Ubuntu下 首先确定是否设置为自动: 假设校园网登录页的格式如下:https://w.xxx.edu.cn/a79.htm?UserIP13.32.122.145&wlanacnamejlh_me63注意到其中的IP后面的地址,这是你连接网络后,校园网动态分配给你的网址,每…...

电子科技大学计算机科学考研科目,电子科技大学各学院各专业考研要考哪些科目...
学 院 名 称 院系专业设置 通信与信息工程学院 通信工程 网络工程 信息工程 电子工程学院 电子信息工程 信息对抗技术 电磁场与无线技术 微电子与固体电子学院 微电子技术 固体电子工程 应用化学 集成电路设计与集成系统 微电子学 机械电子工程学院 机械设计制造及其自动化 电气…...
CCF大赛
中秋浪完回来,开始上课得弄CCF大赛了,需要跑数据,首先搭平台吧,决定在linux下搞 首先,安装anaconda,Anaconda 5.2 For Linux Installer,安装3.6版本,点击下载即可。找到自己下载的目录 bash A…...

L1-041 寻找250
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 **输入格式:** 输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。 **输出格式:** 在一行中输…...

ubuntu使用postfix和AWS-SES发送邮件
在日常开发中,邮件发送是个比较常见的场景。因此出现了很多相关的软件和服务,各大云厂商也推出自己的邮件服务。今天笔者就像大家介绍一种常见的组合,AWS的邮件服务 SES 与邮件服务器 postfix 的配置和使用方法。 概述什么是 AWS-SESAmazon Simple Email Service (SES) 是一…...

JavaScript编写的《人生不纠结模拟器》
看国足比赛的饮品,不知道是选可口可乐还是“小麦果汁”,有感而发做了一个人生不纠结模拟器。 选择困难症的好工具,你值得拥有! <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"u…...

springboot毕业生跟踪调查管理系统毕业设计源码061528
springboot毕业生跟踪调查管理系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对毕业生跟…...

h5摄像头拍身份证
<title>摄像头拍照</title> <script src"./js/jquery-3.4.1.min.js"></script> <script type"text/javascript" src"./js/tool.js"></script> <script src"./js/global.js"></script>…...

使用哈希函数:H(k)=3k MOD 11,并采用链地址法处理冲突。试对关键字序列(22,41,53,46,30,13,01,67)构造哈希表,求等概率情况下查找成功的查找长度,并设计构造哈希表
使用哈希函数:H(k)3k MOD 11 ,并采用链地址法处理冲突。 试对关键字序列(22,41,53,46,30,13,01,67)构造哈希表, 求等概率情况下查找成功的查找长度,并设计构造哈希表的完整算法。 …...

互联网黑化
一、灵魂拷问 1、你发的这个底层逻辑是什么? 2、顶层设计在哪里? 3、最终交付的价值是什么? 3、过程中的抓手在哪里? 5、如何保证结果的闭环? 6、你比别人发的亮点在哪? 7、我没有看到你的沉淀和思考…...

Spring大事务到底如何优化?
所谓的大事务就是耗时比较长的事务。 Spring有两种方式实现事务,分别是编程式和声明式两种。 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交。一、大事务产生的原因操作的数据比较多 调用了 rpc 方法 有其他非 DB 的耗时操作 大量的锁竞争 执行了比较耗时的…...

图像显著性检测算法的评价指标介绍
图像显著性检测算法的评价指标介绍 要评价一个图像显著性检测(Saliency Detection,SD)算法的好坏,当然离不开评价指标(Metric),显著性检测分为眼注视点显著性(eye fixation saliency)和显著目标检测(salient object detection)两种不同类型的任务。 对…...

java svd_奇异值分解(SVD)
SVD分解是LSA的数学基础,本文是我的LSA学习笔记的一部分,之所以单独拿出来,是因为SVD可以说是LSA的基础,要理解LSA必须了解SVD,因此将LSA笔记的SVD一节单独作为一篇文章。本节讨论SVD分解相关数学问题,一个…...

python动态生成变量名以及python函数的命名规则这样的疑问
python动态生成变量名以及python函数的命名规则这样的疑问,小编汇总了相关问答给大家参考! 1.模块名一般使用全部小写 如 myphone 2.类名第一个字母大写,如果有多个单词,每一个单词的第一个字母大写如 : MyPhone 3.函数名 &#x…...

“00后”消费数据分析,一文教你撩动“00后”购物欲
前几天笔者偶然在微博上刷到一则新闻,文章标题是《00后女学生高考完直播40天挣2万》,阅完不经汗颜,现在的“00后”可太强了!好奇心驱使下,笔者就“00后收入”问题在百度上进行了搜索,得到的结果触目惊心&am…...

Matlab:合并来自各自变量的日期和时间
Matlab:合并来自各自变量的日期和时间本示例展示如何从文本文件读取日期和时间数据。然后再展示如何将存储在各自变量中的日期和时间信息合并到单个日期时间变量中。创建名为 schedule.txt 且包含以下数据的空格分隔文本文件(要创建该文件,请…...

【JavaEE进阶系列 | 从小白到工程师】基本类型包装类的使用,装箱以及拆箱与parseInt方法
一、包装类概述 Java中的数据类型分为基本类型和引用类型两大类,使用基本类型可以提升效率 但是java是面向对象的语言,java的设计思想是一切皆对象,而基本数据类型不是对象,于是 Java为每种基本数据类型都设计了对应的类&#x…...

阿里云虚拟主机共享和独享区别对比
阿里云独享云虚拟主机和共享虚拟主机有什么区别?共享和独享主要表现在CPU内存资源和带宽方面,独享云虚拟主机独享服务器资源,不存在资源争抢性能更稳定,共享虚拟主机是共享IP地址,多用户共享同一台服务器资源ÿ…...

Set不可重复性的理解
Set中不可重复性保证添加的元素按照equals()判断时,不能返回true,即: 相同的元素只能添加一个 Set添加元素的过程: 以HashSet为例: 我们向HashSet添加元素a,首先调用a所在类的hashCode()方法,计算a的哈希值,此哈希值接着通过某种算法计算出在HashSet底层数组中存放位置(即为索引…...

数组中出现次数超过一半的数字(C语言+Java)
数组中出现次数超过一半的数字,这道题出自《剑指Offer》。 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 这里共有三种解法 思路1: 因为要找的数字已经超过长度的一半,我们可以之间把这个数组排序࿰…...

Keil 5 解锁文件 STM32
文章目录前言一、放置bat文件测试二、修改文件属性总结前言 想要在keil解锁被锁住的文件 修改其中的代码,需要用到两个bat文件,或在文件属性中修改只读属性,两种方式按需选择,取消只读属性可能修改的不是很便捷和全面。 提示&am…...

黄色固体或黄色油状物PC Biotin-Azide;photoclevable Biotin-N3是可分解的生物素
名 称:PC Biotin-Azide;photoclevable Biotin-N3 外 观:黄色固体或黄色油状物 分子式:C35H55N9O12S 分子量:825.37 纯度:>95% 溶解度:Water, DMSO, DMF 保存条件:-20℃ 12个…...

Unity 金币收集效果
private Vector3[] _v_middlenew Vector3[]{ new Vector3(0,0,0), } private Vector3[] _v_endnew Vector3[]{ new Vector3(0,0,0), }private void InitAnimation(GameObject obj){float random_x,random_y;float rrra100f;random_xRandom.Range(_rrra,rrra);random_yRandom.R...

模型推荐丨政务大数据项目案例模型分享
主要工具:Python 技术大类:自然语言处理 主要业务问题: 在社会治理上,政府部门一般通过群众的意见反馈、舆论情绪,掌握社会现状,做好舆情工作,以促进社会长治久安。微博作为有着大量活跃用户…...

office2003、2010、2013下载资源
【原创】office2003、2010、2013下载资源 微软的office软件确实很厉害,于是在这里放出office2003、2010、2013这三个版本的资源;其中,office2003包括原版升级包,2010则是sp1,2013也是sp1 (注意:…...

H3CSE-VLAN 路由排错实验
实验拓扑 图 1-1 实验需求 深圳总部在内网中旁挂 SSL VPN 作为 VPN 设备,长沙分公司在内网中旁挂 WOC 作为 VPN 设备配置 IPsec VPN,使深圳总部和长沙分公司内网互通 实验解法 在深圳总部和长沙分公司的公网出口设备上配置端口映射,使 IPs…...

张量(一):张量基础
从今天开始,笔者将会持续更新关于张量的相关知识和最新研究成果。我们这里所说的张量知识主要是关于张量低秩分解,张量补全等算法和应用。在如今神经网络大火的年代,张量补全等算法无疑为预测、去噪等问题提供了新的解决方法和思路。接下来&a…...

远程ubuntu注意问题
远程ubuntu需注意 用户名和Ubuntu主机的用户名保持一致 站点管理器的信息填写正确 使用SecurityCRT的时候需要保证登录名称和ip地址一致当使用Ubuntu连接arm Linux开发板时,需要将三者的ip地址保持一致。...

pip如何换源
pip如何换源 winR,输入%HOMEPATH%,打开用户目录创建目录pip,进入目录创建文件pip.ini,记事本打开添加如下内容: [global] timeout 6000 index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.t…...

Java-100 位以上的整数运算 (小垃圾只写出了加法)
/*** 将通过它俩来进行运算*/private int[] xints,yints;// 默认给两个字符串前面都加上一个零 为了解决两数相加多一位的问题public String add(String x,String y){return add(new StringBuffer(x).insert(0,"0"),new StringBuffer(y).insert(0,"0"));…...

MyBatis入门
MyBatis入门 MyBatis的概述:MyBatis是一个持久层框架,用Java编写的。它封装了jdbc操作的很多细节,使开发者只需要关注SQL语句本身,而无需关注注册驱动,创建等繁杂过程。它使用了ORM思想实现了结果集的封装。 ORM&…...

apk自签证书
1.创建key 需要用到keytool.exe (位于D:\Program Files\Java\jdk1.8.0_291\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于D:\Program Files\Java\jdk1.8.0_291\bin目录下),把上两个软件所在的目录添加到环境变量path后,…...

记一次Maven优化过程,减少到分钟级别
以前在工作中,生产开发中出现了一些问题,比较严重,构建的时候居然要1个小时以上,没法子只能排查,尝试改maven源码的方式进行优化,和大佬研究一番后验证没问题发出来作为分享!! 1、问…...

突破Java面试 - Redis cluster集群模式的原理
面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以做到在多台机器上,部署多…...

为什么要做漏洞扫描呢?
摘要:本文介绍做漏洞扫描的内外部驱动力。本文分享自华为云社区《5W2H 分解漏洞扫描 - WHY》,作者: water^3 。 降低资产所面临的风险 我们知道,漏洞的典型特征:系统的缺陷/弱点、可能被威胁利用于违反安全策略、可能…...

[附源码]计算机毕业设计JAVA校园失物招领平台
[附源码]计算机毕业设计JAVA校园失物招领平台 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…...

亲历者说 | 完整记录一年多考拉海购的云原生之路
简介: 考拉海购的整个云化改造是从 2019 年 10 月份开始的,当时的唯一目标就是短时间内快速完成迁移。在不到 4 个月的时间里,考拉团队唯一考虑的是如何以最快的速度完成使命,云原生是我们选择的最合适的一条路。 前言 考拉海购的…...

java每日一题练习考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法:1.根据字符串的字典序排序2.根据字符串的长度排序
题目:考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。 例如: “car” < “carriage” < “cats” < "doggies < “koala” 2.根据字符…...

STC 51单片机52——自发自收串行通信
#include <reg52.h> unsigned char ch0; /* 初始化函数 */ void uart_init() { TMOD0x20; //T1为方式2 TL10xfd; TH10xfd; //波特率为9600的计数初值 SCON0x50; //串口工作在方式1。允许接收 …...
前端自学要多久?自学好还是培训好?
web前端自从崛起以来,因其薪资高、待遇好、好就业、发展前景广阔等优势,受到了热烈追捧,再加上web前端开发的入门门槛低,更是成为了众多想要入行IT高薪行业小白的不二选择。那么问题来了,web前端虽然相比众多编程语言来…...

自学java成功率高吗,为什么自学Java编程成功率那么低?
原标题:为什么自学Java编程成功率那么低?自学Java编程平均成功率只有24%。其中,大部分自学连Java基础都还没有掌握好,便放弃了。为什么会如此呢?难道自学就真的那么难?实际上,自学最大的问题无外乎没有学习氛围、没有…...

自学Python需要具备什么条件
Python是一门简单的编程语言,很多人都想自学Python,但是能真正自学下来的又能有几人呢?那么,怎样才能成功的自学Python呢?想要自学Python需要具备以下条件!1. 恒心和毅力对于知识的学习,恒心和毅…...

[附源码]计算机毕业设计新能源汽车租赁Springboot程序
项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

自学编程需要注意什么?
前几天在知乎上看到这么一个问题,一位在读学生,自己非常想自学编程,但是很怕走一些弯路,于是提问「自学编程需要注意什么?」,我看了一圈回答,看起来都不是自学过来的,很多回答抓不到…...

3d游戏建模学习是自学比较好还是报班好?
如果你有毅力勤快吃苦并且聪明绝顶,那自学挺好的,可是现在又有几个年轻人能做到吃苦耐劳并且坚持到底呢?说白了,自学这个活,很简单,也很难,随便学着玩玩,自学挺好,因为反…...

swap交换空间(当内存不足时)
一.交换空间概述 虚拟内存 利用硬盘的空间,充当内存的空间 相当于虚拟内存 –当物理内存不够用时,使用磁盘空间来模拟内存 –在一定程度上缓解内存不足的问题 CPU----->内存-----> 硬盘 当物理内存占满了, CPU可以将内存的中数据&…...

下载win10的官方镜像存到u盘显示磁盘不足
记一次非常惨痛的教训,最近打算重装一下电脑,于是买了一个8G的硬盘,下载镜像到U盘,居然提示U盘空间不足,镜像只有不到5个G,我的U盘是8G的,明明是绰绰有余, 问题原因: U…...

no space left on device磁盘空间不足
问题描述 本地测试接口没有问题,Nginx返回500错误,查看Nginx的日志发现报错 no space left on device 磁盘空间不足问题解决 先检查了磁盘情况,发现磁盘满了,再看文件占用情况,是mongo的日志,有9G # 检…...

它能无损数据调整分区大小,轻松解决您磁盘空间不足的问题
它能无损数据调整分区大小,轻松解决您磁盘空间不足的问题 安全分区步骤1:检查您的分区是否存在错误 (必选) 对于您要操作的所有分区,例如您要缩小D盘并扩大C盘,这时请先检查C盘与D盘是否存在文件系统错误。检查很简单ÿ…...

4个解决方案:解决C盘已满且空间不足的问题
C 盘满了,通常遇到这种情况时,很多小主都是立马去C盘删文件,然而一顿操作下来,发现不仅清理效果并不明显,还时常把电脑系统弄崩溃。 那么,正确的操作该是什么样呢? 方法一:制作一清…...

centos 安装和卸载 webmin
在centos里安装webmin 选择安装最新版本的安装包 官方下载路径可以查看下载版本http://download.webmin.com/download/yum/ wget http://download.webmin.com/download/yum/webmin-2.010-1.noarch.rpm如果安装提示 错误: 无法验证 prdownloads.sourceforge.net 的由 “/CUS…...

Ubuntu系统根目录如何扩展——解决空间不足问题
最开始给Ubuntu系统只分配了50g,随着慢慢使用,特别是最近开始学习深度学习安装CUDA、CUDNN、Pytroh后,空间就不够了。 一开始我是在/home 目录下挂载了一个盘90个g,但发现对于根目录而言并没有变化,特别我在安装ubuntu…...

Ubuntu磁盘空间不足如何解决(磁盘的扩充)
1、原先的虚拟机设置 点击编辑虚拟机设置 2、点击扩展,输入你想扩展到的大小,最后点击扩展、确定。 3、安装gparted分区管理软件 apt-get install gparted4、打开软件,将extend分区删掉,不删的话无法重置sda1主分区大小 5、打开…...

三翼鸟,用两年开启下一个十年
这段时间以来,我和亲朋好友的居家生活时间都增加了,以前一直存在但被忽视的不便体验,也开始凸显出来。比如在家就餐频次高了,厨房小白会为不会做饭而苦恼;智能设备的很多功能,依然需要手动操作……这些琐碎…...

关于程序员的职业规划分析
对于绝大部分从事互联网、程序员的群体来说,看中的不仅是一个白领工作,更重要的是他高薪资的待遇,就当前来说,IT行业发展速度突飞猛进,就业方向和前景更是百家争鸣,如果对自己没有一个明确的目标而漫无目的,…...

广告营销费用,一颗隐形的定时炸弹!
上海G公司是一家注册资本为3亿美元的外商独资企业,该公司主要从事保健品、化学合成药品和生物工程制品的研发、生产和营销,是目前中国规模最大、实力最强、网络覆盖最广的保健品企业之一。由于消费品行业的特性,为了扩大品牌知名度࿰…...
环融科技携手梅花网,与你一起讨论快消品企业如何管理好营销费用
有效的费用控制是企业在激烈的市场竞争中成功与否的基本要素,但费用控制绝对不仅仅是单纯的压缩费用,需要建立起科学合理的费用分析与控制系统,让企业的管理者清楚地掌握公司的费用构架、盈利情况和决策的正确方向,成为企业内部决…...

广告营销费用,一颗隐形的定时!
上海G公司是一家注册资本为3亿美元的外商独资企业,该公司主要从事保健品、化学合成药品和生物工程制品的研发、生产和营销,是目前中国规模最大、实力最强、网络覆盖最广的保健品企业之一。由于消费品行业的特性,为了扩大品牌知名度࿰…...
浅析快消品企业营销费用管理之道
在中国,快速消费品市场存在着巨大的开发潜力。国内领先快消品行业供应商环融科技 咨询研究表明:快速消费品行业是目前竞争激烈的市场中相对利润率最丰厚,销售规模最大,发展速度较快的一个行业。这个行业与广大消费者最息息相关&am…...

蕉下冲刺上市:产品均为代工贴牌,营销费用飙升,伞具地位下降
近日,防晒服饰品牌——蕉下控股有限公司(Beneunder Limited,下称“蕉下”或“蕉下控股”)在港交所递交招股说明书,拟在香港主板上市,中金公司和摩根士丹利担任联席保荐人。 据贝多财经了解,蕉下…...

树莓派开始,玩转Linux26:仓库大管家
树莓派开始,玩转Linux26:仓库大管家 在前面的章节中,我们已经用到了Linux的文件系统。通过文件系统,可以找到文件、新建文件、删除文件、读写文件。这些高层抽象的用户操作,完全可以满足日常需求。但对于Linux程序员和…...

VMware下安装Ubuntu系统图文详细教程
该教程以VMware pro 15 下安装 Ubuntu 18.04.4系统,其他系统类似。 1、安装VMware vmware安装请参考:Vmware安装 2、下载Ubuntu18.04系统 选择下载:ubuntu-18.04.4-desktop-amd64.iso 官方下载地址:https://ubuntu.com/downloa…...

ArcGIS的地图文档用U盘转移到别的…
最近几天老师给配了一个新电脑,所以就把以前电脑上的资料全部拷了过来。当然软件、系统什么的有很多问题,不过有一个问题让我很纳闷,那就是用地图文档用U盘转移到别的电脑上以后,有图层无法显示,修复数据也不习惯&…...

Linux存储管理与文件系统
目前我们主流的硬盘主要有两种形态,一种是及机械硬盘(HDD),一种是的固态硬盘(SSD) 硬盘工作原理 机械硬盘HDD 机械硬盘是靠机械马达以固定的速度转动磁盘,然后再有机械臂的摆动,让磁头可以读取盘片上的磁性信息,这种…...

u-boot配置与编译、kernel的裁剪添加移植、busybox根文件系统的制作等
目录 1.裸机... 3 1.1裸机烧写系统... 3 1.2裸机启动流程分析... 3 1.2.1 BL0:... 3 1.2.2 BL1:... 4 1.2.3 BL2:... 4 1.3那么裸机怎么启动呢:编写裸机代码,比如说让灯亮... 4 2.uboot基本使用... 5 2.1uboot文件目录…...

linux最新版系统安装,Linux系统图文安装教程_Linux安装方法|linux最新版系统下载...
centos 下载地址:可以去官网下载最新版本:官方下载最新版以下针对各个版本的ISO镜像文件,进行一一说明:CentOS-7.0-x86_64-DVD-1503-01.iso: 标准安装版,一般下载这个就可以了(推荐)CentOS-7.0-x86_64-NetInstall-1503…...

linux默认的系统管理账号是,从Linux到Solaris系统管理---1
启动、关闭和运行级别(revision 1.1)系统服务(revision 1.1)用户/组管理(new)打印管理文件系统管理(revision 1.1)环回设备文件系统配额(revision 1.11)磁盘和卷管理网络管理(revision 1.11)远程管理(revision 1.21)内核管理SWAP管理(new)nfs(new)1、启动关闭和运行级别QUOTE:运…...

魔兽世界开服教程——魔兽世界服务器架设全攻略---战网+Ladder排行版
需要用到的软件: 1. WAMP5 v1.7.exe (这个是为排行榜提供数据库服务,为Mysql数据库) 2.PvPGN-1.8.2-0-Win32-MySQL-5.0.45-BIN.zip PvPGN-1.8.2-0-Win32-SQLite-3.5.1-BIN.zip (这三个是战网主文件) pvpgn-…...

linux部署webgoat
文章目录程序包准备上传部署程序包准备 github上下载程序包,如果太慢可以点击 下载webgoat-server-8.2.2 .jar 上传部署 将包上传到服务器上,需要说明该包依赖java环境且对java版本要求较高,我们这里是用java17进行部署,需要提…...

安装WebGoat步骤
安装Webgoat步骤 安装目的:了解并深入目前安全行业的OWASP ten 10漏洞 何为Webgoat? Webgoat内置OWASP十大漏洞 安装过程 下载webgoat架包 地址 创建一个文件夹,将上面框出的架包复制到文件夹里 检测JAVA环境 使用之前得先把Java的版本升级一下…...

【webGoat】Broken Authentication
目录 Broken Authentication(中断的身份验证) 一、Authentication Bypasses(绕过身份验证) 第2题: 二、JWT tokens 第3题: 第5题: 第7题: 第8题: 第10题&#x…...

JWT安全WebGoat实战与预编译CASE注入
目录 (一)什么是预编译 1、如何绕过 BP抓包看响应报文里面有没有用到order by (二)JWT安全 1、什么是JWT 头部 声明 签名 2、javaweb-身份验证攻击-JWT修改伪造攻击 案例分析: 3、javaweb-身份验证攻击-JWT密…...

基于 WebGoat 平台的 SQL 注入攻击
基于 WebGoat 平台的 SQL 注入攻击 扩展功能参考: https://blog.csdn.net/HZC0217/article/details/126790211 使用实例参考: https://www.cnblogs.com/hndreamer/p/16635984.html 目录 1、什么是 webgoat? 2、jar 下载 3、环境搭建 4、运行 webgoat 5、在浏览器中登录 …...

JavaScript数组的常用方法
数组基本操作可以归纳为增,删,改和查,不过需要留意的是哪些方法会对原数组产生影响,哪些方法不会。 接下来对数组的常用操作方法归纳总结一下: 一.增 前三种是会对原数组产生影响的增添方法,最后一种不会对原数组产…...

布法罗纽约州立大学计算机排名,2019年QS世界大学排名纽约州立大学布法罗分校排名第313...
纽约州立大学布法罗分校实力介绍纽约州立大学布法罗分校(University at Buffalo, the State University of New York),也被称为纽约州立水牛城大学。成立于1846 年,坐落在纽约州第二大城市布法罗,前身是一所私立医科大学,于1962年…...

2022QS世界大学排名公布!
注:排名是转载来给大家看看的,不代表我支持这个排名转载于 青塔QS教育集团正式发布了2022年世界大学排名,今年共有来自世界不同国家和地区的1300所院校上榜。其中,中国共有92所高校上榜,包括内地高校58所,香…...

2019利兹大学计算机排名,2019软科世界大学学术排名利兹大学排名第101-150
2019软科世界大学学术排名指标获奖校友:获诺贝尔奖和菲尔兹奖的校友折合数,10%获奖教师:获诺贝尔奖和菲尔兹奖的教师折合数,20%高被引学者:各学科领域被引用次数最高的学者数量,20%N&S论文:…...

qs计算机圣安排名,2020年QS世界大学排名圣安德鲁斯大学排名第100
2020年QS世界大学排名指标1.Academic Reputation 学术声誉(所占比重为40%)这项指标数据来源于QS学术调查。搜集了80,000多位高校领域大牛对教学和科研方面的意见。这也是世界上类似调查中规模最大,覆盖面最广的。2.Employer Reputation 雇主声誉(所占比重为10%)考察…...

多大计算机科学世界排名,重磅!2021年QS世界大学学科排名发布!多大、UBC抢眼!这些专业最强!...
3月4日,留学党都十分关注的《2020年QS世界大学学科排名》刚刚出炉了!正所谓“术业有专攻”,虽然学校的综合排名值得参考,但学科排名才是重中之重!尤其是经历了一整年的网课,相信大家都十分好奇,…...

圣何塞州立大学计算机工程排名,2021年圣何塞州立大学排名U.S.News世界大学排名第1467...
2021年U.S.News世界大学排名标准2021年U.S.News 世界大学排名主要是依据以下13个因素:全球学术声誉 (占12.5% ):排名分析使用了Clarivate的学术声誉调查结果,该调查汇总了2016年至2020年最近五年的数据。地区学术声誉 (占12.5%):该…...

计算机科学专业和商科专业排名,2017年QS世界大学专业排名权威发布
新排名涵盖46个学科,比去年多4个,其中包括一些不在国际其他排名中排入的学科。今年的新学科包括:解剖学(Anatomy)、酒店管理与休闲管理(Hospitality and Leisure Management)、体育相关学科、神学等学科。▼工科2017QS电气与电子工程排名TOP1…...

密苏里大学计算机排名,2019上海软科世界一流学科排名计算机科学与工程专业排名密苏里大学排名第301-400...
2019上海软科世界一流学科排名计算机科学与工程专业排名指标首先计算大学在每项指标上的得分,具体为大学在一项指标上的数值除以该项指标的最大值(开根号)再乘以100。然后各指标得分除以100再乘以相应权重进行累加得到该校总分。CNCI为相对指标,论文数量…...

佛吉尼亚大学计算机世界排名,弗吉尼亚大学计算机科学与信息系统Computer Science and Information Systems世界排名2020年最新排名第151-200位(QS世界排名)
2020年QS计算机科学与信息系统Computer Science and Information Systems专业世界排名公布,弗吉尼亚大学计算机科学与信息系统世界排名第151-200位,弗吉尼亚大学计算机科学与信息系统专业实力怎么样呢?下面美英港新留学介绍弗吉尼亚大学计算机…...

兰卡斯特大学计算机专业世界排名,2019上海软科世界一流学科排名计算机科学与工程专业排名兰卡斯特大学排名第101-150...
2019上海软科世界一流学科排名计算机科学与工程专业排名指标首先计算大学在每项指标上的得分,具体为大学在一项指标上的数值除以该项指标的最大值(开根号)再乘以100。然后各指标得分除以100再乘以相应权重进行累加得到该校总分。CNCI为相对指标,论文数量…...

巴斯大学计算机世界专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名巴斯大学排名第301-400...
2019上海软科世界一流学科排名计算机科学与工程专业排名指标首先计算大学在每项指标上的得分,具体为大学在一项指标上的数值除以该项指标的最大值(开根号)再乘以100。然后各指标得分除以100再乘以相应权重进行累加得到该校总分。CNCI为相对指标,论文数量…...

佛吉尼亚大学计算机世界排名,2019上海软科世界一流学科排名计算机科学与工程专业排名弗吉尼亚大学排名第76-100...
2019上海软科世界一流学科排名计算机科学与工程专业排名指标首先计算大学在每项指标上的得分,具体为大学在一项指标上的数值除以该项指标的最大值(开根号)再乘以100。然后各指标得分除以100再乘以相应权重进行累加得到该校总分。CNCI为相对指标,论文数量…...

斯旺西大学计算机科学专业世界排名,2019上海软科世界一流学科排名计算机科学与工程专业排名斯旺西大学排名第151-200...
2019上海软科世界一流学科排名计算机科学与工程专业排名指标首先计算大学在每项指标上的得分,具体为大学在一项指标上的数值除以该项指标的最大值(开根号)再乘以100。然后各指标得分除以100再乘以相应权重进行累加得到该校总分。CNCI为相对指标,论文数量…...

悉尼科技大学2020qs计算机排名,2020年QS世界大学排名悉尼科技大学排名第140
2020年QS世界大学排名指标1.Academic Reputation 学术声誉(所占比重为40%)这项指标数据来源于QS学术调查。搜集了80,000多位高校领域大牛对教学和科研方面的意见。这也是世界上类似调查中规模最大,覆盖面最广的。2.Employer Reputation 雇主声誉(所占比重为10%)考察…...

【taecg技术美术:shader篇】Shader渲染管线和编程入门篇02
目录 3.1 shader初识 3.2 shader编程环境 3.3 shader代码框架 3.4 方法函数 3.5 变量与数据类型 3.6 变量的定义 3.1 shader初识 3.2 shader编程环境 3.3 shader代码框架 3.4 方法函数 方法名、方法参数、方法返回值、调用方法 3.5 变量与数据类型 3.6 变量的定义...

次世代游戏建模美术教程—贴图烘培篇
这是一篇关于次世代模型建模技巧的教程于大家分享,这里我假定你已经是有了一定的建模知识和贴图绘制能力。关于次世代模型和传统低多边形模型的区别,不仅仅是多了比如Normal map、Specular map之类的表现手法,更多的是在于由于主机性能不断提…...

美术学习2700:Metallic与Speculer流程
学习教程来自:【技术美术百人计划】美术 2.7 Metallic与Speculer流程 笔记 0. 什么是次世代 高低模烘焙过的、和使用PBR贴图的模型 PBR:基于物理渲染 1. 2种流程 金属Metal/粗糙度Roughness工作流程:比较符合直觉,容易调参,但…...

技术美术知识学习4500:景深
学习教程来自:【技术美术百人计划】图形 4.5 Dof景深基础 笔记 1. 什么是景深 相机对焦点前后相对清晰的成像范围 2. 景深的作用 突出表达 3. 移动端景深效果实现 3.1 制作思路 在后处理阶段,制作mask,分别渲染模糊场景和正常场景,再…...

技术美术知识学习4400:抗锯齿概论
学习教程来自:【技术美术百人计划】图形 4.4 抗锯齿概论 笔记 1. 锯齿是怎么产生的 从几何着色器阶段到光栅化的过程中,产生的走样 2. 基本的抗锯齿 2.1 MSAA(Multisample Anti-aliasing) 增加采样点,再平均 MSAA多一句,采样点会根据覆…...

photoshop制作淡雅风格手绘美术教程
photoshop制作淡雅风格手绘美术教程 2009-04-15 12:59:46 作者:来源:互联网 浏览次数:244 文字大小:【大】【中】【小】原图和最终效果图的对比...

游戏美术3D建模次世代制作流程图文详解
【流程1——原画分析】 项目上通常都会给到你一个原画,然后根据原画进行制作。也不能全信原画。如果你有足够的想象力又有空间意识的话你可以对原画进行一定的改进。 【流程2——用3DsMax 或Maya制作中模】 这一步流程是为用ZBrush2018雕刻高模所做的预备工作&…...

来自Riot 的一份游戏美术教程(一):核心原则
引言前段时间,Riot Games推出了一个针对游戏美术的系列视频:So you wanna make games??这一系列的特点是短小精悍,每集只有十分钟,却囊括了游戏美术的各个方面,对于新手来说,这是非常宝贵的资源。虽然没有…...

上海大学保研夏令营计算机,2019年上海大学计算机学院保研情况
lujiaxuan0520楼主1楼2019-10-07 23:0910计算机学院全年级273人,共25个保研名额(保研率低于全校平均水平的原因为计算机专业就业乐观,选择读研的同学少)。在9/28国家推免系统开放以来,周围同学已知的录取情况(不完全统计,实际应更…...

LabVIEW在实时目标上使用文件路径
LabVIEW在实时目标上使用文件路径文件路径和结构因目标操作系统而异。本文档讨论了推荐的LabVIEW编码实践,用于指定文件路径,以便应用程序可以无缝地从目标移动目标。实时操作系统选项所有NI实时控制器运行三种不同的操作系统之一,即PharLap、…...

一毕业就几十万年薪?多所大学计算机毕业年薪统计
计算机考研的同学,有一部分是对计算机专业感兴趣,想从事这一行,或者希望做科研。但有很多同学,是觉得这一行工作之后挣钱多,工资高才选的(虽然996很累)。实际上对于很多优秀院校,的确…...

两大电网大手笔投建能源大数据中心,15省都有哪些落地案例?
在新型电力系统和双碳目标下,能源数据要素的放大、叠加、倍增效应日益凸显,能源大数据中心已在全国遍地开花。究竟什么是能源大数据中心?全国各地都有哪些落地项目呢?一:什么是能源大数据中心?能源大数据中…...
东南大学2019年最新研究生精品课程《知识图谱》资源分享
该课程系统地讲解了知识图谱相关的知识,涉及知识表示、知识建模、知识抽取基础(数据采、实体识别、关系抽取、事件抽取)、 知识融合、 知识图谱表示学习、知识存储、基于知识的智能问答、实体链接、知识推理等所有知识图谱相关的知识点。 该课…...
东南大学_TribleCoder 团队_创意文档_WP7
一. 创意来源一. 创意来源生活高压在经济快速发展,生活节奏不断加快的同时,整个社会仿佛也进入了一种高压状态:所有人再也不能无欲无求、淡定惬意地停下来享受生活,而是不得不迎接一个又…...

10-16东南大学微软招聘笔试经过
时间:10-16-2004 15:00-18:00地点:东南大学礼东201/202/301/302 参加笔试首先要在网上报名然后下载打印邀请函,带着邀请函和身份证件就能踏进考场了.试卷是英文的,大约有10页,分A,B卷.除了最后一部分essay,你都可以选择用中文或者英文答题.三个小时的答题时间还算是充裕的,完成…...

东南大学新增人工智能学硕!计算机科学与工程学院
东南大学是一所985大学,位于江苏省南京市。东南大学计算机学科评估B,软件工程学科评估B,在985大学中计算机排名中游,实力还算不错。上次,东南大学网络空间安全学院网络空间安全学硕和专硕的专业课变化了:一…...

B树与B+树简明扼要的分析
https://blog.csdn.net/zhuanzhe117/article/details/78039692...

最简明扼要的 Systemd 教程,只需十分钟
https://blog.csdn.net/weixin_37766296/article/details/80192633...

简明扼要说浏览器环境
http://www.codeceo.com/article/javascript-threaded.html...

C++实现OPT最佳页面替换算法,结果简明扼要
OPT 结果 实现一个如上图所示那样简明扼要OPT算法 简要说明:手动输入页面个数和物理块数,自动生成页面信息,“*”表示缺页。 代码 #include"pch.h" #include <iostream> #include<math.h> #include <vector>…...

工作总结:简明扼要,突出重点
今天向老板汇报工作内容,被老板反问了几个问题,由于没有充分的准备,之前做过的一些架构逻辑模糊不清了,导致我言辞闪烁。没说几句老板直接说我在胡说八道,因为这个架构是他设计的,我在没有充分理解和掌握的…...
B树与B+树简明扼要的区别 -- 转载
https://blog.csdn.net/zhuanzhe117/article/details/78039692 看了很多讲B树和B树的文章,大多都是围绕各自的特性讲的,第一,树中每个结点最多含有m个孩子(m>2);第二,……我也是从这些文章里…...

OGRE 2.1简明扼要的分析
link:http://www.aiuxian.com/article/p-2835471.html 据说OGRE 2.1 要追上商业引擎,还是比较期待。昨天下午下载了OGRE 2.1,HG然后CMAKE,看了一下代码,写点记录。 引擎数据结构算法架构 架构模块化(适合原…...
B-Tree与B+Tree简明扼要的区别
原文:https://blog.csdn.net/zhuanzhe117/article/details/78039692 看了很多讲B树和B树的文章,大多都是围绕各自的特性讲的,第一,树中每个结点最多含有m个孩子(m>2);第二,………...

一图抵千言《ARouter简明扼要原理分析》
配置 Kotlin项目: module App: apply plugin: kotlin-kaptdefaultConfig{javaCompileOptions {annotationProcessorOptions {//AROUTER_MODULE_NAME必配项 用于拼接生成文件名 AROUTER_GENERATE_DOC // AROUTER_GENERATE_DOC enable 生成Json文档// 生成的文档路…...

简明扼要聊聊 Vue3.0 的 Composition API 是啥东东!
对于没太了解 Vue3.0 的同学,在看到 Composition API 时,除了看起来会有一个“高大上”的感觉,可能更多的是有点懵逼,心中不免泛起一堆疑惑,这到底是何方神圣?干了何等大事?承担了何种重任&…...

简明扼要的反射入门教程
反射 反射作为RTTI语言(比如Java)的基础之一被很多人所熟知,但是有些同学对反射本身还是懵懵懂懂的,不是很清楚它到底有什么用。今天这节课我们就对反射本身来一个通体的认知。 定义 反射所在的包为:java.lang.refl…...

B树与B+树简明扼要的区别
目录 B树 B树 MyISAM InnoDB b树在线演示:https://www.cs.usfca.edu/~galles/visualization/BTree.html b树在线演示:https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html 看了很多讲B树和B树的文章,大多都是围绕各自的特…...

用递归实现字符串逆序,方法简明扼要
用递归实现字符串的逆序:关键是在于递归条件的设定,如果字符串长度大于等于2,则可以进行逆序,因此便有了以下代码 #include<stdio.h> #include<assert.h> #include<string.h> void reverse(char* arr) { a…...

委托机制(讲解简明扼要)
转载于https://zhidao.baidu.com/question/92027440.html 委托就是把具体事情让别人做,我只调用你的函数来。下面是一个例子: class RealSort { public: void sort(); }; class MySort { private: RealSort rs; public: GetName(RealSort rs) { this.r…...

简明扼要理解YOLO v3
YOLO 系列目标检测算法在目标检测史上的具有里程碑式的意义,网上YOLO系列的文章也是数不胜数,今天我就结合几个比较好的文章以及我自己的理解,简明扼要记录一下YOLO的经典版本YOLO v3,虽然现在再谈yolov3似乎已经有点过时了&#…...

简明扼要理解YOLOX
由于疫情已经居家办公2周了,明天就可以正常通勤上班了,内心还有点小小的期待呢。趁着这三月暖暖的春风和屋外喳喳的鸟叫声,咱们来借鉴着大神的文章梳理一下YOLOX算法。如果对YOLO 系列算法还不了解的同学,请先找找相关的文章了解一…...

八大排序算法简明扼要
八大排序算法 冒泡排序(暴力排序)、选择排序、快速排序、归并排序(后序排序)、链式基数排序、插入排序、希尔排序、堆排序。 拥有相关性的排序: (选择排序、快速排序);(插…...
简明扼要的概述微服务设计原则,深入开发微服务,就从今天开始
写在前面 领域驱动设计DDD (Domain Driven Design)提出了从业务设计到代码实现一致性的要求,不再对分析模型和实现模型进行区分。也就是说,从代码的结构中我们可以直接理解业务的设计,命名得当的话,非程序人员也可以“读”代码。…...

华控清交徐葳——参与新型数据交易所构建,实现规模化数据交易的可控可计量
毋庸置疑,在隐私计算领域,没有哪个企业如华控清交一般,能被同行如此一致的认为是“老大哥”般的存在,而华控清交的创始人徐葳教授更是行业内标杆性的人物。 在采访过程中,笔者也认识到了不一样的徐葳教授与华控清交。…...

剑指 Offer II 002二进制加法一文全搞定逐位相加
给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a "11", b "10" 输出: "101" 示例 2: 输入: a "1010", b "101…...

[201701][网络是怎样连接的][周自恒][译]
[201701][网络是怎样连接的][周自恒][译] 第 1 章 浏览器生成消息 - 探索浏览器内部 1.1 生成 HTTP 请求消息 1.1.1 探索之旅从输入网址开始 1.1.2 浏览器先要解析 URL 1.1.3 省略文件名的情况 1.1.4 HTTP 的基本思路 1.1.5 生成 HTTP 请求消息 1.1.6 发送请求后会收到…...

Java 8 Lambda 和 Comparator 排序
这里将演示 Java 8 中,几种使用 Ladmbda 结合 Comparator 进行 List 排序(升序或降序)的方式。Comparator 排序Comparator 是 Java 8 之前常用的排序方式,下面是排序 Person 类中的 age 字段的示例。Data public class Person {pr…...

为什么许多开店生意人都大老远跑到另外一个城市去开店做生意去赚钱
为什么许多开店生意人都大老远跑到另外一个城市去开店做生意去赚钱?开销又大,而不是在自己所在的城市开店做生意赚钱,至少自己住房子房租不用付,难道是自己所在城市没有商机吗?肯定不是,因为许多外省的人反…...

怎么做好一家实体店的生意
怎么做好一家实体店我觉得每个人心里都有自己的观点,我认为首先你做的店销售的产品或者服务是不是人们所需要的,符合市场规律和前景吗。有了这样一个前提,你开店所需要的资金成本有没有一个规划,前期装修,拓客期的费用…...

我有一朋友生意做的红红火火
我有一朋友生意做的红红火火,但几乎没有打过广告和促销,很多人劝他搞加盟连锁,这样发展快,挣钱多,都被他拒绝,我问他为什么?他说: 我只能保证自己对得起顾客,不能保证别人…...

为什么很多开店的生意不好?
为什么很多开店的生意不好?真的是被互联网摧残的吗? 当然不是!为什么不是呢? 因为开店的人群普遍是低学历人群,也就是学习力比较差的一群人,而玩互联网的都是高学历高智商的一群人。表面上是开店的输给了互…...

朋友在深圳开店做摄像头生意,已经十多年了
这十多年来,朋友也确实赚到了钱,不仅自己买了车,还在深圳买了房,但是最近这几年行业不景气,生意越来越惨淡,每天赚的钱都不够交房租和水电费的,入不敷出,实在撑不下去了,…...

水果店做生意不好怎么办,水果店生意不好如何做好
1、店里的顾客多引流到手机上 水果店一定要有自己的顾客粉丝,多加上他们的好友,加多了之后可以拉群里卖水果或者朋友圈做好宣传卖水果。开水果店主入门学习交流圈子,朋友圈下搜一搜功能,搜水果店早读课。圈子在不断聚集水果店主同…...

弘辽科技:人少开店做什么生意好?暴利生意项目
做生意肯定希望在人流量大的地方开,这样商家才能赚到钱,但是要知到人流量大的地方租金肯定不会便宜,所以对于一些没有太多资金的人来说就希望在人少的地方开店,那人少开店做什么生意好?接下来我们就来给大家分享一些人少开店暴利…...

怎么到网上开店?新手的你get到了嘛
今天小编跟大家分享怎么到网上开店,不懂的小伙伴赶紧收藏喔! 1、分析自己的优势。现在在网店上做生意的多得无法数清。那么你怎样才能脱颖而出呢,你就需要你先从自身下来,好好分析自己具备的优势,然后提高你的竞争力。…...

python最适合做什么生意赚钱投资小_5个不起眼的赚钱小生意,适合新手,轻松创业...
在这个高物价的时代里,很多人都想通过自己的努力,过上有车有房丰衣足食的生活,如今一说到投资做生意,人们立马会想到小投资赚钱项目,想做出大成就,那确实得花不少的精力到项目里面了,不过只要你对了正确的投资项目,赚钱就不是问题。,很多项目的投资费用比较高,市场上小投资赚钱…...

如果你想害一个人,那你就鼓励他去做生意吧。
如果你想害一个人,那你就鼓励他去做生意吧。 听过很多人讲他们做生意的天真的想法和美妙的蓝图,我心想去做吧,你会亏得一塌糊涂的。 我会给他们泼冷水,我会说为什么不可行。 然后他们会跟我说可行的理由。 我知道这样会不招待见。…...

做生意的“四大方向”让你看清财富的本质
为什么很多人想做生意,想创业,却没有方向,一直在迷茫?根本原因是因为你还没有看清楚赚取财富的本质 。今天分享当今社会下四种做生意的方向。 第一必须要做可复制的生意,而且要做到团队可复制,产品可复制&a…...

普通商家如何在微信做生意?元气森林私域体系,太值得借鉴了
元气森林又融资了,本轮投后估值达到60亿美元。这意味着,不到一年时间内,元气森林估值增加2倍, 而元气森林公司成立也才不到5年,元气森林的成功并非偶然。从产品、品牌、营销等各个方面都有值得学习的地方。 私域流量…...

自己做生意
自己做生意 开网店 首选天下商日用百货批发 坐在家里轻松自由开店 上拓趣网拿货全网最低价...

什么样的人适合做生意
什么样的人适合做生意 1、很聪明的人。 读书学习好与坏与做生意赚钱完全是两码事。读书人往往呆头呆,墨守陈规。而做生意则需要头脑灵活多变,想到就要做到。 2、办事能力和办事效率很强的人。 一旦有赚钱的生意马上一步一个脚印的去做,要付诸…...

开店做生意全靠套路!学会这四个营销套路,业绩翻数倍!
开店做生意,少不了营销手段!要想让顾客主动进店消费,这几招营销方式一定要学会。 1.第2杯半价 肯德基、麦当劳最常见的促销广告“第2杯半价”相信大家都见过。“第2杯半价”表面来看是打了5折,但是两杯一起算的话࿰…...

你必须知道的开店做生意那点事
近几年的生意是越来越不好做了,看到什么挣钱大家就争相恐后的做什么,久而久之导致市场饱和竞争压力大生意难做。。。 反过来讲为什么有的同行就做的是风生水起呢?要说产品吧一样的进货渠道,要说价格吧,基本上一样&…...

SAP FICO 内部订单详细解析
内部订单 内部订单是用来对企业内部某项工作或者任务编制计划、归集成本、结算的载体。比如市场推广活动、内部团队活动、研发项目、投资项目、在建工程项目等。 内部订单需要区别于销售订单、采购订单和生产订单。 销售订单和采购订单是企业与外部单位以合同或者契约为纽带&…...

基于android 10的国产手机,国产手机再次发力:骁龙855 Plus+安卓10.0系统!
原标题:国产手机再次发力:骁龙855 Plus安卓10.0系统!在2019年上半年,一加这家国产智能手机厂商发布了一加7系列,也即包含了一加7和一加7 Pro这两款手机。值得注意的是,在前几年,坚持只做旗舰手机…...

android 8 国产手机图片,机器人大爆发 国产个性Android手机盘点
又一高配强机:华为Honor荣耀有了开源的Android系统之后,国产智能手机如雨后春笋般出现。而单单搭载智能系统是远远不够的,一些硬件配置也必不可少。在上一页提到了手机硬件装备竞赛,那么这对国产手机来说也是如此。华为Honor即是一…...

基于android 10的国产手机,正式发布,首款基于安卓9.0的国产手机系统,却只支持这几款机型...
在8月底成功首发了7nm制程的麒麟980处理器后,华为仿佛进入了爆发模式,在9月初先后发布了荣耀8X、荣耀8XMAX、华为麦芒7三款手机,其中荣耀8X更是以自家中端麒麟710处理器挑战采用了高端处理器的小米8旗舰手机,并发布了AI通讯功能&a…...
麒麟980处理器要来了,最强国产手机非它莫属!
2019年将至,三星和苹果两位大咖的旗舰机型也将相继登场,对于华为来说,下半年可谓挑战重重。上半年华为P20系列的摄影功能虽然大受好评,但是其搭载的麒麟970却让这款手机失分不少。你要知道,麒麟970可是去年的旗舰芯片&…...

鸿蒙系统的适配国产手机,鸿蒙系统被其他国产手机适配?荣耀没问题,魅族OPPO难度大...
这两天关于华为鸿蒙系统最劲爆的消息,并不是有更多华为手机用户已经用上了鸿蒙系统,而是有传闻华为手机之外的硬件和品牌已经开始适配鸿蒙系统。这对于目前正在转型的华为而言,无疑是一个巨大的好消息。如果这个传闻成真,那么未来…...

【01Studio MaixPy AI K210】22.ESP8266与服务器连接的问题及处理
目录 前提 问题 处理 前提 WiFi的账号密码输入正确 ESP8266的主题与服务器的主题一致 代码的服务器网址正确 ESP8266正确连接核心板的引脚 ESP8266返回“OK” simple.py文件以发送到开发板 WiFi已打开 问题 1.连接上WiFi,已输出IP信息,但是仍然…...

计算机博士留校好还是去企业好,博士毕业,是进入知名国企发展好,还是进入大学当老师更好?...
大家都知道,就目前来说,虽然博士学历在高校常常见到,但是对于整个社会来说,拥有博士学历的人依旧是凤毛麟角,在普通群体周围,博士毕业的人也是屈指可数。想要读到博士,除了花费的时间和精力很多…...

【Python语言基础】——Python 日期
Python语言基础——Python 日期 文章目录 Python语言基础——Python 日期一、Python 日期一、Python 日期 Python 日期 Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理。 实例 导入 datetime 模块并显示当前日期: …...
AI博士毕业,要求多少年薪才不亏?中美最高超过200万,日本还没公务员挣得多...
贾浩楠 发自 凹非寺量子位 报道 | 公众号 QbitAI机器学习博士毕业,向公司要多少钱才不亏?最近,Reddit上一位英国的应届毕业生向网友发出求助。而在网友的回复中,曝出了世界各地这一大热专业的待遇情况,有的国家一年能开…...

2021届大学毕业生薪酬排名出炉 | 超50所高校月薪过万!
本文来源 今日华园 版权/解释权归原出处所有近日,《2022全国高校毕业生薪酬指数排行榜TOP100》发布了(表格附后)。根据排行榜,上海交通大学以87.7的薪酬指数位列第一,清华大学以0.01分之差居于次席,中国人…...

博士毕业后,想继续科研,想进高校任教,需要什么条件呢?
博士毕业后,想继续科研,想进高校任教,成为人人敬仰的教授,需要什么条件呢?今天根据不同地区盘点起来,现在就可以准备起来了。首先,学术成果是关键,那么有没有前人的经验可以参考呢&a…...
你身边的博士刚毕业以及稳定下来后的年薪大约是 多少?
链接:https://www.zhihu.com/question/263631425编辑:深度学习与计算机视觉声明:仅做学术分享,侵删读博在一定的阶段有时不仅仅是读博,它需要付出的成本也不是简单的学费等之类的,而是有很多隐形的机会成本…...

大连大学计算机科学与技术研究生毕业工资,大学研究生毕业的你,现在一个月的月薪多少?现实让人想哭!...
原标题:大学研究生毕业的你,现在一个月的月薪多少?现实让人想哭!网友一:刚毕业的研究生,在一线城市北上广深的,一般大约8K到10k,当然这是平均数字。二线城市呢,则要稍微低…...