当前位置: 首页 > news >正文

五种重要的 AI 编程语言

推荐:使用 NSDT场景编辑器 助你快速搭建3D应用场景

简而言之:决定从哪种语言开始可能会令人生畏。

不用担心!本文将解释 AI 中使用的最流行编程语言背后的基础知识,并帮助您决定首先学习哪种语言。对于每种语言,我们将描述它的基本特征,它做得好的地方,它不足的地方,以及哪种工作最常使用它。

人工智能编程语言的基本路线图

AI中最重要的五种编程语言是Python,C++,R,MATLAB和Java。在我们深入研究它们之前,让我们先探索一下要先学习哪个。

对于大多数人来说,第一个要学习的编程语言是Python。它易于学习,适应性极强,并且有许多专门用于机器学习的库。由于这些原因以及更多原因,它是AI中事实上的编码语言。接下来要学习什么取决于您的职业目标。

  • 在Python之后,你应该学习:
  • C++:如果你想在机器人、自动驾驶汽车或硬件领域工作。
  • R:如果你想在学术界或金融业工作。
  • 马特实验室:如果你最终在一家仍在使用MATLAB的公司工作(你应该说服该公司转向Python)。
  • 爪哇岛:如果要构建可扩展的 AI 基础结构。

最后一点建议:不要试图同时学习两种语言。首先专注于擅长Python。在你达到极限后,根据你的职业目标进行扩展。

请继续阅读,更深入地了解 Python 和其他 AI 编程语言。

您需要了解的五种编程语言

Python

适用于 AI 的最佳全能编程语言。

这是什么? Python是一种流行的通用编程语言,相对容易学习。它的简单性有助于AI开发,AI社区已采用Python作为其事实上的语言。

它做得好吗?Python之所以流行有几个重要原因。

  • 很简单:与其他编码语言相比,Python 具有简单的语法(您将键入用于创建程序的单词、符号和表达式)。这意味着您将有更多时间投入到重要的事情上:查看数据和调整模型。
  • 用途广泛:您的操作系统支持 Python,无论您使用的是 iOS、Windows 还是 Linux。更重要的是,你不需要修改太多的Python程序来让它跨平台运行。
  • 它是开源的:任何人都可以适应、更新或添加到 Python 底层的代码中。因此,Python 社区的许多成员都构建了框架和库,使其几乎可以适应任何机器学习或数据科学任务。

缺点是什么?Python在执行复杂的数学和统计函数时有局限性。与C++和Java等语言相比,它的运行速度也很慢(见下文)。

是为谁准备的? 我们再说一遍:Python是机器学习和数据科学中最流行的编程语言。如果你的工作涉及构建机器学习模型和处理大量数据,Python 适合你。但是,如果您从事数据分析、AI 基础设施工作,或者计划在核心 AI 工作之外进行更密集的编程,则可能需要专攻第二语言。继续阅读以了解更多信息。

C++

适用于 AI 基础设施的最佳编程语言。

这是什么? C++ 是通用应用程序中最流行的语言之一。它是Windows,iOS和Linux等操作系统的支柱;像Spotify和Photoshop这样的应用程序;像YouTube这样的网站;以及视频游戏、银行系统等。对于任何从事自动驾驶汽车或机器人工作的人来说,它也是一门必不可少的语言。

它做得好吗?C++是一种编译语言:它不需要解释器程序,这会增加处理开销。实际上,用C++编写的程序既快速高效

缺点是什么? C++程序的运行可能很有效,但编写它们很复杂——有一个大写的 C 和两个加号。用C++编写程序需要时间,调试它通常需要更多时间,每次调整超参数时重写它花费的时间比您想象的要多。众所周知,C++很难学。如果你的目标是成为一名数据科学家,那么学习C++就像学习驾驶直升机,然后只用它来在杂货店购物。

是为谁准备的?C++不太适合大多数数据科学家或机器学习工程师,但它对于人工智能中的某些学科至关重要。

  • 如果你的角色涉及构建或维护人工智能基础设施——其他人用来部署模型或分析数据的核心软件库——那么你绝对应该学习C++。
  • 大多数从事机器人和自动驾驶汽车的团队都使用C++作为他们的生产代码,因为它的速度和效率。
  • 芯片和硬件行业的大多数工作都需要C++。
  • 如果你想参与开源社区,学习C++是很重要的。许多最流行的Python框架和工具包都是用C++编程的。

