随笔分类 -  数据结构与算法

摘要:Dijkstra algorithm用于算出带权的有向无环图中,从源点到其他节点的开销最小的路径。该算法包含4个步骤: 找出开销最低的节点 更新该节点的邻居的开销 重复1和2步骤,直到对图中的每个节点都遍历到 计算最终路径 例如,在下图所示的网络中,源点是u,想要计算出从u到其他节点的开销。 首先, 阅读全文
posted @ 2024-11-22 22:58 南风小斯 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1. 小数的二进制表示 以10.625为例。整数部分进行除2取余的操作,10的二进制为1010。小数部分进行乘2取整操作,直到小数部分为0或达到需要的精度: 0.625*2=1.25 取整数1,小数部分0.25继续计算 0.25*2=0.5 取整数0,小数部分0.5继续计算 0.5*2=1.0 取整 阅读全文
posted @ 2024-09-10 15:54 南风小斯 阅读(86) 评论(0) 推荐(0) 编辑
摘要:1.Non-uniform B-spline 上一篇中的B-spline是均匀的uniform,因为每一段Bezier Curve的traverse time都是一样的。那么non-uniform B-spline就是Bezier Curve的traverse time不一样,即表现为knot ve 阅读全文
posted @ 2024-01-29 17:31 南风小斯 阅读(96) 评论(0) 推荐(0) 编辑
摘要:1.什么是B-spline Bezier Curve的缺点主要是: nonlocality,移动一个控制点会影响整条曲线 高阶曲线,曲线离控制点很远 对此,可以把N条Bezier Curve组合起来。如下图所示,是两条3次Bezier Curve在D点连接而得。 此时,该曲线是一条C0曲线,共 阅读全文
posted @ 2024-01-27 15:34 南风小斯 阅读(133) 评论(0) 推荐(0) 编辑
摘要:1.什么是Bezier Curve 下文通过例子说明什么是Bezier Curve。如下图所示,给定4个控制点,A=(0,0), B=(2,3), C=(4,3), D=(5,0)。 点E,F,G分别为线段AB,线段BC和线段CD上的动点,满足: $$ t_1=\frac{AE}{AB}=\frac 阅读全文
posted @ 2024-01-26 20:41 南风小斯 阅读(120) 评论(0) 推荐(0) 编辑
摘要:写在前面:最开始了解中缀表达式和后缀表达式是在leetcode刷题刷到的。当时其实并没有深入想过这个有什么用,只是单纯的把题做出来而已。后来读了吴军的《计算之魂》里面P82提到了:“在很多大学计算机系的编程课或数据结构课中,初学者会被要求使用堆栈实现一个简单的计算器“。并大概在书中讲解了一下堆栈在这 阅读全文
posted @ 2022-09-17 19:37 南风小斯 阅读(345) 评论(2) 推荐(0) 编辑
摘要:1.二叉树的类定义 2.二叉树的基本性质 3.遍历二叉树 3.1前序遍历 3.2中序遍历 3.3后序遍历 3.4层次遍历 4.二叉树的应用 4.1二叉搜索树 4.2平衡二叉树 4.3红黑树 4.4线段树 4.5堆 5.参考文献 1.二叉树的类定义 如图1.1所示,二叉树就是一个节点只有一个值,并且最 阅读全文
posted @ 2022-05-23 20:26 南风小斯 阅读(664) 评论(0) 推荐(0) 编辑
摘要:链表的类通常表示如下: public class ListNode { public int val; public ListNode next; public ListNode(int val, ListNode next=null) { this.val = val; this.next = n 阅读全文
posted @ 2021-05-22 09:50 南风小斯 阅读(57) 评论(0) 推荐(0) 编辑
摘要:3rd S-curve (1) (2) (3) (4) 完整的三次S曲线包括上面的七个阶段。前面三个阶段为加速阶段,从初始速度Vs加速到Vmax: (5) 整个加速阶段的位移为: (6) 后面三个阶段为减速阶段: (7) (8) 也可以看作为反向加速阶段,即速度从最终速度Ve加速到Vmax: (9) 阅读全文
posted @ 2019-10-19 23:04 南风小斯 阅读(924) 评论(0) 推荐(0) 编辑
摘要:1.选择排序 selection sort 2.插入排序 insertion sort 3.希尔排序 shell sort 4.归并排序 merge sort 5.快速排序 quick sort 6.基数排序 radix sort 1.选择排序 selection sort 每次遍历整个数组,选出其 阅读全文
posted @ 2019-03-31 15:31 南风小斯 阅读(1273) 评论(0) 推荐(0) 编辑
摘要:从开始自学写代码开始,就感觉递归是个特别美丽的算法。 “如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易理解。如何选择要看什么对你来说更重要。” 编写递归函数时,必须告诉它何时停止递归。因此,每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case 阅读全文
posted @ 2019-03-31 15:04 南风小斯 阅读(216) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示