Windows下MySQL与Navicat安装配置及建库建表全攻略

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

最近很多小伙伴在后台留言,说自己在 Windows 上装 MySQL 和 Navicat 时总是卡住,要么是初始化失败,要么是连接不上,要么是下载到了来路不明的“全家桶”安装包。网上搜到的教程要么太老,界面早就对不上;要么东拼西凑,关键步骤直接跳过。所以这篇文章整理了一份 2026 年最新的实操笔记,从 MySQL 下载安装、环境变量配置、命令行初始化,到 Navicat 下载安装、连接 MySQL、基础建库建表,全部走一遍完整流程,每一步都截图说明思路和原因,新手小白也能照着一步步搞定。

需要提前说明的是,软件安装属于实操性很强的内容,不同版本的安装界面和配置项会有些差异,本文以当前主流版本为例,重点演示完整的配置思路和踩坑排查方法。如果你能顺利装完并连上 MySQL,那么后续学习 SQL、开发项目、做数据分析都会顺手很多。

1. 背景与核心概念

1.1 什么是 MySQL

MySQL 是目前全球使用最广泛的开源关系型数据库管理系统之一。它使用结构化查询语言(SQL)来管理数据,支持多用户并发访问,具备事务、索引、视图、存储过程等完整功能。无论是个人学习、毕业设计,还是企业级 Web 应用,MySQL 都是后端开发中最常见的存储方案。

把它理解成一个“电子仓库”可能更直观:

  • 仓库里有多个库(Database),相当于不同的项目空间。
  • 每个库里有多张表(Table),相当于带格子的货架。
  • 每张表由行(记录)和列(字段)组成,相当于货架上按固定分类摆放的数据。

后端程序、运维脚本、数据分析工具,都需要先连接到这个“仓库”,才能对数据进行增删改查。而 Navicat 就是帮你可视化操作这个“仓库”的图形化客户端。

1.2 什么是 Navicat

Navicat 是一款专业的数据库管理工具,支持连接 MySQL、MariaDB、Oracle、PostgreSQL、SQL Server 等多种数据库。它提供了直观的图形界面,让你不需要在命令行里苦敲 SQL,也能完成建库、建表、查询、数据导入导出、备份恢复、定时同步等操作。

但要注意,Navicat 是商业软件,官方提供 14 天全功能试用。试用期过后如果觉得好用,需要购买正版授权。网上流传的所谓“破解版”“注册码生成器”存在较大的安全风险,常见后果包括:

  • 安装包被捆绑木马、挖矿程序或广告后门。
  • 注册机运行时窃取剪贴板中的密码、数据库连接信息。
  • 激活补丁修改系统文件,导致杀毒软件报警或系统不稳定。
  • 使用盗版工具进行企业项目开发,存在法律风险。

因此本文的“激活”思路,建议优先使用官方试用期结合个人学习需求,或购买正版授权。如果是学生学习,可以关注官方教育优惠;如果是个人开发者,可以选择功能足够用的社区版工具替代,例如 DBeaver、MySQL Workbench、TablePlus 等。正规渠道永远比来路不明的破解工具更安全。

1.3 为什么需要这套环境

很多编程教程默认读者已经装好了数据库环境,但真实情况往往是新手卡在第一步。MySQL 和 Navicat 的组合,能让你跳过命令行门槛,快速上手数据库设计、SQL 编写、数据排查等工作,这也是后端开发、数据分析、测试运维人员的基本功。

掌握这套环境后,你可以:

  • 本地开发时,创建独立的数据库和用户。
  • 可视化设计表结构,免写复杂的建表语句。
  • 调试 SQL,观察执行结果和性能。
  • 导入导出测试数据,方便项目联调。
  • 配合 Spring Boot、Python、Node.js 等项目使用。

2. 环境准备与版本说明

在正式开始之前,先确认一下本文使用的环境,以及你本机需要准备的条件。

2.1 安装环境的常规要求

环境项 建议要求 说明
操作系统 Windows 10 / Windows 11 64 位 macOS 和 Linux 安装思路类似,但命令和路径不同,本文以 Windows 为主
内存 8GB 及以上 4GB 也能跑,但建议关闭其他大型软件
磁盘空间 至少 5GB 可用空间 MySQL 和 Navicat 安装包加数据文件占用不大,但后续创建数据库需要空间
管理员权限 安装 MySQL 和配置环境变量时,可能需要管理员权限
网络 能访问官方下载站点 下载安装包需要联网

