程序算法基础
文章平均质量分 79
卢小六
软件工程师,游戏开发者,多次创业人士。
展开
-
如何理解递归(一)
递归是程序运行时的一种现象,也是解决某些特定问题时较迭代算法来说更自然更优雅的代码组织方式。作为程序员工作了多年后,我发现一个能不能理解好递归,能不能用递归来解决问题是区分程序员和非程序员,甚至于区分好程序员和差程序员的试金石。很多人通过学习掌握了某些语言的语法,也能写一些代码,但是一遇递归就头大。我曾经也是经历过这样的一段时间,所以希望这篇文多少能对这样的人有点帮助。谈到递归,程序设计课程老师...原创 2018-10-14 11:36:54 · 23665 阅读 · 11 评论 -
如何实现一个简单的网络帧同步方案
在网络游戏中,网络同步方案大概有下面三种:状态同步,即state synchronization快照同步,即 snapshot synchronization帧同步,即lock step synchronization说帧同步,实际上这三种同步方案都是基于帧的同步,所以都可以说都是帧同步。但现在我们一般都把帧同步等同于lock step synchronization不知道是历史遗留问...原创 2019-06-16 21:00:50 · 2444 阅读 · 1 评论 -
二叉树的创建、插入和删除
二叉树的创建、插入和删除什么是二叉树我们把每个节点最多有两个子节点的树称为二叉树,即英文的Binary Tree。我们把这两个子节点分别叫做左子节点和右子节点。一般来说,二叉树的节点包括以下的内容:数据左子节点引用/指针右子节点引用/指针可以用以下的JavaScript代码表示二叉树的节点:class BinaryTreeNode { constructor(data, ...原创 2019-07-02 15:20:48 · 1961 阅读 · 0 评论