文章
25
标签
1
分类
5
首页
归档
分类
标签
收藏
图书
影视
游戏
音乐
文档
写作规范
更新日志
opensrv.cloud
搜索算法
返回首页
搜索
首页
归档
分类
标签
收藏
图书
影视
游戏
音乐
文档
写作规范
更新日志
搜索算法
发表于
2026-09-01
|
更新于
2026-09-01
|
算法原理
|
总字数:
0
|
阅读时长:
1分钟
|
浏览量:
上一篇
国际象棋
快速阅读 记录上学时做过的一个国际象棋软件。 功能概述 玩家对战:玩家之间轮流控制各自的棋子,吃掉对方的王获得胜利。合法的落点高亮,不合法的落点不对鼠标做出响应。 人机对战:玩家通过鼠标控制自己的棋子,AI通过搜索算法获得将要移动的棋子及移动的目标位置。AI走棋没有控制阶段但设置了完整的过渡动画。 控制面板:控制面板能够修改游戏模式、重置游戏进度、调整AI难度。 特殊规则: 兵的升变:本方任何一个兵直进达到对方底线时,即可升变为除 “王” 和 “兵” 以外的任何一种棋子。 王车易位:这是国际象棋中比较特殊的行棋规则,车和王在一些情况下可以互换位置。 吃过路兵:如果对方的兵第一次行棋且直进两格,刚好形成本方有兵与其横向紧贴并列,则本方的兵可以立即斜进,把对方的兵吃掉,并视为一步棋。 核心节点 搜索算法 deepSearch(depth, chessBoard, AIRound, parentIndex) depth 代表搜索的深度,每次递归 -1。 chessBoard 是搜索算法需要用到的棋盘数组。 AIRound 用来判断此轮搜索是否为 AI 走棋,若为AI走棋则遍...
下一篇
排序算法
冒泡排序 冒泡排序(Bubble Sort)是一种 交换类 的基础排序算法,重复遍历待排序数组,依次 比较相邻两个元素,若顺序错误则交换二者,每一轮遍历都会将当前 未排序部分 中最大(或最小)的元素 “冒泡” 到末尾。 交换类排序算法通过 比较并交换元素位置 来实现排序,主要操作是相邻或远距离的元素互换。 典型算法 冒泡排序:相邻元素两两比较,大值逐轮"冒泡"到末尾。 快速排序:选定基准值,通过交换将序列分为左右两部分,递归处理。 核心思想 冒泡排序的核心思想是 相邻元素两两比较,通过不断交换将最值逐位后移。 每一轮从前往后遍历,比较每一对相邻元素,若前者大于后者则交换。这个过程中,较大的元素就像气泡一样,一步步 “冒泡” 到当前未排序区间的末尾。 每完成一轮,末尾就多一个已排好的最大值,下一轮比较范围缩短一位,若某轮无交换则提前结束。 实现过程 以升序排序为例: 进行一轮循环,每次循环都找到 未排序部分 的最大元素并交换到末尾,只需要查找 n-1 次就能完成排序(最后一个元素不需要排序)。 123for (let i = 0; i < n - 1...
评论
Gitalk
Giscus
_Ryna
文章
25
标签
1
分类
5
GitHub
系列文章
排序算法
2026-09-05
搜索算法
2026-09-01
最新文章
存储机制
2026-10-24
缓存机制
2026-10-22
HTTP 版本
2026-10-19
HTTP 状态码
2026-10-15
HTTP 请求
2026-10-10
HTTP 消息
2026-10-01
繁
搜索
数据加载中