2.2 版本选择说明

很多新手会在版本选择上纠结很久,其实大可不必。

  • MySQL 目前主流版本是 8.x,社区版(Community Server)完全免费,功能足以满足学习和开发需求。商业版和企业版需要付费,但本教程用不到。
  • Navicat 目前更新到 17 系列,界面和功能相比老版本变化不大,核心操作逻辑相同。本文重点演示 Navicat Premium,因为一个工具可以同时管理多种数据库。
  • 如果你的电脑上已经安装了旧版本 MySQL,建议先卸载干净再装新版本,否则容易出现端口占用、服务启动失败等奇怪问题。

安装包的下载,建议只从官网或可信的镜像站获取。MySQL 官网下载地址是 https://dev.mysql.com/downloads/installer/ ,Navicat 官网下载地址是 https://www.navicat.com.cn/download/navicat-premium 。由于软件版本更新周期较快,本文不会写死某个具体版本号,重点演示安装配置的通用思路。

3. MySQL 下载与安装详解

3.1 进入 MySQL 官方下载页面

打开浏览器访问 MySQL 官方下载地址:

https://dev.mysql.com/downloads/installer/

页面会提供两种安装器:

  • mysql-installer-community-*.msi :在线安装器,体积小,安装时按需下载组件。
  • mysql-installer-web-community-*.msi :离线完整安装包,体积大,适合内网或网络不稳定环境。

对于新手,推荐选择完整离线安装包,省去安装过程中网络中断的烦恼。下载时需要选择登录 Oracle 账号或直接点击 “No thanks, just start my download.” 跳过登录。

3.2 选择安装类型

双击下载好的 .msi 文件,如果弹出用户账户控制提示,点击“是”继续。来到安装类型选择页面,常见的选项有:

  • Developer Default :开发者默认安装,包含 MySQL Server、MySQL Shell、MySQL Workbench、Sample Databases 等常用组件,适合大多数场景。
  • Server only :只安装数据库服务端,适合只需要数据库功能的用户。
  • Custom :自定义选择组件,适合对安装体积有要求的高级用户。

新手直接选 Developer Default ,但是要注意,如果电脑上已经安装了其他版本的 MySQL 或者依赖组件,安装器可能会提示兼容性问题,按提示处理即可。

3.3 检查依赖并执行安装

如果你的电脑缺少 Visual C++ Redistributable 等运行库,安装器会先自动安装所需依赖。点击 Execute 执行安装,这个过程需要保持网络畅通。

依赖就绪后,进入 MySQL Server 组件勾选页面,保持默认勾选,点击 Next ,再点击 Execute 开始安装 MySQL Server 和其他组件。安装过程约几分钟,视电脑性能而定。

安装完成后,安装器会进入配置阶段,这是非常关键的一步。

3.4 MySQL 服务配置

配置步骤较多,但只需要关注几个核心选项。

第一步是 High Availability,这个选项默认即可。 Standalone MySQL Server / Classic MySQL Replication 表示独立模式,适合学习和开发环境。

第二步是 Type and Networking,这里有几个关键配置:

  • Config Type :选择 Development Machine ,适用于个人开发机,占用的内存资源较少。
  • Port :默认 3306 ,除非你的 3306 端口已经被占用,否则不要修改。
  • X Protocol Port :默认 33060
  • 勾选 Open Windows Firewall ports for network access ,这样其他设备才能访问你的数据库端口,如果只是本机使用,也可以不勾选。

第三步是 Authentication Method,推荐选择第一项:

Use Strong Password Encryption for Authentication (RECOMMENDED)

这是 MySQL 8.x 默认推荐的身份认证方式,安全性更高。除非你的旧项目必须兼容老式客户端,否则保持默认即可。

第四步是 Accounts and Roles,这里需要设置 MySQL root 用户的密码。 root 是 MySQL 的超级管理员账号,密码一定要记住,并且设置得复杂一些。建议密码包含大小写字母、数字和特殊符号,不要使用 123456、admin 这类弱口令。