R

用于数据分析的最佳编程语言。

这是什么? R 是专门为统计分析而构建的。

它做得好吗? R是由统计学家为统计学家开发的。它擅长在数据中查找模式并从模型输出中获取见解。出于显而易见的原因,R 还吸引了将其用于统计分析、数据可视化和类似项目的机器学习工程师和数据科学家。与Python一样,它是开源的,社区已经为AI任务创建了许多框架和库。

缺点是什么?在复杂性方面,初学者会发现R比Python更难学习。与 Python 相比,R 具有更多用于处理数字的内置功能,但在处理一次使用太多数据的项目时,它也往往会滞后。R?更像啊!

是为谁准备的? R 是数据分析、数据科学和邻近职业的绝佳工具,但它经常被学者使用。如果您找到一份从事财务工作的工作,并且对于在其旧软件中使用它的团队,您可能还需要学习 R。

MATLAB

一种曾经流行的AI编程语言,已被Python黯然失色。

这是什么? MATLAB 不仅仅是一种编程语言,它是一个由五部分组成的系统,由语言、开发环境、图形可视化工具、数学库和用于用其他语言编写程序的界面组成。MATLAB专注于矩阵计算。如果您不熟悉矩阵,矩阵是数字数组,并且能够很好地计算它们对于许多机器学习和数据科学应用程序至关重要。

它做得好吗?MATLAB 非常适合处理数值数组。它也非常适合许多其他数学运算,并且具有用于实现机器学习模型的内置功能。这些功能使其比Python更具优势,Python需要用于数学函数和模型实现的附加工具包和框架。在速度方面,它在许多操作中都快速且轻松地超过了Python。

缺点是什么?MATLAB 的最大缺点是成本:您必须支付费用才能访问系统,并且可能需要支付额外的功能,具体取决于您的目标。这种进入壁垒在一定程度上导致了 MATLAB 在 AI 构建者中的受欢迎程度下降;毕竟,Python是免费和开源的。最后,与Python相比,MATLAB的语法很难学习。

是为谁准备的?一些雇主和人工智能团队更喜欢 MATLAB,因为他们是传统用户,或者他们的目标需要更多的数学魅力。有趣的事实:Andrew Ng最初的机器学习课程是使用MATLAB教授的。当 Andrew 和他在 DeepLearning.AI 和斯坦福大学的团队在 2022 年对机器学习专业化进行现代化改造时,其中一个关键的升级是切换到 Python。

Java

一种快速、通用的编程语言,可用于构建可扩展的 AI 基础架构。

这是什么? Java在很多方面与Python相似:它是流行的,开源的,并且有许多专门用于机器学习和数据科学的框架和工具包。Java要老得多,因此它得到了许多组织的遗留支持。它在技术上也比Python更复杂。这意味着它比Python和R更难学习,但它可以更有效地执行程序。

它做得好吗?Python可以做的所有事情,Java也可以做得很好——在某些情况下,也许更好。例如,它具有用于数据科学、分类、深度学习等的框架。Java比Python有更多的规则,这使得破解或滥用代码变得更加困难。它可用于构建用于部署机器学习模型的完整堆栈、后端、大规模基础结构。

缺点是什么?Java的学习曲线比Python更陡峭(尽管没有C++那么陡峭)。用Java编写程序也比Python花费更多的时间,并且由于它们的复杂性,这些程序通常需要更多的调试。这些减速带会减慢机器学习模型的快速原型制作速度。最后,在开发以AI为中心的工具方面,Java的社区并不像Python那样活跃,因此Java对于范围更窄的机器学习和数据科学任务很有用。

是为谁准备的?如果不是因为它的复杂性,Java可能是主要的AI编码语言。但是,您可能只需要在构建 AI 基础架构或部署机器学习产品的角色时才需要学习它。对于初学者来说,Python是一个更安全的选择。与此同时,您仍然可以每天早上在杯子里享受java。

吴恩达关于学习编程的提示

