![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 95
柯西的彷徨
道阻且长,行则将至。
展开
-
算法学习——A*搜索算法
算法学习——A*搜索算法1 A*算法基本原理1.1 估计函数1.2 列表与节点1.3 算法流程A*算法适用于静态图搜索。1 A*算法基本原理1.1 估计函数f(i)=g(i)+h(i)f(i) = g(i) + h(i)f(i)=g(i)+h(i)f(i)f(i)f(i):当前节点的价值估值。g(i)g(i)g(i):起始点至当前节点的距离(已经付出的代价)。点在网格可以上下左右移动,一般取横向和纵向移动代价为10,也可以斜方向运动,一般取对角线的移动代价为14(10210\sqrt{2}1原创 2021-11-01 09:51:17 · 1951 阅读 · 1 评论 -
[003] [LeetCode刷题记录] 232-用栈实现队列
[LeetCode刷题记录]1 题目描述2 解题思路3 解题代码3.1 C语言实现1 题目描述LeetCode原题链接:232. 用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;原创 2021-12-31 01:03:20 · 3361 阅读 · 0 评论 -
[002] [LeetCode刷题记录] 225-用队列实现栈
[LeetCode刷题记录] 225-用队列实现栈1 题目描述2 解题思路3 解题代码3.1 C语言实现1 题目描述LeetCode原题链接:225. 用队列实现栈请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x)将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返原创 2021-12-31 00:37:04 · 494 阅读 · 0 评论 -
[001] [LeetCode刷题记录] 20-有效的括号
[LeetCode刷题记录] 20-有效的括号1 题目描述2 解题思路3 解题代码3.1 C语言实现1 题目描述LeetCode原题链接:20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。提示:1 <= s.length <= 10410^4104s 仅由括号 ‘()[]{}’ 组成2 解题思路用链栈存储字符,左括号原创 2021-12-30 23:32:17 · 443 阅读 · 0 评论