第五步是 Windows Service,保持默认即可。MySQL 会注册为 Windows 服务,开机自动启动。服务名为 MySQL80 (不同版本名称略有差异),后续可以在 Windows 服务管理器里查看和启动。

第六步是 Plugins and Extensions,保持默认。点击 Next

最后点击 Execute 执行配置,再点击 Finish 完成安装。到这里 MySQL 就已经装好了。

3.5 验证 MySQL 服务

安装完成后,按 Win + R 打开运行窗口,输入 services.msc 回车,打开服务管理器,找到 MySQL 服务,确认状态为“正在运行”。如果服务没有启动,右键点击选择“启动”。

也可以在命令行中验证:

mysql --version

如果输出类似 mysql Ver 8.x.x for Win64 on x86_64 ... 的信息,说明 MySQL 客户端已正常安装。

如果需要手动停止或启动服务,可以用管理员权限的命令行执行:

net stop mysql
net start mysql

不同版本的 service 名称不完全相同,请先确认 services.msc 中显示的名称。

4. MySQL 环境变量配置

4.1 为什么要配置环境变量

MySQL 安装完成后,命令行输入 mysql 命令时,系统需要找到 mysql.exe 的位置。如果不配置环境变量,你每次都需要输入完整的路径,例如:

C:\Program Files\MySQL\MySQL Server 8.x\bin\mysql -u root -p

配置 PATH 环境变量后,系统会在这些目录中自动查找可执行文件,在任何目录下都能直接运行 mysql 命令。

4.2 配置步骤

右键“此电脑” → 选择“属性” → 点击“高级系统设置” → 点击“环境变量”。

在“系统变量”区域找到 Path ,选中点击“编辑”,然后点击“新建”,把 MySQL 的 bin 目录添加进去。默认安装路径通常是:

C:\Program Files\MySQL\MySQL Server 8.x\bin

如果你在安装时没有修改安装位置,上面这个路径中的 8.x 要替换成你实际的版本号,例如:

C:\Program Files\MySQL\MySQL Server 8.0\bin

添加完成后,连续点击“确定”保存所有窗口。然后重新打开一个命令行窗口,输入:

mysql -u root -p

按回车后输入刚才设置的 root 密码,如果能够进入 mysql> 提示符,说明环境变量配置成功。输入 exit; 可退出。

4.3 如果命令提示无法识别

如果输入 mysql 后提示“不是内部或外部命令”,检查两点:

  • 环境变量路径是否填写正确,尤其是 bin 目录是否存在。
  • 是否重新打开了命令行窗口,环境变量修改后,已打开的窗口不会自动生效。

5. Navicat 下载与安装详解

5.1 下载 Navicat Premium

Navicat 官网提供 Windows、macOS、Linux 三个平台的安装包。访问中文官网:

https://www.navicat.com.cn/download/navicat-premium

选择对应系统的安装包下载。Navicat Premium 是功能最全的版本,支持多种数据库,推荐使用。如果是学生,可以去官网查看教育版申请渠道,不符合教育优惠条件的话,也可以先用官方试用。

5.2 安装 Navicat

下载完成后,双击安装包,进入安装向导。安装过程比较简单,主要是选择安装位置和组件。值得注意的两个地方:

  • 安装路径建议不要放在 C 盘系统盘,可以改成 D:\Navicat 或其他自定义目录。
  • 勾选桌面快捷方式,方便后续快速启动。

点击“下一步”直到完成安装,桌面会生成 Navicat Premium 图标。

5.3 关于试用与激活的正确认知

第一次打开 Navicat,会提示有 14 天试用期。不要急着在网上找“注册码生成器”或“破解补丁”,因为这些工具的安全风险非常高。更合适的做法是:

  • 先正常试用,验证软件确实满足你的需求。
  • 学习阶段可以使用官方试用版,到期后卸载或更换备选工具。
  • 工作或常用的话,购买正版授权,支持开发者持续维护。
  • 预算有限的话,可以使用 MySQL Workbench、DBeaver 等免费工具,功能差异并没有想象中那么大。

如果你需要长期使用且不想付费,免费开源的 DBeaver 是完全值得尝试的替代方案,它可以连接 MySQL、PostgreSQL、SQLite、Oracle、SQL Server 等常见数据库,界面也很现代,Community 版免费无功能限制。