学习编码的最好方法之一是承担编码项目。吴恩达建议,从小处着手,一个项目你可以在业余时间完成一两个星期。目标不是构建一个改变世界的应用程序,而是将您的知识付诸实践并从错误中吸取教训。

在处理项目时,编码人员通常会使用Google或Stack Overflow来查找适合其需求的预先编写的代码行。这是一种高效的工作方式,您也可以随意这样做。但是,不要只是复制和粘贴你找到的东西,Andrew Ng说。相反,请自己重新键入。这样做的身体行为将为你的大脑建立肌肉记忆,帮助你内化概念和语法。继续这样做,您将成为发布其他人复制的代码的人!

在 2020 年给他的时事通讯《The Batch》读者的一封信中,吴恩达写道:

“当你试图掌握一种编程技术时,请考虑以下做法:

  • 阅读一行代码,然后自己输入。(在打字时不查看参考代码即可执行此操作的奖励积分。
  • 了解算法,然后尝试自己实现它。
  • 阅读研究论文并尝试复制已发表的结果。
  • 学习一段数学或定理,并尝试从一张白纸开始自己推导它。

结论

编码是人工智能建设者的一项基本技能。事实上,吴恩达(Andrew Ng)将编码比作读写能力:“代码是人机交流最深层次的形式。随着机器在日常生活中变得越来越重要,这种沟通变得越来越重要。

那么,你应该学习哪种语言呢?对于大多数机器学习工程师和数据科学家来说,最好的选择是Python。它易于学习,快速实施,并且有大量为AI量身定制的附加组件。你可能会想学习一点Python,然后学习一点R,一点Java,等等,以便更加通用。我们建议不要这样做。在你改变之前,专注于获得一个好的Python。

原文链接:五种重要的 AI 编程语言 (mvrlink.com)

相关文章:

五种重要的 AI 编程语言

推荐:使用 NSDT场景编辑器 助你快速搭建3D应用场景 简而言之:决定从哪种语言开始可能会令人生畏。 不用担心!本文将解释 AI 中使用的最流行编程语言背后的基础知识,并帮助您决定首先学习哪种语言。对于每种语言,我们将…...

【linux】2 make/Makefile和gitee

文章目录 一、Linux项目自动化构建工具-make/Makefile1.1 背景1.2 实例代码1.3 原理1.4 项目清理 二、linux下第一个小程序-进度条2.1 行缓冲区2.2 进度条 三、git以及gitee总结 ヾ(๑╹◡╹)ノ" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)ノ" 一…...

db-gpt安装指南(docker版本)

1 下载源码 下载v0.3.5的源码,截止今天(20230823)建议安装这个“稳定”版本。 2 构建镜像 依照自己硬件环境,看看是否要调整一下启动参数。 bash docker/build_all_images.sh \ --base-image nvidia/cuda:11.7.1-devel-ubuntu…...

「Java」《深度解析Java Stream流的优雅数据处理》

《深度解析Java Stream流的优雅数据处理》 一、引言1.1 背景1.2 Stream流的意义 二、Stream流的基本概念2.1 什么是Stream流2.2 Stream与传统集合的对比 三、创建Stream流3.1 通过集合创建Stream3.2 使用Arrays和Stream.of创建Stream3.3 从文件和网络流创建Stream 四、 中间操作…...

【云驻共创】华为云之手把手教你搭建IoT物联网应用充电桩实时监控大屏

文章目录 前言1.什么是充电桩2.什么是IOT3.什么是端、边、云、应用协同4.什么是Astro轻应用 一、玩转lOT动态实时大屏(线下实际操作)1.Astro轻应用说明1.1 场景说明1.2 资费说明1.3 整体流程 2.操作步骤2.1 开通设备接入服务2.2 创建产品2.3 注册设备2.4…...

Hadoop分布式计算与资源调度:打开专业江湖的魔幻之门

文章目录 版权声明一 分布式计算概述1.1 分布式计算1.2 分布式(数据)计算模式1.3 小结 二 MapReduce概述2.1 分布式计算框架 - MapReduce2.2 MapReduce执行原理2.3 小结 三 YARN概述3.1 YARN & MapReduce3.2 资源调度3.3 程序的资源调度3.4 YARN的资…...

为什么叫源表?源表是如何四象限工作的?

为何称呼为源表? “源”为电压源和电流源,“表”为测量表; “源表”即指一种可作为四象限的电压源或电流源提供精确的电压或电流,同时可同步测量电流值或电压值的测量仪表。(恒流源时测电压,恒压源时测电…...

云原生周刊:Kubernetes v1.28 正式发布 | 2023.8.21

开源项目推荐 kurt 一个 Kubernetes 插件,可提供 Kubernetes 集群中重启内容的上下文信息。 Kubean Kubean 是一个基于 kubespray 的 Kubernetes 集群生命周期管理工具。 k8sgpt k8sgpt 是一款用简单的英语扫描 Kubernetes 集群、诊断和分流问题的工具。 它将…...

Git基础——基本的 Git本地操作

本文涵盖了你在使用Git的绝大多数时间里会用到的所有基础命令。学完之后,你应该能够配置并初始化Git仓库、开始或停止跟踪文件、暂存或者提交更改。我们也会讲授如何让Git忽略某些文件和文件模式,如何简单快速地撤销错误操作,如何浏览项目版本…...

PythonJS逆向解密——实现翻译软件+语音播报

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境使用: python 3.8 pycharm 模块使用: requests --> pip install requests execjs --> pip install PyExecJS ttkbootstrap --> pip install ttkbootstrap pyttsx3 --> pip install pyttsx3 第三…...

gPRC与SpringBoot整合教程

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

Hadoop Yarn 配置多队列的容量调度器

文章目录 配置多队列的容量调度器多队列查看 配置多队列的容量调度器 首先,我们进入 Hadoop 的配置文件目录中($HADOOP_HOME/etc/hadoop); 然后通过编辑容量调度器配置文件 capacity-scheduler.xml 来配置多队列的形式。 默认只…...

c语言练习题28:杨氏矩阵

杨氏矩阵 从左到右增加 从上到下增加 思路&#xff1a; 代码&#xff1a; #include<stdio.h> int findNum(int(*arr)[3], int x, int y, int k) {int i 0;int j y - 1;while (i<x&&j>0) {if (arr[i][j] > k) {j--;}else if (arr[i][j] < k) {i;…...

梳理系统学习R语言1-R语言实战-使用ggplot进行高阶绘图

以下为书中代码&#xff0c;会添加一些理解 library("ggplot2") ggplot(datamtcars,aes(xwt,ympg))geom_point()geom_point(pch17,color"blue",size2)geom_smooth(method"lm",color"red",linetype2)labs(title"Automobile Data&…...

测试框架pytest教程(2)-用例依赖库-pytest-dependency

对于 pytest 的用例依赖管理&#xff0c;可以使用 pytest-dependency 插件。该插件提供了更多的依赖管理功能&#xff0c;使你能够更灵活地定义和控制测试用例之间的依赖关系。 Using pytest-dependency — pytest-dependency 0.5.1 documentation 安装 pytest-dependency 插…...

electron软件安装时,默认选择为全部用户安装

后续可能会用electron开发一些工具&#xff0c;包括不限于快速生成个人小程序、开发辅助学习的交互式软件、帮助运维同学一键部署的简易版CICD工具等等。 开发进度&#xff0c;取决于我懒惰的程度。 不过不嫌弃的同学还是可以先关注一波小程序&#xff0c;真的发布工具了&…...

MySQL常用表级操作

基础信息相关 1.修改表名&#xff1a; rename table 旧表名 to 新表名; 2、修改字段类型&#xff1a; alter table 表名 modify column 字段名 字段类型(长度) 3、修改字段名称和类型&#xff1a; alter table 表名 change 现有字段名称 修改后字段名称 数据类型 4、增加字段&a…...

Golang Gorm 一对多关系 关系表创建

一对多关系 我们先从一对多开始多表关系的学习因为一对多的关系生活中到处都是&#xff0c;例如&#xff1a; 老板与员工女神和添狗老师和学生班级与学生用户与文章 在创建的时候先将没有依赖的创建。表名称ID就是外键。外键要和关联的外键的数据类型要保持一致。 package ma…...

java八股文面试[数据结构]——ConcurrentHashMap原理

HashMap不是线程安全&#xff1a; 在并发环境下&#xff0c;可能会形成环状链表&#xff08;扩容时可能造成&#xff0c;具体原因自行百度google或查看源码分析&#xff09;&#xff0c;导致get操作时&#xff0c;cpu空转&#xff0c;所以&#xff0c;在并发环境中使用HashMap是…...

学习记录——FeatEnHancer

FeatEnHancer: Enhancing Hierarchical Features for Object Detection and Beyond Under Low-Light Vision 一种适用于任意低光照任务增强方法 ICCV 2023 提出了FeatEnHancer&#xff0c;一种用于低光照视觉任务的增强型多尺度层次特征的新方法。提议的解决方案重点增强相关特…...

OpenCV中常用的函数

OpenCV是一个功能强大的计算机视觉库&#xff0c;提供了众多用于图像处理、计算机视觉和机器学习的函数和模块。以下是一些OpenCV中常用的函数和模块的子集&#xff1a; 图像读取和显示&#xff1a; cv::imread&#xff1a;用于读取图像文件。cv::imshow&#xff1a;用于显示图…...

【福利】Google Cloud Next ’23 精彩待发,Cloud Ace 作为联合赞助商提前发福利~

【Cloud Ace 是 Google Cloud 全球战略合作伙伴&#xff0c;在亚太地区、欧洲、南北美洲和非洲拥有二十多个办公室。Cloud Ace 在谷歌专业领域认证及专业知识目前排名全球第一位&#xff0c;并连续多次获得 Google Cloud 各类奖项。作为谷歌云托管服务商&#xff0c;我们提供谷…...

vue-admin-template实现按钮级控制

这里记录一下使用大佬的模板vue-admin-template&#xff0c;实现按钮级别控制 实现的思路&#xff1a;用户登录之后&#xff0c;返回用户详细信息(将用户的所有权限码发送给前端)&#xff0c;然后将权限码保存在全局状态管理对象中&#xff0c;然后在组件中进行判断是否显示 最…...

数据驱动工作效率提升的5个层次—以PreMaint设备数字化平台为例

在现代工业领域&#xff0c;数据分析已成为提升工作效率和优化生产的不可或缺的工具。从描述性分析到规范性分析&#xff0c;数据分析逐步揭示了设备运行和维护的深层信息&#xff0c;帮助企业更明智地做出决策。本文将以PreMaint设备数字化平台为例&#xff0c;探讨工业数据驱…...

白介素对NK细胞功能的影响(IL-1β、IL-12、IL-15、IL-18、IL-21)

1、促进NK细胞扩增和活化&#xff1a;IL-2/21 Soiffer RJ等自1996年起即报道IL-2低剂量持续输注和间歇给药对转移癌患者的CD56NK细胞有明显扩增效果。大部分NK细胞表面具有IL-2中亲和性受体&#xff0c;IL-2诱导NK的杀伤活性约需18&#xff5e;24小时。此外&#xff0c;IL-2还…...

C++笔记之虚函数重写规则、返回类型协变、函数的隐藏

C笔记之虚函数重写规则、返回类型协变、函数的隐藏 code review! 文章目录 C笔记之虚函数重写规则、返回类型协变、函数的隐藏1.返回类型协变2.C中函数的隐藏 —— C Primer Plus &#xff08;第6版&#xff09; —— cppreference 1.返回类型协变 2.C中函数的隐藏 在C中&a…...

抢鲜体验!vLive虚拟直播5大实用新功能上线!

vLive虚拟直播系统2.6.2版本全新上线&#xff01;新版本一共更新了5项实用功能&#xff0c;能让你的直播操作更加方便。现在就跟随小编一起来看看吧&#xff01; 1.本地下载场景支持一键迁移 用户下载后的场景可以直接迁移至另一个磁盘&#xff0c;无需重复下载。 2.信号源添加…...

网约车平台如何开发?需要多少钱?

随着共享经济的兴起&#xff0c;网约车行业迅速发展&#xff0c;并成为人们生活中不可或缺的一部分。为了满足市场需求和提供更好的服务&#xff0c;开发一款高质量的网约车源码平台至关重要。本文将深入探讨网约车源码平台的开发方案&#xff0c;从技术架构、安全性和用户体验…...

Rust踩雷笔记(5)——刷点链表的题(涉及智能指针Box,持续更新)

目录 leetcode 2 两数相加——模式匹配单链表Box 只能说Rust链表题的画风和C完全不一样&#xff0c;作为新手一时间还不太适应&#xff0c;于是单独为链表、智能指针开一篇&#xff0c;主要记录leetcode相关题型的答案以及注意事项。 leetcode 2 两数相加——模式匹配单链表Bo…...

[附源码]计算机毕业设计-JAVA火车票订票管理系统-springboot-论-文-ppt

PPT论文 文章目录 前言一、主要技术javaMysql数据库JSP技术 二、系统设计三、功能截图总结 前言 本论文主要论述了如何使用JAVA语言开发一个火车订票管理系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想…...

CARLA spawn Actor (Vehicle and Pedestrian)

1. Spawn Vehicles 2. Spawn Pedestrian References [1] Carla简单入门-1 基本的API使用 - 知乎 [2] https://carla.org/2019/07/12/release-0.9.6/...

【官方中文文档】Mybatis-Spring #SqlSessionFactoryBean

SqlSessionFactoryBean 在基础的 MyBatis 用法中&#xff0c;是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。而在 MyBatis-Spring 中&#xff0c;则使用 SqlSessionFactoryBean 来创建。 设置 要创建工厂 bean&#xff0c;将下面的代码放到 Spring 的 XML …...

el-tree树回显删除某项,再次点开树形组件无变化,实际数据已改变

el-tree树回显删除某项&#xff0c;再次点开树形组件无变化&#xff0c;实际数据已改变 页面有添加和删除已选选项的按钮&#xff0c;点击删除一个选项&#xff0c;再点添加&#xff0c;打开树形弹窗&#xff0c;发现弹窗被删除的选项还在 原因&#xff1a; 发现是添加的时候&…...

生产作业标准化是什么?生产车间作业流程标准化的步骤

生产作业标准化是以精益化为目标&#xff0c;对现行作业方法进行量化细化的分析改善&#xff0c;最终形成优化后的更好的作业程序。标准化的作用主要是以文件的方式保存企业成员积累的技术和经验&#xff0c;而不是因为人员的流动而失去整个技术和经验。 生产作业标准化的实施非…...

CSS3盒模型+flex

1.盒模型 标准盒模型: wwidthpaddingborderhheightpaddingborder 怪异盒模型(ie盒模型) wwidth包含了(paddingborder)hheight包含了(paddingborder) 2.CSS3弹性盒(重点新版弹性盒) 弹性盒: 设置为弹性盒后,父元素为容器,子元素为项目弹性盒中存在两根轴,默认水平为主轴,垂…...

物种气候生态位动态量化与分布特征模拟

在全球气候快速变化的背景下&#xff0c;理解并预测生物种群如何应对气候变化&#xff0c;特别是它们的地理分布如何变化&#xff0c;已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟&#xff0c;不仅可以量化描述物种对环境的需求和适应性&#xff0c;预…...

微服务参数透传实现

说明&#xff1a;在微服务架构中&#xff0c;用户身份经网关验证后&#xff0c;我们可以将用户信息&#xff0c;如ID加入到请求头上。后面的微服务中&#xff0c;可以设置一个拦截器&#xff0c;拦截请求&#xff0c;获取请求头上的用户ID&#xff0c;加入到ThreadLocal中。 最…...

leetcode 767. Reorganize String(重组字符串)

重新排列字符串s中的字母&#xff0c;使得任意两个相邻的字母都不相同。 思路&#xff1a; 让相邻字母不同&#xff0c;能想到的办法是先把相同的字母排列&#xff0c; 然后在相同字母的缝隙中插入另一种字母。 比如"aab", 先把"a a"排出来&#xff0c;再…...

java八股文面试[数据结构]——List和Set的区别

List和Set是用来存放集合的接口&#xff0c;并且二者都继承自接接口Collection List 中的元素存放是有序的&#xff0c;可以存放重复的元素&#xff0c;检索效率较高&#xff0c;插入删除效率较低。 Set 没有存放顺序不能存放重复元素检索效率较低&#xff0c;插入删除效率较…...

脑机接口里程碑!一天2篇Nature!

2023年8月23日&#xff0c;《Nature》期刊一口气发表了两项独立的脑机接口方向的研究。 一项来自加州大学旧金山分校华裔科学家张复伦团队&#xff0c;另一项来自斯坦福大学的神经科学家弗朗西斯威利特(Francis Willett)团队。两项研究都旨在帮助那些因脑损伤和疾病而失去语言能…...

C语言strchr函数

描述 strchr函数用于在一个字符串中查找某个字符的第一次出现的位置。 函数的声明&#xff1a; char * strchr(const char *s, int c); 其中&#xff0c;s是要进行查找的字符串&#xff0c;c是要查找的字符。函数返回指向第一次出现字符 c 的指针&#xff0c;如果未找到&…...

Linux下的Shell基础——Shell概述和入门(一)

前言&#xff1a; Shell还是一个功能相当强大的编程语言&#xff0c;易编写、易调试、灵活性强。为了方便后续的学习&#xff0c;我们需要学习在Linux系统下的Shell编程 目录 一、Shell概述 1.Linux 提供的 Shell 解析器有 2. 默认的解析器是 bash 二、Shell 脚本入门 1.脚…...

当你在浏览器中输入了网址访问时产生了哪些技术步骤

当你在浏览器中输入了网址访问时产生了哪些技术步骤 前段时间在知乎上了看一些网络方面的知识&#xff0c;刚好小编自己也是从事这一块的相关工作由对网络方面有一定的了解。今天我们来讲讲&#xff0c;当你在浏览器中输入本站域名并回车后&#xff0c;这背后到底发生来什么事…...

嵌入式Linux人脸检测libfacedetection

人脸检测 此库依赖Opencv&#xff0c;所以首先要移植Opencv到板子上。 笔者使用LVGL搭建了一个界面&#xff0c;界面有些卡顿&#xff08;主要原因是文件存取较慢&#xff09;&#xff0c;演示效果如下&#xff1a; OpenCV 首先要交叉编译Opencv 参考&#xff1a;https://…...

Hugo托管到Github Pages

Github通过其Github Pages服务可以user、project或organization提供免费快速的静态托管&#xff0c;同时使用Github Actions自动化开发工作流和构建。 1.创建Github仓库 可见性为public。 命名为username.github.io&#xff0c;username为你的Github用户名。 2.添加远程仓库…...

Python经典面试题——在txt里面添加字段和数据

1. 问题&#xff1a; 如何在txt中实现第一行的字段加一个"test",如果第二行开始有数据&#xff0c;在每条数据的最后加"ok" 2.条件 提供的txt文本如下 时间--地区--人口---降雨量----- 20220101--北京--200--0.5----- 20230101--成都--100--0.55----- …...

【观察】打造以AI为导向的基础设施,联想锚定AI算力“主航道”

毫无疑问&#xff0c;人工智能对人类社会来说并不是一项简单的技术革命&#xff0c;它象征着一个时代的到来&#xff0c;如同工业时代之于农业时代一样&#xff0c;会带来天翻地覆的变革&#xff0c;影响人类社会百年、甚至千年的进程。 而AI算力对于推动人工智能应用的重要性毋…...

预防缓存穿透工具类

1. 前言 缓存穿透大家都知道&#xff0c;这里简单过一下 缓存和数据库中都没有的数据&#xff0c;而用户不断发起请求。比如查询id -1 的值 想着很多面向C端的查询接口&#xff0c;可能都需要做一下缓存操作&#xff0c;这里简单写了个自定义注解&#xff0c;将查询结果(包含…...

会员管理系统实战开发教程04-会员开卡

我们已经用3篇篇幅介绍了会员管理的功能&#xff0c;接着就要开发会员的业务。通常我们开通会员之后需要给会员开通会员卡&#xff0c;一个会员可以有多张会员卡。 在数据源设计的时候&#xff0c;像这种一个会员有多张会员卡的&#xff0c;我们称之为一对多的关系&#xff0c…...

数据结构(2)

冒泡排序&#xff1a; 1.比较相邻的两个元素。如果前一个元素比后一个元素大&#xff0c;则交换两者位置。 2.对每一对相邻元素做相同工作&#xff0c;从第一对元素到最后一对元素&#xff0c;最后的一个元素就是最大的元素。 for(int ia.length-1;i>0;i--){for (int j 0…...