6. 使用 Navicat 连接 MySQL

6.1 新建连接

打开 Navicat Premium,点击左上角的“连接”按钮,选择“MySQL”。弹出连接信息窗口,需要填写以下内容:

配置项 填写内容
连接名 自定义,例如 local_mysql
主机 localhost 或 127.0.0.1
端口 3306(保持默认)
用户名 root
密码 安装 MySQL 时设置的 root 密码

如果是在服务器上连接远程 MySQL,主机需要填写服务器 IP 或域名,并确保服务器防火墙和 MySQL 远程访问权限已经开放。但本地学习阶段,使用默认值即可。

填写完成后,可以先点击“测试连接”,如果弹出“连接成功”,说明所有配置没有问题,点击“确定”保存连接。

6.2 连接失败的常见原因

连接失败时,Navicat 会给出具体错误信息,常见的有:

  • Access denied for user 'root'@'localhost' (using password: YES) :密码错误,检查你的密码。
  • Can't connect to MySQL server on 'localhost' (10061) :MySQL 服务未启动,去服务管理器中启动 MySQL 服务。
  • Unknown database :连接设置中指定了不存在的数据库名称。
  • Communications link failure :网络不通或端口被防火墙拦截。

逐一排查即可。对于新手,90% 的情况是 MySQL 服务没启动或者密码填错。

6.3 连接后的界面认识

连接成功后,左侧会出现一个数据库连接,展开后可以看到多个系统数据库,包括 information_schema mysql performance_schema sys 。这些系统库是 MySQL 自己用来管理元数据、权限、性能信息的,新手不要随意修改。

我们自己的业务数据要存放在新建的用户数据库中。

7. 数据库与表的入门实战

7.1 创建数据库

右键点击连接名,选择“新建数据库”。

  • 数据库名称:输入 demo_db
  • 字符集:选择 utf8mb4
  • 排序规则:选择 utf8mb4_general_ci utf8mb4_unicode_ci

为什么要选 utf8mb4 ?因为 MySQL 8.x 默认字符集就是 utf8mb4 ,它支持存储表情符号和所有 Unicode 字符,兼容性最好。老项目可能使用 latin1 utf8 ,新建项目建议直接使用 utf8mb4

点击“确定”完成创建。

7.2 创建数据表

打开 demo_db ,右键“表”,选择“新建表”。在表设计器中,添加以下字段:

字段名 类型 长度 允许为空 说明
id INT 11 主键 自增主键
username VARCHAR 50 用户名
email VARCHAR 100 邮箱
created_at DATETIME - 创建时间

字段设计需要注意类型各自有各自的语义:

  • INT 用于整数, id 作为主键,通常勾选“自动递增”,让数据库自动生成唯一编号。
  • VARCHAR 用于可变长度字符串,需要指定最大长度, username VARCHAR(50) 表示最多存储 50 个字符。
  • DATETIME 用于日期时间类型,适合记录注册时间、订单时间等。

填写完成后,点击“保存”,输入表名 user ,点击“确定”。

此时左侧能看到 user 表,双击表名可以打开表数据查看页面。

7.3 插入和查询数据

点击表上方的“新建”按钮,输入一行数据。例如:

id username email created_at
1 zhangsan zhangsan@example.com 2026-01-01 10:00:00

输入完成后点击刷新,表格中即可看到插入的数据。Navicat 会自动生成对应的 SQL 语句,你可以在查询编辑器中查看实际执行的 SQL:

INSERT INTO user (id, username, email, created_at) VALUES (1, 'zhangsan', 'zhangsan@example.com', '2026-01-01 10:00:00');

如果你想手动写 SQL,可以点击“查询” → “新建查询”,在编辑器中输入:

SELECT id, username, email, created_at
FROM user;

点击“运行”按钮,下方结果区域会显示所有记录。这是数据库学习中最基本、也是最常用的查询语句。

7.4 删除与更新操作的安全提示

很多新手学到 UPDATE 和 DELETE 时容易踩坑。这里必须强调两条安全原则:

  • 执行 UPDATE 或 DELETE 时,务必写 WHERE 条件,否则会操作整张表的全部记录。
  • 在生产环境执行这些操作之前,一定要先备份数据,最好先在测试库中验证。

Navicat 提供了查询结果的可视化操作方式,但手动写 SQL 时,容易遗漏 WHERE。例如:

-- 错误示范:会清空整张表
DELETE FROM user;

-- 正确示范:只删除 id 为 1 的用户
DELETE FROM user WHERE id = 1;
-- 错误示范:会把所有用户密码都改掉
UPDATE user SET email = 'test@example.com';

-- 正确示范:只更新指定用户
UPDATE user SET email = 'test@example.com' WHERE id = 1;

这个习惯一定要从入门阶段就养成。

8. 常见问题与排查思路

安装配置过程中,几乎每个人都会遇到几个报错。下面把高频问题整理成表格,方便对照排查。

问题现象 常见原因 解决思路
安装 MySQL 时提示缺少 Visual C++ Redistributable 系统缺少运行库 从微软官网下载并安装对应运行库后重试
MySQL 初始化失败或报错 之前残留旧版本数据 彻底卸载旧版本,删除 MySQL 数据目录
服务启动失败 端口 3306 被占用 使用 netstat -ano 查看占用进程,释放端口或修改 MySQL 端口
命令行输入 mysql 提示不是内部或外部命令 环境变量未配置 检查 Path 中是否包含 MySQL bin 目录
Navicat 连接提示 Access denied 用户名或密码错误 确认 root 用户密码,或使用授权过的账号
Navicat 连接提示 10061 MySQL 服务未启动 在服务管理器中启动 MySQL 服务
root 密码忘记 密码遗忘或未记录 使用 mysqld --skip-grant-tables 方式重置,操作复杂但可行
连接远程 MySQL 失败 远程访问未授权或防火墙拦截 执行授权 SQL 并放行 3306 端口

其中 Access denied 10061 是出现频率最高的两个问题,新手不需要死记硬背,遇到时按表格中的思路排查即可。

另外提醒一点,如果安装了多个版本的 MySQL,可能会同时注册多个服务,服务名不同,例如 MySQL80 MySQL57 。如果端口冲突,启动时会有明确报错,这时需要确认哪个服务占用了 3306 端口。

9. 最佳实践与工程建议

工具装好了并不代表万事大吉,日常使用中建议从一开始就养成一些好习惯,这对以后工作帮助很大。

9.1 MySQL 方面的建议

  • 账号权限最小化 :不要所有项目都用 root 连接数据库。建议为每个项目单独创建用户,只授予该项目所需库的权限。例如:
CREATE USER 'demo_user'@'localhost' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON demo_db.* TO 'demo_user'@'localhost';
FLUSH PRIVILEGES;

这一步可能对新手来说稍显复杂,但能避免多个项目互相干扰,也能降低误操作的风险。

  • 定期备份 :开发阶段至少每周备份一次数据。Navicat 中右键点击数据库,选择“转储 SQL 文件”,可以备份结构和数据。备份文件建议单独存放。

  • 不要在代码中硬编码密码 :连接数据库的密码不要直接写在项目源码里,应放到环境变量或配置中心。

  • 了解事务 :涉及订单、资金等敏感数据时,使用事务保证数据一致性。InnoDB 引擎支持事务,建表时默认引擎就是 InnoDB,不要随意改成 MyISAM。

9.2 Navicat 使用建议

  • 给连接取一个有意义的名称,例如 dev-local-mysql prod-server-mysql ,避免连接一多就分不清。
  • 维护好索引。Navicat 可以可视化添加索引,但要注意不是所有字段都需要索引,索引过多会影响写入性能。
  • 导入导出数据时,先确认目标数据库字符集为 utf8mb4 ,否则容易出现中文乱码。
  • 养成用事务的习惯。Navicat 查询编辑器底部有提交和回滚按钮,执行多条写操作后,先查看结果,确认无误再提交。

9.3 从安装到日常使用的安全提醒

MySQL 默认允许 root 用户从 localhost 登录,如果 MySQL 部署在云服务器上,千万不要把 root 密码设置成弱口令,也不要直接开放 root 远程登录。正确做法是:

  1. 创建专用业务账号。
  2. 仅授权必要的数据库。
  3. 通过防火墙限制可访问的 IP 来源。
  4. 定期修改密码并记录在密码管理器中。

如果确实需要开启远程访问,务必在配置文件或防火墙层面限制来源 IP,而不是对全网开放。

10. 总结与下一步学习路线

到这里,MySQL 和 Navicat 的完整安装、配置、连接、建库、建表、基本增删改查流程就全部走了一遍。回顾一下关键点:

  • MySQL 是免费开源的数据库服务端,安装时重点记住 root 密码、端口 3306、服务启动方式。
  • Navicat 是图形化管理工具,官方试用版足够入门学习,不建议使用来路不明的破解工具。
  • 环境变量配置能让你在任意地方直接使用 mysql 命令。
  • Navicat 连接 MySQL 时,报错优先检查服务是否启动、密码是否正确。
  • 建库时选择 utf8mb4 字符集,表设计要明确字段类型和主键。
  • 执行 UPDATE 和 DELETE 时必须写 WHERE 条件,生产环境操作前必须备份。

如果你已经顺利完成了以上操作,下一步建议按这个顺序继续学习:

  1. SQL 基础语法:SELECT、WHERE、ORDER BY、GROUP BY、JOIN。
  2. MySQL 进阶:索引原理、事务隔离级别、存储引擎对比。
  3. 数据库设计:三范式、反范式、表关系设计。
  4. 结合编程语言:Python + PyMySQL / Java + MyBatis / Node.js + mysql2。
  5. 数据备份与恢复:mysqldump、binlog 日志。

数据库是一门需要大量动手实践的技术,光看教程永远不够。建议你建立一张属于自己的表,多插入几条数据,反复执行查询和更新语句,熟练之后再去学习索引和性能优化,会轻松很多。

如果在安装或连接过程中还有其他问题,欢迎在评论区留言,把完整的报错信息发出来,方便快速定位问题。

新学期领福利!购实物周边送年卡会员! T恤、键盘、双肩包等周边任选!还能解锁资源下载、VIP文章等多重会员权益! 阅读详情

相关推荐

ACM中常用算法----字符串

ACM中常用算法—-字符串ACM中常用的字符串算法不多,主要有以下几种: Hash 字典树 KMP AC自动机 manacher 后缀数组 EX_KMP SAM(后缀自动机) 回文串自动机 下面来分别介绍一下:0. Hash字符串的hash是最简单也最常用的算法,通过某种hash函数将不同的字符串分别对应到不同的数字.进而配合其他数据结构或STL可以做到判重,统计,查询等操作. #### 字符串的h

码代码的猿猿 8362

字符串的各种算法

之前想写多项式的各种算法,然后被FFT多项式求逆打自闭了。 临涕零,不知所言。 就按我学的顺序来吧。 manacharmanacharmanachar 可求出对于每个点iii,以iii为中心的最长回文串的右端点到i的总字符数lc[i]lc[i]lc[i](即i+lc[i]−1i+lc[i]-1i+lc[i]−1为最长回文串的右端点)。 如果在字符串每两个字符间插入一个∗*∗字符,那么也可...

Freopen的博客 653

U3D中的常用字符串加密算法程序

此处共有三段加密算法程序,分别是OBFS、SHA512和MD5,参考姜雪伟的《Unity3D 实战核心技术详解》一书中的代码,此处和大家分享。 //OBFS加密算法 private static string OBFS(string str) { int length = str.Length; var arrayNow = new ch...

zqckzqck的专栏 733

算法竞赛字符串常用操作大全

算法竞赛字符串常用操作大全

寸铁的博客 1476

常用字符串hash算法

以前学习的hash时一带而过,真正实践的时候才感受到hash的魅力。HDOJ1800可作为练习

zhangmh93425的专栏 923

字符串匹配常用算法

字符串匹配(string match)是在实际工程中经常会碰到的问题,通常其输入是原字符串(String)和子串(又称模式,Pattern)组成,输出为子串在原字符串中的首次出现的位置。通常精确的字符串搜索算法包括暴力搜索(Brute force),KMP, BM(Boyer Moore), sunday, robin-karp 以及 bitap。下面分析这几种方法并给出其实现。假设原字符串长度M,字串长度为N。1. Brute force.该方法又称暴力搜索,也是最容易想到的方法。预处理时间 O(0)匹配

meixr的专栏 7531

字符串常用算法推荐

ACM中常用算法—-字符串 点击打开链接   【常用算法思路分析系列】字符串高频题集 点击打开链接 常用字符串算法 点击打开链接

qq_37164003的博客 421

ACM中字符串题常用算法

转自http://blog.csdn.net/ck_boss/article/details/47066727 ACM中常用算法—-字符串 ACM中常用的字符串算法不多,主要有以下几种: Hash字典树KMPAC自动机manacher后缀数组EX_KMPSAM(后缀自动机)回文串自动机 下面来分别介绍一下: 0. Hash 字符串的hash是最简单也最常用的算法,通过某种has

oliver233的博客 5082

常用字符串算法

常用字符串算法 简介 字符串的处理几乎无处不在,常用的字符串算法有KMP、扩展KMP、Trie树、AC自动机、Manacher、哈希、SA、SAM等。 Knuth-Morris-Pratt 算法 给你两个字符串AB,询问B串是否是A串的子串(A串是否包含B串)。 可以枚举从A串的什么位置起开始B匹配,然后验证是否匹配。假如A串长...

weixin_34395205的博客 241

常用字符串匹配算法

1)暴力法O(m+n) 2)KMP、Boyer_Mooer、Rabin_Rarp 暴力法 int strStr(String haystack, String needle){ if ( needle.empty() ) return 0; if ( haystack.size() < needle.size() ) return -1; ...

weixin_33962621的博客 178

字符串常用算法总结

1.manacher算法 马拉车算法,在O(n)时间内解决寻找源字符串的最长回文子串S的问题的算法。朴素算法情况下对于每一个S[i]都要左右遍历其最大回文子串,所以时间复杂度是O(n2)。 参考博客: https://www.cnblogs.com/czsharecode/p/9705358.html https://www.cnblogs.com/yangxingsha/p/11722557.html(有错误,“从左往右计算数组P[ ], Mi为之前取得最大回文串的中心位置,而R是最大回文串能到达

hzaukotete的博客 558

ACM中常用算法—-字符串

ACM中常用的字符串算法不多,主要有以下几种: Hash字典树KMPAC自动机manacher后缀数组EX_KMPSAM(后缀自动机)回文串自动机 下面来分别介绍一下: 0. Hash 字符串的hash是最简单也最常用的算法,通过某种hash函数将不同的字符串分别对应到不同的数字.进而配合其他数据结构或STL可以做到判重,统计,查询等操作. #### 字符串的hash

mosquito_zm的博客 802

[数据结构拾遗]子字符串匹配常用算法总结

前言 新开专栏【数据结构拾遗】 本专栏旨在快速了解常见的数据结构和算法。在需要使用到相应算法时,能够帮助你回忆出常用的实现方案并且知晓其优缺点和适用环境。 参考 算法(第四版):第五章5.3小节 www.ruanyifeng.com/blog/2013/0… www.cnblogs.com/gaochundong… www.ruanyifeng.com/blog/2013/0… 子字符串匹配...

weixin_33698043的博客 316

几种常用字符串算法

去年写的,已经发霉,出来晾一晾…KMP模式串P在母串S上的匹配。#define M 100000 int pre[M], n, m; void set(string p) { memset(pre, 0, sizeof(pre)); pre[0] = -1; int m = p.length(); for(int i = 1;i < m;i++) {

Ugly Gardon 5027

常用字符串搜索算法介绍

常用字符串搜索算法介绍 字符串搜索或匹配是经常用到的技术,因此也发展了多个算法,介绍几个著名的算法。 1.单模式匹配 就是在一些文本中查找某一个子字符串算法,效率较高的有以下几种。 KMP算法:全称Knuth-Morris-Pratt算法 预处理时间Θ(m) 匹配搜索时间 Θ(n) BM算法:全称Boyer-Moore string search algorithm 预处理时间Θ(m ...

weixin_30772261的博客 133

JS算法题中常用的数组对象方法以及字符串对象方法

JS算法题中常用的数组对象方法以及字符串对象方法

qq_43057018的博客 615
上一篇: C++日志库spdlog实战:集成、异步日志与滚动文件配置详解
下一篇: Linux下管理腾龙镜头:开源CLI工具实现固件更新与参数调校
weixin_30411819
博客等级 码龄11年 137粉丝 1392原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值